Looks like a bug (SQLCustomType actually has a startswith method, but we 
should add an endswith method as well).

Anthony

On Wednesday, February 12, 2014 3:56:53 AM UTC-5, mcamel wrote:
>
> Hi everybody,
>
> I've tried to use SQLCustomType with grids but always get this error 
> (2.8.2 version):
>
> <type 'exceptions.AttributeError'> 'SQLCustomType' object has no 
> attribute 'endswith'
>
>
> It works fine with SQLTABLE (as exposed below) but not with 'grid' neither 
> 'smartgrid'. It also fails with MySQL backend.
>
> is there a way to make this work or may i open a bug ticket?.
>
> Code in a controller (the aim is to store datetime in database as unixtime 
> -seconds since epoch-):
>
> def custom():
>     
>     # the aim is to store datetime in database as unixtime -seconds since 
> epoch-
>     from gluon.dal import SQLCustomType
>     from datetime import datetime
>     from calendar import timegm
>     
>     ut_dt = SQLCustomType(
>         type    = 'datetime',
>         native  = 'integer',
>         encoder = (lambda dt: timegm(dt.utctimetuple())),
>         decoder = (lambda ut: datetime.utcfromtimestamp(ut))
>     )
>     
>     db = DAL('sqlite:memory:')
>     db.define_table('event',
>         Field('name', 'string'),
>         Field('day_and_time', type=ut_dt)
>         #~ Field('day_and_time', 'datetime')
>         )
>     
>     db.event.insert(name='Birthday', day_and_time=datetime(2000, 1, 1, 0, 
> 0, 0))
>     db.event.insert(name='Speaks!',  day_and_time=datetime(2002, 2, 2, 10, 
> 10, 10))
>     
>     # 'SQLTABLE' works but 'grid' and 'smartgrid' don't, unless you 
> change 'day_and_time' type to datetime
>     html = SQLTABLE(db(db.event).select())
>     #~ html = SQLFORM.grid(db.event)
>     #~ html = SQLFORM.smartgrid(db.event)
>     
>     return dict(html=html)
>
> My actual workaround is to use 'filter_in' and 'filter_out'.
>
> By the way, there's an error in the manual at Custom Field types section. 
> It says:
>
> native is the name of the field as far as the database is concerned
>
>
> where it should say:
>
> native is the type of the field as far as the database is concerned
>
>
>
> Regards!
>

-- 
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/groups/opt_out.

Reply via email to