From 0372c50ef5175b2ad208550c29027af4c296c544 Mon Sep 17 00:00:00 2001 From: mdipierro Date: Sun, 12 May 2019 17:34:24 -0700 Subject: [PATCH] restored some missing regex, thanks Paolo Pastori --- applications/admin/controllers/default.py | 14 +++++++++----- applications/admin/models/0_imports.py | 1 - 2 files changed, 9 insertions(+), 6 deletions(-) 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