[ckan-dev] ckan 2.2 issue (seems like)
Pabitra Dash
pkdash_reena at hotmail.com
Thu May 8 16:19:45 UTC 2014
Hi Everyone,
It seems now there is no way to call an action function directly in ckan 2.2. One has to use get_action() method. That is perhaps causing the infinite loop issue for me where I am overriding a ckan action function. I see the following new piece of code in logic __inti__.py which forces to use get_action() method to use a action function.
def
replaced_action(action_name):
def
warn(context, data_dict):
log.critical('Action `%s` is being called directly '
'all action calls should be accessed via '
'logic.get_action' % action_name)
return get_action(action_name)(context, data_dict)
return warn
If I can't resolve this issue I have to roll back to ckan 2.1.
Would very much appreciate some help on this.
Thanks,Pabitra
From: pkdash_reena at hotmail.com
To: ckan-dev at lists.okfn.org
Date: Wed, 7 May 2014 23:15:45 -0500
Subject: Re: [ckan-dev] ckan 2.2 issue (seems like)
Ian,
I am not sure If I fully understand your question. However, I will try to show the code structure here:
skeleton code in plugin.py file:
from ckan.logic.action.get import user_showimport ckan.plugin as p
def show_user(context, data_dict): # code to manipulating the data_dict here return user_show(context, data_dict) # this where the infinite loop happens
class MyPlugin(p.SingletonPlugin): p.implements(p.IActions)
# other code stuff here
def get_actions(self): return {'user_show': 'show_user}
Thanks,Pabitra
Date: Wed, 7 May 2014 19:58:02 -0400
From: ian at excess.org
To: ckan-dev at lists.okfn.org
Subject: Re: [ckan-dev] ckan 2.2 issue (seems like)
On 7 May 2014 19:54, "Pabitra Dash" <pkdash_reena at hotmail.com> wrote:
>
> Hi All,
>
> The code that I have in my plugin and that used to work in ckan 2.1 is no more working in ckan 2.2. I am getting an infinite loop in part of the code where I am overriding a logic action function ('user_show') using the IActions interface get_actions(). Within my custom function show_user() I am calling the ckan.logic.action.get.user_show(). It used to work in ckan 2.1 but after upgrading to ckan 2.2 I am getting an infinite loop inside my show_user() function.
How are you calling the original? Are you importing the action at the module level?
_______________________________________________
ckan-dev mailing list
ckan-dev at lists.okfn.org
https://lists.okfn.org/mailman/listinfo/ckan-dev
Unsubscribe: https://lists.okfn.org/mailman/options/ckan-dev
_______________________________________________
ckan-dev mailing list
ckan-dev at lists.okfn.org
https://lists.okfn.org/mailman/listinfo/ckan-dev
Unsubscribe: https://lists.okfn.org/mailman/options/ckan-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okfn.org/pipermail/ckan-dev/attachments/20140508/e3e108f1/attachment-0003.html>
More information about the ckan-dev
mailing list