[ckan-dev] plugins.toolkit

Toby Dacre toby.okfn at gmail.com
Thu Apr 19 15:04:25 UTC 2012


On 19 April 2012 15:59, Ross Jones <ross.jones at okfn.org> wrote:

> Doesn't NotFound mean object not found rather than action not found?
>
> logic/__init__.py

 class NotFound(ActionError):
    pass

says just actions to me

Toby

Ross
>
> On 19 Apr 2012, at 15:53, Toby Dacre wrote:
>
> After looking at the ecportal and dgu extensions I've added these functions
>
>
>     '_',                    # i18n translation
>     'get_action',           # get logic action function
>     'check_access',         # check logic function authorisation
>     'NotFound',             # action not found exception
>     'NotAuthorized',        # action not authorized exception
>     'ValidationError',      # model update validation error
>     'CkanCommand',          # class for providing cli interfaces
>
> I think it might be an idea to change NotFound to ActionNotFound any
> objections?
>
> To make things easier regarding transitioning of plugins I've added a
> couple of extra functions and an exception
>
>     'requires_ckan_version',
>     'check_ckan_version',
>     'CkanVersionException',
>
>
>
> On 19 April 2012 12:11, Toby Dacre <toby.okfn at gmail.com> wrote:
>
>> Hi,
>>
>> As part of the general cleanup I've created a new file plugins/toolkit.py
>> to make a stable set of functions/objects available to plugins.  Please let
>> me know if there are other functions/objects that would be helpful or any
>> people think should not be here.
>>
>> __all__ = [
>>     ## Imported functions ##
>>     'c',                    # template context
>>     'request',              # http request object
>>     'render',               # template render function
>>     'render_text',          # Genshi NewTextTemplate render function
>>     'render_snippet',       # snippet render function
>>     'asbool',               # converts an object to a boolean
>>     'asint',                # converts an object to an integer
>>     'aslist',               # converts an object to a list
>>     'literal',              # stop tags in a string being escaped
>>
>>     ## Functions fully defined here ##
>>     'add_template_directory',
>>     'add_public_directory',
>> ]
>>
>> the last two functions are helpers to add extra dirs.  This just removes
>> the need for common boilerplate in plugins
>>
>> an example extension plugin.py for the soon to be released ckanext-datahub
>>
>> import ckan.plugins as p
>>
>> class DataHub(p.SingletonPlugin):
>>     p.implements(p.IConfigurer)
>>
>>     def update_config(self, config):
>>         p.toolkit.add_template_directory(config, 'templates')
>>         p.toolkit.add_public_directory(config, 'public')
>>
>> Using these functions will mean that the plugin will require ckan 1.7 so
>> there is no rush to change our existing plugins but it would be good if new
>> plugins can start using this.
>>
>> @Ross - I've added a render_text() helper for NewTextTemplates as
>> requested.
>>
>> Toby
>>
>>
>>
> _______________________________________________
> ckan-dev mailing list
> ckan-dev at lists.okfn.org
> http://lists.okfn.org/mailman/listinfo/ckan-dev
>
>
>
> _______________________________________________
> ckan-dev mailing list
> ckan-dev at lists.okfn.org
> http://lists.okfn.org/mailman/listinfo/ckan-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okfn.org/pipermail/ckan-dev/attachments/20120419/893283e0/attachment-0001.html>


More information about the ckan-dev mailing list