def purge_deleted_datasets(self): ''' Hard delete or purge datasets that have been soft deleted''' print str(datetime.datetime.now()) + ' Starting dataset purge' sql = 'SELECT id, state, type FROM package WHERE state=\'deleted\' AND type=\'dataset\' ORDER BY RANDOM();' rows = model.Session.execute(sql) for row in rows: dataset_cmd = DatasetCmd('ngds_dataset_purge') dataset_cmd.purge(row.id) print str(datetime.datetime.now()) + ' Finished dataset purge'
def purge_deleted_harvest_sources(self): ''' Hard delete or purge harvest sources that have been deactivated''' print str(datetime.datetime.now()) + ' Starting harvester source purge' sql = 'SELECT id, state, type FROM package WHERE state=\'deleted\' AND type=\'harvest\';' rows = model.Session.execute(sql) for row in rows: dataset_cmd = DatasetCmd('ngds_harvester_source_delete') dataset_cmd.purge(row.id) print str(datetime.datetime.now()) + ' Finished harvester source purge'
def purge_deleted_harvest_sources(self): ''' Hard delete or purge harvest sources that have been deactivated''' print str( datetime.datetime.now()) + ' Starting harvester source purge' sql = 'SELECT id, state, type FROM package WHERE state=\'deleted\' AND type=\'harvest\';' rows = model.Session.execute(sql) for row in rows: dataset_cmd = DatasetCmd('ngds_harvester_source_delete') dataset_cmd.purge(row.id) print str( datetime.datetime.now()) + ' Finished harvester source purge'
def _destroy(self, dataset_types): tables = self._get_tables_from_types(dataset_types) if not tables: return from ckan.lib.cli import DatasetCmd cmd = DatasetCmd('dataset') orgs = self._get_orgs() lc = ckanapi.LocalCKAN() for t in tables: for package in self._get_packages(t['dataset_type'], orgs): for r in package['resources']: try: lc.action.datastore_delete(id=r['id']) except ckanapi.NotFound: pass cmd.purge(package['name'])
def _destroy(self, dataset_types): tables = self._get_tables_from_types(dataset_types) if not tables: return from ckan.lib.cli import DatasetCmd cmd = DatasetCmd('dataset') lc = ckanapi.LocalCKAN() for t in tables: for o in self._get_orgs(): name = _package_name(t['dataset_type'], o) try: d = lc.action.package_show(id=name) try: lc.action.datastore_delete( resource_id=d['resources'][0]['id']) except p.toolkit.ObjectNotFound: pass cmd.purge('{0}-{1}'.format(t['dataset_type'], o)) except p.toolkit.ObjectNotFound: pass