File tree Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -82,6 +82,17 @@ class PypiReleaseDownload:
82
82
ReleaseDownload : TypeAlias = dict [str , Any ]
83
83
84
84
85
+ def _best_effort_version (version : VersionString ) -> packaging .version .Version :
86
+ try :
87
+ return packaging .version .Version (version )
88
+ except packaging .version .InvalidVersion :
89
+ # packaging.version.Version no longer parses legacy versions
90
+ try :
91
+ return packaging .version .Version (version .replace ("-" , "+" ))
92
+ except packaging .version .InvalidVersion :
93
+ return packaging .version .Version ("0" )
94
+
95
+
85
96
@dataclass
86
97
class PypiInfo :
87
98
distribution : str
@@ -104,7 +115,7 @@ def get_latest_release(self) -> PypiReleaseDownload:
104
115
return self .get_release (version = self .info ["version" ])
105
116
106
117
def releases_in_descending_order (self ) -> Iterator [PypiReleaseDownload ]:
107
- for version in sorted (self .releases , key = packaging . version . Version , reverse = True ):
118
+ for version in sorted (self .releases , key = _best_effort_version , reverse = True ):
108
119
yield self .get_release (version = version )
109
120
110
121
You can’t perform that action at this time.
0 commit comments