Ejemplo n.º 1
0
    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'
Ejemplo n.º 2
0
    def dataset_delete_all(self):
        ''' Soft delete all datasets'''

        print str(datetime.datetime.now()) + ' Starting dataset soft delete'

        sql = 'SELECT id, state, type FROM package WHERE state=\'active\' AND type=\'dataset\';'
        rows = model.Session.execute(sql)

        for row in rows:
            dataset_cmd = DatasetCmd('ngds_dataset_delete')
            dataset_cmd.delete(row.id)

        print str(datetime.datetime.now()) + ' Finished dataset soft delete'
Ejemplo n.º 3
0
    def dataset_delete_all(self):
        ''' Soft delete all datasets'''
        
        print str(datetime.datetime.now()) + ' Starting dataset soft delete'

        sql  = 'SELECT id, state, type FROM package WHERE state=\'active\' AND type=\'dataset\';'
        rows = model.Session.execute(sql)

        for row in rows:
            dataset_cmd = DatasetCmd('ngds_dataset_delete')
            dataset_cmd.delete(row.id)

        print str(datetime.datetime.now()) + ' Finished dataset soft delete'
Ejemplo n.º 4
0
    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'
Ejemplo n.º 5
0
    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'
Ejemplo n.º 6
0
    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'
Ejemplo n.º 7
0
    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'])
Ejemplo n.º 8
0
    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