#!/usr/bin/env python2 import requests url = 'https://admin.fedoraproject.org/pkgdb/api/packages?status=Retired' def get_retired_pkgs_in_branch(branch): branch_url = '%s&branches=%s' % (url, branch) print branch_url req = requests.get(branch_url) data = req.json() packages = data['packages'] page = int(data['page']) total = data['page_total'] print '%s pages to retrieve for %s' % (total, branch) while page <= total: nurl = '%s&page=%s' % (branch_url, page + 1) data = requests.get(nurl).json() packages.extend(data['packages']) page += 1 print '%s packages retrieved in %s' % (len(packages), branch) pkgs_name = [pkg['name'] for pkg in packages] return pkgs_name if __name__ == '__main__': pkgs = set() for branch in ['master', 'f22', 'f21', 'f20']: if len(pkgs) == 0: pkgs = set(get_retired_pkgs_in_branch(branch)) else: pkgs = pkgs.intersection( set(get_retired_pkgs_in_branch(branch))) print '%s packages found to be retired' % len(pkgs) # un-comment below to get the list of packages #for pkg in pkgs: #print pkg