Oops, I meant of course;

current.cache.action

instead of

current.cache




On Wednesday, August 1, 2018 at 12:48:00 AM UTC-7, Joe Barnhart wrote:
>
> You're a fountain of ideas!  I missed that one in the book.
>
> I wonder if this would work.  Off to go try it...
>
> def lazy_cache_action(self, time_expire=DEFAULT_TIME_EXPIRE, 
> cache_model=None,
>            prefix=None, session=False, vars=True, lang=True,
>            user_agent=False, public=True, valid_statuses=None,
>            quick=None):
>     def decorator(f, time_expire, cache_model, prefix, session, vars, lang,
>                user_agent, public, valid_statuses, quick):
>         def g(*c, **d):
>             from gluon import current
>             return current.cache(f, time_expire, cache_model, prefix, 
> session, vars,
>                 lang, user_agent, public, valid_statuses, quick)(f)(*c, 
> **d)
>         g.__name__ = f.__name__
>         return g
>     return decorator
>
>
>
> On Tuesday, July 31, 2018 at 11:25:10 AM UTC-7, Anthony wrote:
>>
>> On Tuesday, July 31, 2018 at 1:57:46 AM UTC-4, Joe Barnhart wrote:
>>>
>>> I was wondering about this.  I tried to search the group but didn't find 
>>> anything relevant.  Took a look at the source code and it seemed like I 
>>> could use in a module which is called to produce a string of Javascript on 
>>> demand of an Ajax routine.
>>>
>>> Beforehand, I save the global "cache" var in my "current" object.  Then 
>>> I rename my method "content" to "__content__", and last I do this:
>>>
>>>     def content(self):
>>>         c = current.cache
>>>         return c.action(cache_model=c.disk, 
>>> quick="VP")(self.__content__)()
>>>
>>> Seems to work.  Am I asking for trouble?  Is there anything I should 
>>> watch for?
>>>
>>
>> Seems reasonable. You could also create a custom decorator, similar to 
>> lazy_cache 
>> <https://github.com/web2py/web2py/blob/master/gluon/cache.py#L728-L746> 
>> (see the end of this section: 
>> http://web2py.com/books/default/chapter/29/04/the-core#Warning--Do-not-use-the-current-object-in-global-scope-in-a-module
>> ).
>>
>> 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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to