>From what I can see, the call in the index function works fine, but the 
problem is in all calls to the callback.
Would it work better with a session data instead of cache.ram?


On Monday, February 16, 2015 at 4:24:51 PM UTC+11, Massimo Di Pierro wrote:
>
> I was wrong in saying I was wrong. The example in spreadsheet.py says:
>
> def callback():                                                           
>         
>              return cache.ram('sheet1', lambda: None, 
> None).process(request)               
>                                                                           
>                  
> def index():                                                               
>        
>              # standard spreadsheet method                                 
>                 
>              sheet = cache.ram('sheet1',                                   
>                 
>                  lambda: Sheet(10, 10, URL(r=request, f='callback')), 0)
>
> so the index() function stores a Sheet object in the cache.ram, the 
> callback function retrieves it and calls a method of that object. Notice 
> there is a problem. This only works when you have a single process sharing 
> cache.ram.
>
> On Sunday, 15 February 2015 21:08:11 UTC-6, Massimo Di Pierro wrote:
>>
>> That line is clearly wrong!
>>
>> On Sunday, 15 February 2015 19:06:31 UTC-6, chris_g wrote:
>>>
>>>
>>> I am taking a look at the spreadsheet controller in 
>>> /examples/spreadsheet in web2py Version 2.9.12 (on CentOS 6.6) .
>>>
>>> The callback function is throwing this error.
>>>
>>>
>>> Traceback (most recent call last):
>>>   File "/var/www/web2py/gluon/restricted.py", line 224, in restricted
>>>     exec ccode in environment
>>>   File 
>>> "/var/www/web2py/applications/examples/controllers/spreadsheet.py", line 
>>> 12, in <module>
>>>   File "/var/www/web2py/gluon/globals.py", line 393, in <lambda>
>>>     self._caller = lambda f: f()
>>>   File 
>>> "/var/www/web2py/applications/examples/controllers/spreadsheet.py", line 4, 
>>> in callback
>>>     return cache.ram('sheet1', lambda: None, None).process(request)
>>> AttributeError: 'NoneType' object has no attribute 'process'
>>>
>>>
>>> I can't see other examples of code that call a ram.cache().process() 
>>> method. Is this code using some defunct functionality?
>>>
>>> I can see a lot of uses for this spreadsheet module and would be very 
>>> happy to assist with getting it working out of the box.
>>>
>>> Does anyone have a working example that they can point me to?
>>>
>>> Chris
>>>
>>

-- 
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