#86 Since pkgdb was retired we just get a plain json response.
Closed 5 years ago by cverna. Opened 5 years ago by cverna.
cverna/mdapi simplify_get_repo_md  into  master

file modified
+30 -44
@@ -150,16 +150,6 @@ 

  }

  

  

- def list_branches(status='Active'):

-     ''' Return the list of Fedora branches corresponding to the given

-     status.

-     '''

-     url = PKGDB2_URL + 'api/collections?clt_status=%s' % status

-     response = requests.get(url, verify=PKGDB2_VERIFY)

-     data = response.json()

-     return data['collections']

- 

- 

  def download_db(name, repomd_url, archive):

      print('%s Downloading file: %s to %s' % (

          name.ljust(padding), repomd_url, archive))
@@ -463,24 +453,6 @@ 

          (KOJI_REPO + 'rawhide/latest/x86_64/repodata', 'koji')

      )

  

-     # Get the development repos (rawhide + eventually Fn+1 branched)

-     dev_releases = list_branches(status='Under Development')

-     for release in dev_releases:

-         if release['status'] != 'Under Development':

-             continue

-         version = release['version']

-         if version == 'devel':

-             version = 'rawhide'

-         url = '%s/pub/fedora/linux/' \

-             'development/%s/Everything/x86_64/os/repodata' % (DL_SERVER, version)

-         print(release['koji_name'], version, release['status'], url)

-         repositories.append(

-             (url, release['koji_name'])

-         )

- 

-         url = url.replace('/x86_64/os/', '/source/tree/')

-         repositories.append((url, 'src_%s' % release['koji_name']))

- 

      urls = {

          'Fedora':

              [
@@ -497,22 +469,36 @@ 

      fedora_repos = ['%s', '%s-updates', '%s-updates-testing']

      epel_repos = ['%s', '%s-testing']

  

-     # Get the stable repos

-     stable_releases = list_branches(status='Active')

-     for release in stable_releases:

-         if release['status'] != 'Active':

-             continue

-         version = release['version']

-         for idx, url in enumerate(urls[release['name']]):

-             if release['name'] == 'Fedora':

-                 name = fedora_repos[idx] % release['koji_name']

-             else:

-                 name = epel_repos[idx] % release['koji_name']

-             rurl =  url % (DL_SERVER, version)

-             repositories.append((rurl, name))

- 

-             rurl = rurl.replace('/x86_64/', '/SRPMS/')

-             repositories.append((rurl, 'src_%s' % name))

+     # Get all the releases repos

+     url = PKGDB2_URL + 'api/collections'

+     response = requests.get(url, verify=PKGDB2_VERIFY)

+     releases = response.json()['collections']

+     for release in releases:

+         if release['status'] == 'Under Development':

+             version = release['version']

+             if version == 'devel':

+                 version = 'rawhide'

+             url = '%s/pub/fedora/linux/' \

+                 'development/%s/Everything/x86_64/os/repodata' % (DL_SERVER, version)

+             print(release['koji_name'], version, release['status'], url)

+             repositories.append(

+                 (url, release['koji_name'])

+             )

+ 

+             url = url.replace('/x86_64/os/', '/source/tree/')

+             repositories.append((url, 'src_%s' % release['koji_name']))

+         elif release['status'] == 'Active':

+             version = release['version']

+             for idx, url in enumerate(urls[release['name']]):

+                 if release['name'] == 'Fedora':

+                     name = fedora_repos[idx] % release['koji_name']

+                 else:

+                     name = epel_repos[idx] % release['koji_name']

+                 rurl = url % (DL_SERVER, version)

+                 repositories.append((rurl, name))

+ 

+                 rurl = rurl.replace('/x86_64/', '/SRPMS/')

+                 repositories.append((rurl, 'src_%s' % name))

  

      # In parallel

      #p = multiprocessing.Pool(10)

There is not need to have logic to filter pkgdb response
since now we just get a plain json file from that url.

Signed-off-by: Clement Verna cverna@tutanota.com

I'm a bit pondering about this one, simplifies things a bit but won't we have to bring this back once we have the replacement for PDC in and populated with the release info?

I'm a bit pondering about this one, simplifies things a bit but won't we have to bring this back once we have the replacement for PDC in and populated with the release info?

Indeed but do you expect that the data stored in FPDC to be exactly the same ?

It'll likely be a bit different, depends how we import it I guess :)

Ok let's keep that as it is for now :-)

Pull-Request has been closed by cverna

5 years ago
Metadata