"""convert FS path into web path"""
return '/'.join(path.split(os.path.sep))
- def manifest_glob(extension, addons=None, db=None):
-def manifest_glob(req, extension, addons=None, db=None, include_remotes=False):
++def manifest_glob(extension, addons=None, db=None, include_remotes=False):
if addons is None:
- addons = module_boot(req, db=db)
+ addons = module_boot(db=db)
else:
addons = addons.split(',')
r = []
addons_path = os.path.join(manifest['addons_path'], '')[:-1]
globlist = manifest.get(extension, [])
for pattern in globlist:
- for path in glob.glob(os.path.normpath(os.path.join(addons_path, addon, pattern))):
- r.append((path, fs2web(path[len(addons_path):])))
+ if pattern.startswith(('http://', 'https://', '//')):
+ if include_remotes:
+ r.append((None, pattern))
+ else:
+ for path in glob.glob(os.path.normpath(os.path.join(addons_path, addon, pattern))):
+ r.append((path, fs2web(path[len(addons_path):])))
return r
-def manifest_list(req, extension, mods=None, db=None):
+def manifest_list(extension, mods=None, db=None):
""" list ressources to load specifying either:
mods: a comma separated string listing modules
db: a database name (return all installed modules in that database)
"""
- files = manifest_glob(req, extension, addons=mods, db=db, include_remotes=True)
++ files = manifest_glob(extension, addons=mods, db=db, include_remotes=True)
if not req.debug:
path = '/web/webclient/' + extension
if mods is not None:
akw[key] = value
else:
akw[key] = type(value)
- _logger.debug("%s --> %s.%s %r", self.httprequest.method, method.im_class.__name__, method.__name__, akw)
+ #_logger.debug("%s --> %s.%s %r", self.httprequest.method, method.im_class.__name__, method.__name__, akw)
try:
- r = method(self, **self.params)
+ r = method(**self.params)
+ except werkzeug.exceptions.HTTPException, e:
+ r = e
except Exception, e:
_logger.exception("An exception occured during an http request")
se = serialize_exception(e)