Or better this should be:

                table = sqlrows.db[t]
                if f in table.fields:
                    headers[c] = table[f].label
                else:


On Monday, 8 October 2012 11:55:23 UTC-5, Massimo Di Pierro wrote:
>
> The error is that in plugin_powertable.py there are these lines:
>
>                 try:
>                     headers[c] = sqlrows.db[t][f].label
>                 except KeyError:
>
> They should be changed to
>
>                 try:
>                     headers[c] = sqlrows.db[t][f].label
>                 except (KeyError, AttributeError):
>
> The fact is that table[f] when f is an invalid key now raises an 
> AttributeError, not a KeyError. That is because table[f] is the same as 
> getattr(table,f). While we can change and revert this behavior, making 
> table['f'] equivalent to table.f instead of vice versa resulted in a 10x 
> improvement while extracting data from DAL.
>
>
>
> On Monday, 8 October 2012 10:44:15 UTC-5, Don_X wrote:
>>
>> it runs by  bypassing the admin/default/index page ...
>> but F.Y.I
>>
>> the powertable app example still does not run : I get the following error 
>> :
>>
>>
>> <type 'exceptions.AttributeError'> 'Row' object has no attribute 
>> 'product'
>> Versionweb2py™(2, 1, 0, datetime.datetime(2012, 10, 8, 15, 17, 50), 
>> 'dev')PythonPython 2.7.3: /usr/bin/python
>>
>>
>> Traceback
>>
>> 1.
>> 2.
>> 3.
>> 4.
>> 5.
>> 6.
>> 7.
>> 8.
>> 9.
>> 10.
>> 11.
>> 12.
>> 13.
>> 14.
>> 15.
>> 16.
>>
>> Traceback (most recent call last):
>>   File "/home/www-data/web2py/gluon/restricted.py", line 209, in restricted
>>     exec ccode in environment
>>   File 
>> "/home/www-data/web2py/applications/powertable/controllers/default.py" 
>> <http://web2py.loc/admin/default/edit/powertable/controllers/default.py>, 
>> line 80, in <module>
>>   File "/home/www-data/web2py/gluon/globals.py", line 187, in <lambda>
>>     self._caller = lambda f: f()
>>   File 
>> "/home/www-data/web2py/applications/powertable/controllers/default.py" 
>> <http://web2py.loc/admin/default/edit/powertable/controllers/default.py>, 
>> line 25, in index
>>     table = table.create()
>>   File 
>> "/home/www-data/web2py/applications/powertable/models/plugin_powertable.py" 
>> <http://web2py.loc/admin/default/edit/powertable/models/plugin_powertable.py>,
>>  line 810, in plugin_powertable
>>     PowerTable(),
>>   File 
>> "/home/www-data/web2py/applications/powertable/models/plugin_powertable.py" 
>> <http://web2py.loc/admin/default/edit/powertable/models/plugin_powertable.py>,
>>  line 214, in __init__
>>     _id = record[keycolumntbl][keycolumnfld]
>>   File "/home/www-data/web2py/gluon/dal.py", line 6376, in __getitem__
>>     return ogetattr(self, key)
>> AttributeError: 'Row' object has no attribute 'product'
>>
>>
>> I wish I knew how to fix this ! ... I will try though !
>>
>>

-- 



Reply via email to