# ckan import ckan.plugins.toolkit as toolkit import ckan.lib.helpers as helpers from ckan.logic.action.update import package_update from ckan.logic.action.delete import package_delete from . import thumbnail def before_package_delete(context, package_id_dict): pkg_dict = toolkit.get_action('package_show')(context, package_id_dict) if helpers.check_access('package_delete', pkg_dict): thumbnail.remove_thumbnail(context) return package_delete(context, package_id_dict) def before_package_update(context, pkg_dict): if helpers.check_access('package_update', pkg_dict): package_id =pkg_dict.get('id') package = toolkit.get_action('package_show')(context, {'id': package_id}) old_private = package.get('private') new_private = pkg_dict.get('private') old_filename = package.get('thumbnail') if old_filename: if str(old_private) != str(new_private): new_filename = thumbnail.rename_thumbnail_to_random_name(old_filename) pkg_dict['extras'].append({'key': 'thumbnail', 'value': new_filename}) elif not pkg_dict.get('thumbnail'): pkg_dict['extras'].append({'key': 'thumbnail', 'value': old_filename}) return package_update(context, pkg_dict)