@@ -100,7 +100,12 @@ def _process_package(self, package):
100100 def _get_requires (self , package ):
101101 """Get the requirements of a package."""
102102 requires = []
103- replacements = str .maketrans ({" " : "" , "[" : "" , "]" : "" , "'" : "" , '"' : "" })
103+ replacements = str .maketrans ({" " : " " , "[" : "" , "]" : "" , "'" : "" , '"' : "" }) # space not ' or '
104+ further_replacements = ((' == ' , '==' ),('= ' , '=' ), (' !=' , '!=' ), (' ~=' , '~=' ),
105+ (' <' , '<' ),('< ' , '<' ), (' >' , '>' ), ('> ' , '>' ),
106+ ('; ' , ';' ), (' ;' , ';' ), ('( ' , '(' ),
107+ (' and (' ,' andZZZZZ(' ), (' (' , '(' ), (' andZZZZZ(' ,' and (' ))
108+
104109 if package .requires :
105110 for req in package .requires :
106111 # req_nameextra is "python-jose[cryptography]"
@@ -112,6 +117,8 @@ def _get_requires(self, package):
112117 req_key = normalize ((req_nameextra + "[" ).split ("[" )[0 ])
113118 req_key_extra = req_nameextra [len (req_key ) + 1 :].split ("]" )[0 ]
114119 req_version = req [len (req_nameextra ):].translate (replacements )
120+ for other in further_replacements : # before we stop this cosmetic...
121+ req_version = req_version .replace (* other )
115122 req_add = {
116123 "req_key" : req_key ,
117124 "req_version" : req_version ,
0 commit comments