def _refresh_packages(): setup_orgs = app.config.get("SETUP_ORGS", []) counter = app.config.get("SETUP_PKG_COUNTER", None) for package in packages_from_iati_registry(REGISTRY_URL): package_name = package["name"] if len(setup_orgs) and ('-' in package_name): org, country = package_name.split('-', 1) if org not in setup_orgs: continue registry = ckanclient.CkanClient(base_location=CKANurl) pkg = registry.package_entity_get(package_name) #FIXME: could remove the next 5 lines and just # fix refresh_package() if pkg.get('organization') and pkg['organization'].get('name'): packagegroup_name = pkg['organization']['name'] else: packagegroup_name = None packages_groups = {pkg['name']: packagegroup_name} refresh_package(pkg, packages_groups) if counter is not None: counter -= 1 if counter <= 0: break
def matching_packages(regexp): import re import itertools r = re.compile(regexp) pkgs = packages_from_iati_registry(REGISTRY_URL) pkgs = itertools.ifilter(lambda i: r.match(i["name"]), pkgs) for package in pkgs: yield package["name"]
def check_deleted_packages(): offset = 0 # all packages on IATI currently registry_packages = [x['id'] for x in packages_from_iati_registry(REGISTRY_URL)] # all packages in the database currently db_packages = models.Package.query.all() count_deleted = 0 for pkg in db_packages: # Need to do both in case a package is deleted and then resurrected if pkg.package_ckan_id in registry_packages: _set_deleted_package(pkg, False) else: print "Should delete package", pkg.package_name if _set_deleted_package(pkg, True): count_deleted += 1 return count_deleted
def _refresh_packages(): setup_orgs = app.config.get("SETUP_ORGS", []) counter = app.config.get("SETUP_PKG_COUNTER", None) for package in packages_from_iati_registry(REGISTRY_URL): package_name = package["name"] if len(setup_orgs) and ('-' in package_name): org, country = package_name.split('-', 1) if org not in setup_orgs: continue registry = ckanclient.CkanClient(base_location=CKANurl) pkg = registry.package_entity_get(package_name) refresh_package(pkg) if counter is not None: counter -= 1 if counter <= 0: break