No. perhaps the file just had wrong permissions. On Monday, 4 January 2016 06:30:02 UTC-6, Jacinto Parga wrote: > > I have solved it. > > I have removed *logging.conf* file from the web2py folder, but I don't > know if it has undesidered consecuences! > > Can it be harmful? > > Thanks! > > El lunes, 4 de enero de 2016, 11:52:22 (UTC+1), Jacinto Parga escribió: >> >> Hi, >> >> I upgraded from 2.11.2 >> >> I get a error ticket when I deploy to GAE: >> >> Traceback (most recent call last): >> File >> "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py" >> , line 240, in Handle >> handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) >> File >> "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py" >> , line 299, in _LoadHandler >> handler, path, err = LoadObject(self._handler) >> File >> "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py" >> , line 85, in LoadObject >> obj = __import__(path[0]) >> File >> "/base/data/home/apps/s~clubatletismosada/2.389741792186866429/gaehandler.py" >> , line 62 >> <https://console.developers.google.com/debug/resolve_location?appModule=default&appVersion=2×tampNanos=1451901338552730000&file=%2Fbase%2Fdata%2Fhome%2Fapps%2Fs~clubatletismosada%2F2.389741792186866429%2Fgaehandler.py&line=62&project=clubatletismosada> >> , in <module> >> import gluon.main >> File >> "/base/data/home/apps/s~clubatletismosada/2.389741792186866429/gluon/main.py" >> , line 85 >> <https://console.developers.google.com/debug/resolve_location?appModule=default&appVersion=2×tampNanos=1451901338552730000&file=%2Fbase%2Fdata%2Fhome%2Fapps%2Fs~clubatletismosada%2F2.389741792186866429%2Fgluon%2Fmain.py&line=85&project=clubatletismosada> >> , in <module> >> logging.config.fileConfig(abspath("logging.conf")) >> File >> "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/logging/config.py" >> , line 78, in fileConfig >> handlers = _install_handlers(cp, formatters) >> File >> "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/logging/config.py" >> , line 156, in _install_handlers >> h = klass(*args) >> File >> "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/logging/handlers.py" >> , line 117, in __init__ >> BaseRotatingHandler.__init__(self, filename, mode, encoding, delay) >> File >> "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/logging/handlers.py" >> , line 64, in __init__ >> logging.FileHandler.__init__(self, filename, mode, encoding, delay) >> File >> "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/logging/__init__.py" >> , line 902, in __init__ >> StreamHandler.__init__(self, self._open()) >> File >> "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/logging/__init__.py" >> , line 925, in _open >> stream = open(self.baseFilename, self.mode) >> IOError: [Errno 30] Read-only file system: >> '/base/data/home/apps/s~clubatletismosada/2.389741792186866429/logs/web2py.log' >> >> Maybe I have missed something with the handlers? >> >> El jueves, 24 de diciembre de 2015, 16:21:42 (UTC+1), Massimo Di Pierro >> escribió: >>> >>> web2py 2.13.3 is out. MERRY CHRISTMAS EVERYBODY!!! >>> >>> It contains some bug fixes for bugs introduced in 2.13.1-2 and most >>> importantly it contains experimental support for JWT. Here is how it works: >>> >>> 1) instantiate auth with >>> >>> auth = Auth(db, jwt = {'secret_key':'secret'}) >>> >>> where 'secret' is your own secret string. >>> >>> 2) Secorate functions that require login but should accept the >>> JWT token credentials: >>> >>> @auth.allows_jwt() >>> @auth.requires_login() >>> def myapi(): return 'hello %s' % auth.user.email >>> >>> Notice jwt is allowed but not required. if user is logged in, >>> myapi is accessible. >>> >>> 3) Use it! >>> Now API users can obtain a token with >>> >>> http://.../app/default/user/jwt?username=...&password=.... >>> >>> (returns json object with a token attribute) >>> API users can refresh an existing token with >>> >>> http://.../app/default/user/jwt?token=... >>> >>> they can authenticate themselves when calling http:/.../myapi by >>> injecting a header >>> >>> Authorization: Bearer <the jwt token> >>> >>> Any additional attributes in the jwt argument of Auth() below: >>> >>> auth = Auth(db, jwt = {...}) >>> >>> are passed to the constructor of class AuthJWT. Look there for >>> documentation. >>> >>> Thanks Niphlod again for implementing this. >>> Please help us check it so we will declare it stable in the next release. >>> >>> Massimo >>> >>> >>>
-- 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.