On Friday, July 7, 2017 at 1:55:33 AM UTC-7, Dave S wrote:
>
>
>
> On Thursday, July 6, 2017 at 3:29:11 AM UTC-7, Dave S wrote:
> [...]
>
>> For the other, my controller does the usual "form = SQFORM(db.tab2)", where 
>> tab2 has a field "partof" ref tab1, and a string field I want to get 
>> autofocus, so I set the widget, and I set the default value for a boolean 
>> field according to a request.vars value.  I get a format error:
>>
>> 4.
>> 35.
>> 36.
>> 37.
>> 38.
>> 39.
>> 40.
>>
>> Traceback (most recent call last):
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\restricted.py", 
>> line 219, in restricted
>>     exec(ccode, environment)
>>   File 
>> "C:/Users/Dave/web2py_win/web2py_win-2.15.0b1/web2py/applications/shortcuts/controllers/default.py"
>>  
>> <http://127.0.0.1:8000/admin/default/edit/shortcuts/controllers/default.py>, 
>> line 178, in <module>
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\globals.py", line 
>> 406, in <lambda>
>>     self._caller = lambda f: f()
>>   File 
>> "C:/Users/Dave/web2py_win/web2py_win-2.15.0b1/web2py/applications/shortcuts/controllers/default.py"
>>  
>> <http://127.0.0.1:8000/admin/default/edit/shortcuts/controllers/default.py>, 
>> line 56, in addsegment
>>     form = SQLFORM(db.segment)
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\sqlhtml.py", line 
>> 1406, in __init__
>>     inp = self.widgets.options.widget(field, default)
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\sqlhtml.py", line 
>> 324, in widget
>>     options = requires[0].options()
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\validators.py", 
>> line 600, in options
>>     self.build_set()
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\validators.py", 
>> line 586, in build_set
>>     records = self.dbset(table).select(*fields, **dd)
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\packages\dal\pydal\objects.py",
>>  line 2211, in select
>>     return adapter.select(self.query, fields, attributes)
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\packages\dal\pydal\adapters\sqlite.py",
>>  line 82, in select
>>     return super(SQLite, self).select(query, fields, attributes)
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\packages\dal\pydal\adapters\base.py",
>>  line 760, in select
>>     return self._select_aux(sql, fields, attributes, colnames)
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\packages\dal\pydal\adapters\base.py",
>>  line 739, in _select_aux
>>     return processor(rows, fields, colnames, cacheable=cacheable)
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\packages\dal\pydal\adapters\base.py",
>>  line 305, in parse
>>     for row in rows
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\packages\dal\pydal\adapters\base.py",
>>  line 231, in _parse
>>     value = self.parse_value(value, fit, ft, blob_decode)
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\packages\dal\pydal\adapters\base.py",
>>  line 198, in parse_value
>>     return self.parser.parse(value, field_itype, field_type)
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\packages\dal\pydal\parsers\__init__.py",
>>  line 101, in parse
>>     return self.registered[field_itype](value, field_type)
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\packages\dal\pydal\parsers\__init__.py",
>>  line 76, in __call__
>>     return self.call(value, field_type)
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\packages\dal\pydal\parsers\__init__.py",
>>  line 70, in _call_with_extras
>>     return self.f(self.parser, value, **extras)
>>   File 
>> "C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\packages\dal\pydal\parsers\sqlite.py",
>>  line 19, in _decimal
>>     value = ('%.' + decimals + 'f') % value
>> ValueError: unsupported format character ' ' (0x20) at index 2
>>
>>
> This is whistled down at 
>
> *File 
> C:\Users\Dave\web2py_win\web2py_win-2.15.0b1\web2py\gluon\packages\dal\pydal\parsers\sqlite.py
>  
> in _decimal at line 19* code arguments variables
> Function argument list
>
> (self=<pydal.parsers.sqlite.SQLiteParser object>, value=3.1, decimals=' 1')
> Code listing
>
> 14.
> 15.
> 16.
> 17.
> 18.
> 19.
>
> 20.
> 21.
> 22.
> 23.
>
>     def decimal_extras(self, field_type):
>         return {'decimals': field_type[8:-1].split(',')[-1]}
>
>     @for_type('decimal')
>     def _decimal(self, value, decimals):
>         value = ('%.' + decimals + 'f') % value
>
>         return Decimal(value)
>
>     @for_type('date')
>     def _date(self, value):
>
> Variables
> decimals ' 1'
> value 3.1
>  
>
> I'm not sure where the "3.1" comes from, but the error might have been 
> Field("duration", "decimal(5, 1)", default=None, writable=False),
> instead of 
> Field("duration", "decimal(5,1)", default=None, writable=False),
>
>
Note that line 15 above, which seems to prep for the line in question,  
does a split(",") but does not trim.

/dps

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