@@ -59,28 +59,28 @@ def process_file(self, path):
5959 for release in data .get ("releases" ) or []:
6060 # If it is of form "All releases prior to x"
6161 if "All releases prior" in release :
62- release = release .strip ()
63- release = release .split (" " )
62+ _ , _ , release = release .strip ().rpartition (" " )
6463 constraints .append (
65- VersionConstraint (version = SemverVersion (release [ 4 ] ), comparator = "<" )
64+ VersionConstraint (version = SemverVersion (release ), comparator = "<" )
6665 )
6766
6867 # Eg. 'All releases 1.5 and later'
6968 elif "All releases" in release and "and later" in release :
70- release = release .split ()[2 ].strip ()
69+ # remove All releases from string
70+ release = release .replace ("All releases" , "" ).strip ()
71+ # remove and later from string
72+ release = release .replace ("and later" , "" ).strip ()
73+ if not is_release (release ):
74+ continue
7175 constraints .append (
72- VersionConstraint (version = SemverVersion (release ), comparator = ">" )
76+ VersionConstraint (version = SemverVersion (release ), comparator = ">= " )
7377 )
7478
79+ # Eg. 1.5 to 2.0
7580 elif "to" in release :
76- release = release .strip ()
77- release = release .split (" " )
78- constraints .append (
79- VersionConstraint (version = SemverVersion (release [0 ]), comparator = ">=" )
80- )
81- constraints .append (
82- VersionConstraint (version = SemverVersion (release [2 ]), comparator = "<=" )
83- )
81+ lower , _ , upper = release .strip ().partition ("to" )
82+ constraints .append (VersionConstraint (version = SemverVersion (lower ), comparator = ">=" ))
83+ constraints .append (VersionConstraint (version = SemverVersion (upper ), comparator = "<=" ))
8484
8585 # If it is a single release
8686 elif is_release (release ):
@@ -95,19 +95,20 @@ def process_file(self, path):
9595
9696 affected_packages = []
9797
98- affected_packages .append (
99- AffectedPackage (
100- package = PackageURL (type = "golang" , name = "istio" ),
101- affected_version_range = GolangVersionRange (constraints = constraints ),
98+ if constraints :
99+ affected_packages .append (
100+ AffectedPackage (
101+ package = PackageURL (type = "golang" , namespace = "istio.io" , name = "istio" ),
102+ affected_version_range = GolangVersionRange (constraints = constraints ),
103+ )
102104 )
103- )
104105
105- affected_packages .append (
106- AffectedPackage (
107- package = PackageURL (type = "github" , name = "istio" ),
108- affected_version_range = GitHubVersionRange (constraints = constraints ),
106+ affected_packages .append (
107+ AffectedPackage (
108+ package = PackageURL (type = "github" , namespace = "istio" , name = "istio" ),
109+ affected_version_range = GitHubVersionRange (constraints = constraints ),
110+ )
109111 )
110- )
111112
112113 title = data .get ("title" ) or ""
113114 references = []
0 commit comments