rewrite patch, thanks Vladyslav (and Jonathan for checking it)
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 2.00.0 (2012-07-14 23:25:31) dev
|
Version 2.00.0 (2012-07-14 23:27:03) dev
|
||||||
|
|||||||
+7
-7
@@ -261,7 +261,7 @@ def load(routes='routes.py', app=None, data=None, rdict=None):
|
|||||||
return
|
return
|
||||||
data = read_file(path).replace('\r\n','\n')
|
data = read_file(path).replace('\r\n','\n')
|
||||||
|
|
||||||
symbols = {}
|
symbols = dict(app=app)
|
||||||
try:
|
try:
|
||||||
exec (data + '\n') in symbols
|
exec (data + '\n') in symbols
|
||||||
except SyntaxError, e:
|
except SyntaxError, e:
|
||||||
@@ -385,15 +385,15 @@ def load_routers(all_apps):
|
|||||||
all_apps.append(app)
|
all_apps.append(app)
|
||||||
router = Storage(routers.BASE) # new copy
|
router = Storage(routers.BASE) # new copy
|
||||||
if app != 'BASE':
|
if app != 'BASE':
|
||||||
for key in routers[app].keys():
|
keys = set(routers[app]).intersection(ROUTER_BASE_KEYS)
|
||||||
if key in ROUTER_BASE_KEYS:
|
if keys:
|
||||||
raise SyntaxError, "BASE-only key '%s' in router '%s'" % (key, app)
|
raise SyntaxError, "BASE-only key(s) %s in router '%s'" % (tuple(keys), app)
|
||||||
router.update(routers[app])
|
router.update(routers[app])
|
||||||
routers[app] = router
|
routers[app] = router
|
||||||
router = routers[app]
|
router = routers[app]
|
||||||
for key in router.keys():
|
keys = set(router).difference(ROUTER_KEYS)
|
||||||
if key not in ROUTER_KEYS:
|
if keys:
|
||||||
raise SyntaxError, "unknown key '%s' in router '%s'" % (key, app)
|
raise SyntaxError, "unknown key(s) %s in router '%s'" % (tuple(keys), app)
|
||||||
if not router.controllers:
|
if not router.controllers:
|
||||||
router.controllers = set()
|
router.controllers = set()
|
||||||
elif not isinstance(router.controllers, str):
|
elif not isinstance(router.controllers, str):
|
||||||
|
|||||||
Reference in New Issue
Block a user