File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2626
2727import string
2828from collections import namedtuple
29+ from collections .abc import Mapping
2930from typing import TYPE_CHECKING
3031from typing import Any
3132from typing import Union
@@ -226,12 +227,12 @@ def normalize_qualifiers(
226227
227228 if not encode :
228229 return qualifiers_map
229- return _qualifier_map_to_string (qualifiers_map )
230+ return _qualifier_map_to_string (qualifiers_map ) or None
230231
231232
232233def _qualifier_map_to_string (qualifiers : dict [str , str ]) -> str :
233234 qualifiers_list = [f"{ key } ={ value } " for key , value in qualifiers .items ()]
234- return "&" .join (qualifiers_list ) or None
235+ return "&" .join (qualifiers_list )
235236
236237
237238def normalize_subpath (subpath : AnyStr | None , encode : bool | None = True ) -> str | None :
@@ -428,15 +429,14 @@ def to_string(self, encode: bool | None = True) -> str:
428429
429430 if qualifiers :
430431 purl .append ("?" )
431- if not encode :
432+ if isinstance ( qualifiers , Mapping ) :
432433 qualifiers = _qualifier_map_to_string (qualifiers )
433434 purl .append (qualifiers )
434435
435436 if subpath :
436437 purl .append ("#" )
437438 purl .append (subpath )
438439
439- print (purl )
440440 return "" .join (purl )
441441
442442 @classmethod
You can’t perform that action at this time.
0 commit comments