1818)
1919from  wsgiref .simple_server  import  make_server , WSGIRequestHandler , WSGIServer 
2020
21- from  packaging .version  import  Version 
22- 
2321from  .openmetrics  import  exposition  as  openmetrics 
2422from  .registry  import  CollectorRegistry , REGISTRY 
25- from  .utils  import  floatToGoString 
23+ from  .utils  import  floatToGoString ,  parse_version 
2624
2725__all__  =  (
2826    'CONTENT_TYPE_LATEST' ,
@@ -346,7 +344,7 @@ def choose_encoder(accept_header: str) -> Tuple[Callable[[CollectorRegistry], by
346344            # mimetype. 
347345            if  not  version :
348346                return  (partial (openmetrics .generate_latest , escaping = openmetrics .UNDERSCORES , version = "1.0.0" ), openmetrics .CONTENT_TYPE_LATEST )
349-             if  version  and  Version (version ) >=  Version ( '1.0.0' ):
347+             if  version  and  parse_version (version ) >=  ( 1 ,  0 ,  0 ):
350348                return  (partial (openmetrics .generate_latest , escaping = escaping , version = version ),
351349                        f'application/openmetrics-text; version={ version }   +  str (escaping ))
352350        elif  accepted .split (';' )[0 ].strip () ==  'text/plain' :
@@ -355,7 +353,7 @@ def choose_encoder(accept_header: str) -> Tuple[Callable[[CollectorRegistry], by
355353            escaping  =  _get_escaping (toks )
356354            # Only return an escaping header if we have a good version and 
357355            # mimetype. 
358-             if  version  and  Version (version ) >=  Version ( '1.0.0' ):
356+             if  version  and  parse_version (version ) >=  ( 1 ,  0 ,  0 ):
359357                return  (partial (generate_latest , escaping = escaping ),
360358                        CONTENT_TYPE_LATEST  +  '; escaping='  +  str (escaping ))
361359    return  generate_latest , CONTENT_TYPE_PLAIN_0_0_4 
0 commit comments