Hmm, I have tried both methods (assigning a global variable and adding an 
attribute to "current"), and in both cases it works fine (i.e., with the 
callback defined and set in a model file and with the update happening in a 
controller function). Perhaps you could attach a minimal app that 
reproduces your problem.

Anthony

On Thursday, April 3, 2014 11:53:47 AM UTC-4, mcamel wrote:

> Sorry, i wanted to say 'model' not 'module'.
>
> I've tried to pass data from a callback in a model to "its" function in a 
> controller with 'current', but was not able:
>
> def my_before_callback():
>     from gluon import current
>     current._mydata = 'hello'
>
> In a controller:
>
> def my_function():
>     db.....update(....)
>     from gluon import current
>     response.flash = current._mydata
>
> but got error:
>
> <type 'exceptions.AttributeError'> 'thread._local' object has no 
> attribute '_mydata'
>
>
> I'm doing something wrong or it's just that it applies only for modules 
> and not for models and/or controllers?.
>
> I'm sure the callback is called because all works if i replace 'current' 
> with 'request.vars'.
>
>
> Thanks for your time.
>
>
> El jueves, 3 de abril de 2014 17:10:57 UTC+2, Anthony escribió:
>>
>> On Thursday, April 3, 2014 10:58:32 AM UTC-4, mcamel wrote:
>>>
>>>
>>> Be careful about storing something in request.vars, as some other code 
>>>>>> may depend on request.vars and end up failing due to it being changed.
>>>>>>
>>>>>
>>>>> Any alternative you can suggest?. Session object seems error prone for 
>>>>> this because of concurrency...
>>>>>
>>>>
>>>> You could just declare a global variable:
>>>>
>>>
>>> That works fine to pass values from 'before' callback to 'after' 
>>> callback, but fails if you want to pass values from 'after' callback (in a 
>>> module) to the function that triggered it (in a controller).
>>>
>>
>> That's a different story. In that case, you could add something to 
>> "current".
>>
>> Anthony 
>>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to