A custom translation is ok (I'm italian and use the italian date format, 
that is %d/%m/%Y), as long as respects the way web2py handles it (and as 
long as the widget you chose for date(time(s)) fields can cope with the 
"correct translation").

On Monday, February 18, 2013 5:37:20 PM UTC+1, Mirek Zvolský wrote:
>
> Yes. I think this can be my problem - custom translation of formats.
> I'm very sorry, that I was too fast with entering this user group.
> I will study more about it and I will give then message, if the problem is 
> in format definition or really inside web2py.
> Thanks, Mirek
>
>
>
> Dne pondělí, 18. února 2013 16:42:09 UTC+1 Niphlod napsal(a):
>>
>> as a general rule of thumb, in web2py date(time(s)) are stored always in 
>> "pseudo-iso" format (YYYY-MM-DD) and transformed to/from according to the 
>> date format specified into languages. Are you using custom translation 
>> files and/or a different date-time widget than the default one included in 
>> web2py ?
>>
>> On Monday, February 18, 2013 4:27:08 PM UTC+1, Mirek Zvolský wrote:
>>>
>>> Hi, 
>>> maybe this is DAL.py error? Or more as one - strange behavior for dates 
>>> in czech/german format - 'date' fields in tables cannot be used at all (!!)
>>>
>>> I have 'date' field in table 'akce' in SQLite database.
>>> I try a) after removing SQLite database I try run appadmin and browse 
>>> table 'akce' 
>>>        b) after removing SQLite database I insert first record and 
>>> immediately I try select records using db().select(db.akce.ALL)
>>>        c) same as b) but after replacing 'date' field in table 
>>> definition with 'datetime'
>>>
>>> 2.3.2 stable:
>>> a) http://localhost:8000/akce/appadmin/select/db?query=db.akce.id%3E0
>>>     appadmin fails with error message (1)-bellow
>>> b) select fails with error message (2)-bellow
>>> c) no error, but no row as select result (instead of proper one)
>>>
>>> 2.4.1 trunk (alpha.2 + timestamp.2013.01.10.21.26.18):
>>> a) appadmin will not fail, however count of rows will not display (there 
>>> is 'rows' instead of '0 rows' - in czech language)
>>> b) select fails in same way as in 2.3.2 (message (2) !!!!)
>>> c) select works fine for 'datetime' fields
>>>
>>> I think at least in b) case, reason is german/czech date format, which 
>>> SQLite driver get from DAL.py.
>>> Because
>>>    datetime.date(*map(int, val.split("-")))
>>> works well for dates like val='2013-02-19'.
>>> However sqlite3 driver will receive from DAL.py (func log_execute) the 
>>> date in local german/czech format like val='19.02.2013' and fails.
>>>
>>> So field type 'date' in tables cannot be used at all !
>>> Could this be repaired?
>>>
>>> Thanks, Mirek
>>>
>>>
>>>
>>> error (1) - I think this is fixed in trunk
>>>   File 
>>> "C:\Python27\Lib\site-packages\web2py\applications\akce\controllers/appadmin.py",
>>>  
>>> line 213, in select
>>>     nrows = db(query).count()
>>>   File "C:\Python27\Lib\site-packages\web2py\gluon\dal.py", line 8896, 
>>> in count
>>>     return db._adapter.count(self.query,distinct)
>>>   File "C:\Python27\Lib\site-packages\web2py\gluon\dal.py", line 1652, 
>>> in count
>>>     return self.cursor.fetchone()[0]
>>> TypeError: 'NoneType' object is not subscriptable
>>>
>>> error (2) - for 'date' fields, not fixed yet
>>>   File "C:\Python27\Lib\site-packages\web2py\gluon\restricted.py", line 
>>> 212, in restricted
>>>     exec ccode in environment
>>>   File 
>>> "C:/Python27/Lib/site-packages/web2py/applications/akce/controllers/akce.py",
>>>  
>>> line 47, in <module>
>>>   File "C:\Python27\Lib\site-packages\web2py\gluon\globals.py", line 
>>> 193, in <lambda>
>>>     self._caller = lambda f: f()
>>>   File 
>>> "C:/Python27/Lib/site-packages/web2py/applications/akce/controllers/akce.py",
>>>  
>>> line 7, in akce
>>>     db.akce.ALL, orderby=db.akce.sraz_kdy)
>>>   File "C:\Python27\Lib\site-packages\web2py\gluon\dal.py", line 9092, 
>>> in select
>>>     return adapter.select(self.query,fields,attributes)
>>>   File "C:\Python27\Lib\site-packages\web2py\gluon\dal.py", line 2178, 
>>> in select
>>>     return super(SQLiteAdapter, self).select(query, fields, attributes)
>>>   File "C:\Python27\Lib\site-packages\web2py\gluon\dal.py", line 1637, 
>>> in select
>>>     return self._select_aux(sql,fields,attributes)
>>>   File "C:\Python27\Lib\site-packages\web2py\gluon\dal.py", line 1602, 
>>> in _select_aux
>>>     self.execute(sql)
>>>   File "C:\Python27\Lib\site-packages\web2py\gluon\dal.py", line 1715, 
>>> in execute
>>>     return self.log_execute(*a, **b)
>>>   File "C:\Python27\Lib\site-packages\web2py\gluon\dal.py", line 1709, 
>>> in log_execute
>>>     ret = self.cursor.execute(*a, **b)
>>>   File "C:\Python27\lib\sqlite3\dbapi2.py", line 63, in convert_date
>>>     return datetime.date(*map(int, val.split("-")))
>>> ValueError: invalid literal for int() with base 10: '19.02.2013'
>>>
>>

-- 

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