Thank you! Fixed in trunk.
On Jun 16, 3:55 am, Corne Dickens <corne.dick...@gmail.com> wrote: > web2py Version 1.96.4 under sl4a (android / python 2.6.2) does not > start due to a few errors. > > The first one is in dal.py > It seems that there was already half fixed, the problem is in > path_encoding = sys.getfilesystemencoding() or > locale.getdefaultlocale()[1] > the result is empty here. > > There is one place in the code where this was fixed already (with an > additional or 'utf8'), this fix should also go to the other places > where the same structure is used. > > PATCH > diff -U 3 -H -d -r -N -- web2py/gluon/dal.py web2py_droid/gluon/dal.py > --- web2py/gluon/dal.py 2011-06-07 22:07:48.000000000 +0200 > +++ web2py_droid/gluon/dal.py 2011-06-16 10:14:49.677764405 +0200 > @@ -1487,7 +1487,7 @@ > self.folder = folder > self.db_codec = db_codec > self.find_or_make_work_folder() > - path_encoding = sys.getfilesystemencoding() or > locale.getdefaultlocale()[1] > + path_encoding = sys.getfilesystemencoding() or > locale.getdefaultlocale()[1] or 'utf8' > if uri.startswith('sqlite:memory'): > dbpath = ':memory:' > else: > @@ -1523,7 +1523,7 @@ > self.folder = folder > self.db_codec = db_codec > self.find_or_make_work_folder() > - path_encoding = sys.getfilesystemencoding() or > locale.getdefaultlocale()[1] > + path_encoding = sys.getfilesystemencoding() or > locale.getdefaultlocale()[1] or 'utf8' > if uri.startswith('sqlite:memory'): > dbpath = ':memory:' > else: > > The second thing is in cache.py > os.unlink(self.shelve_name) gives an exception because the file is not > found. > In the code there is an if statement which is True when the file does > not exist. > In the if there is an open for reading, which failes in case the file > does not exist, deleting the file will in that case also fail.. > > PATCH > diff -U 3 -H -d -r -N -- web2py_unicode/gluon/cache.py web2py_droid/ > gluon/cache.py > --- web2py_unicode/gluon/cache.py 2011-06-07 22:07:48.000000000 +0200 > +++ web2py_droid/gluon/cache.py 2011-06-16 10:35:38.625610104 +0200 > @@ -257,7 +257,10 @@ > except: > logger.error('corrupted file %s, deleting it!' \ > % self.shelve_name) > - os.unlink(self.shelve_name) > + try: > + os.unlink(self.shelve_name) > + except: > + pass # open could fail in case the fail doensn't exist.. > Unlink > will fail than also... > if locker_locked: > portalocker.unlock(locker) > if locker: