diff --git a/applications/admin/controllers/default.py b/applications/admin/controllers/default.py index eb2d32f2..928ba690 100644 --- a/applications/admin/controllers/default.py +++ b/applications/admin/controllers/default.py @@ -1082,6 +1082,9 @@ def about(): return dict(app=app, about=MARKMIN(about), license=MARKMIN(license), progress=report_progress(app)) +regex_include = r"""(?P\{\{\s*include\s+['"](?P[^'"]*)['"]\s*\}\})""" +regex_extend = r"""^\s*(?P\{\{\s*extend\s+['"](?P[^'"]+)['"]\s*\}\})""" + def design(): """ Application design handler """ app = get_app() @@ -1118,9 +1121,10 @@ def design(): models = listdir(apath('%s/models/' % app, r=request), '.*\.py$') models = [x.replace('\\', '/') for x in models] defines = {} + regex_tables = r"""^[\w]+\.define_table\(\s*['"](?P\w+)['"]""" for m in models: data = safe_read(apath('%s/models/%s' % (app, m), r=request)) - defines[m] = regex_tables.findall(data) + defines[m] = re.findall(regex_tables, data, re.MULTILINE) defines[m].sort() # Get all controllers @@ -1144,12 +1148,12 @@ def design(): include = {} for c in views: data = safe_read(apath('%s/views/%s' % (app, c), r=request)) - items = regex_extend.findall(data) + items = re.findall(regex_extend, data, re.MULTILINE) if items: extend[c] = items[0][1] - items = regex_include.findall(data) + items = re.findall(regex_include, data) include[c] = [i[1] for i in items] # Get all modules @@ -1285,11 +1289,11 @@ def plugin(): include = {} for c in views: data = safe_read(apath('%s/views/%s' % (app, c), r=request)) - items = regex_extend.findall(data) + items = re.findall(regex_extend, data, re.MULTILINE) if items: extend[c] = items[0][1] - items = regex_include.findall(data) + items = re.findall(regex_include, data) include[c] = [i[1] for i in items] # Get all modules diff --git a/applications/admin/models/0_imports.py b/applications/admin/models/0_imports.py index b911c0e7..6b550b83 100644 --- a/applications/admin/models/0_imports.py +++ b/applications/admin/models/0_imports.py @@ -25,6 +25,5 @@ from gluon.utils import md5_hash from gluon.fileutils import listdir, cleanpath, up from gluon.fileutils import tar, tar_compiled, untar, fix_newlines from gluon.languages import findT, update_all_languages -from gluon.myregex import * from gluon.restricted import * from gluon.compileapp import compile_application, remove_compiled_application