@@ -98,7 +98,12 @@ async def fetch(self, pkg, session):
9898 self .cache [pkg ] = {}
9999 break
100100 for release in resp_json ["entries" ]:
101- all_versions .add (release ["source_package_version" ].replace ("0:" , "" ))
101+ all_versions .add (
102+ Version (
103+ value = release ["source_package_version" ].replace ("0:" , "" ),
104+ release_date = release ["date_published" ],
105+ )
106+ )
102107 if resp_json .get ("next_collection_link" ):
103108 url = resp_json ["next_collection_link" ]
104109 else :
@@ -233,7 +238,7 @@ async def fetch(self, pkg, session, retry_count=5):
233238 self .cache [pkg ] = {}
234239 return
235240 for release in resp_json ["versions" ]:
236- all_versions .add (release ["version" ].replace ("0:" , "" ))
241+ all_versions .add (Version ( value = release ["version" ].replace ("0:" , "" ) ))
237242
238243 self .cache [pkg ] = all_versions
239244 # TODO : Handle ServerDisconnectedError by using some sort of
@@ -372,14 +377,14 @@ class GitHubTagsAPI(VersionAPI):
372377
373378 package_type = "github"
374379
375- async def fetch (self , owner_repo : str , session ) -> None :
380+ async def fetch (self , owner_repo : str , session , endpoint = None ) -> None :
376381 """
377382 owner_repo is a string of format "{repo_owner}/{repo_name}"
378383 Example value of owner_repo = "nexB/scancode-toolkit"
379384 """
380385 self .cache [owner_repo ] = set ()
381- endpoint = f"https://github.com/ { owner_repo } /tags"
382-
386+ if not endpoint :
387+ endpoint = f"https://github.com/ { owner_repo } /tags"
383388 resp = await session .get (endpoint )
384389 resp = await resp .read ()
385390
@@ -406,7 +411,7 @@ async def fetch(self, owner_repo: str, session) -> None:
406411
407412 if url :
408413 # FIXME: this could be asynced to improve performance
409- await self .fetch (owner_repo , url )
414+ await self .fetch (owner_repo , session , url )
410415
411416
412417class HexVersionAPI (VersionAPI ):
0 commit comments