[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