Newer
Older
import os
#from ckan
import ckan.plugins as plugins
#pdf_to_thumbnail
from . import thumbnail
from . import action as thumbnail_action
from . import helpers as thumbnail_helpers
import logging
log = logging.getLogger(__name__)
class ThumbnailPlugin(plugins.SingletonPlugin):
plugins.implements(plugins.IResourceController, inherit=True)
plugins.implements(plugins.IConfigurer, inherit=True)
plugins.implements(plugins.IActions, inherit=True)
plugins.implements(plugins.ITemplateHelpers)
#IResourceController

Thorge Petersen
committed
def after_resource_create(self, context, resource):
resources = thumbnail.resources_of_containing_package(resource)
thumbnail.create_thumbnail_if_none_in_package(context, resources)

Thorge Petersen
committed
def after_resource_update(self, context, resource):
resources = thumbnail.resources_of_containing_package(resource)
thumbnail.create_thumbnail_if_none_in_package(context, resources)

Thorge Petersen
committed
def after_resource_delete(self, context, resources):
thumbnail.create_thumbnail_if_none_in_package(context, resources)
#IConfigurer
def update_config(self, config_):
storage_path = config_.get('ckan.storage_path')
public_dir = os.path.join(storage_path, 'thumbnail')
if config_.get('extra_public_paths'):
config_['extra_public_paths'] += ',' + public_dir
else:
config_['extra_public_paths'] = public_dir
#IActions
def get_actions(self):
return {'package_delete': thumbnail_action.before_package_delete,
'package_update': thumbnail_action.before_package_update
}
#ITemplateHelpers
def get_helpers(self):
return {
'thumbnail_namespace':thumbnail_helpers.thumbnail_namespace,
'thumbail_get_download_link':thumbnail_helpers.get_download_link_for_thumbnail
}