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.

