fixed compilerapp sorting issue, better

This commit is contained in:
mdipierro
2013-10-09 11:31:33 -05:00
parent ddc0fc9949
commit 8fb0b71be6
2 changed files with 31 additions and 27 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.7.2-stable+timestamp.2013.10.09.11.13.44 Version 2.7.2-stable+timestamp.2013.10.09.11.30.04
+18 -14
View File
@@ -513,25 +513,29 @@ def run_models_in(environment):
folder = environment['request'].folder folder = environment['request'].folder
c = environment['request'].controller c = environment['request'].controller
f = environment['request'].function f = environment['request'].function
cpath = pjoin(folder, 'compiled') response = environment['response']
if os.path.exists(cpath):
for model in sorted(listdir(cpath, '^models[_.].+\.pyc$', 0),
model_cmp):
restricted(read_pyc(model), environment, layer=model)
path = pjoin(cpath, 'models')
models = listdir(path, '^\w+\.pyc$', 0, sort=False)
compiled = True
else:
path = pjoin(folder, 'models') path = pjoin(folder, 'models')
models = listdir(path, '^\w+\.py$', 0, sort=False) cpath = pjoin(folder, 'compiled')
compiled = False compiled = os.path.exists(cpath)
if compiled:
models = sorted(listdir(cpath, '^models[_.][\w.]+\.pyc$', 0),model_cmp)
else:
models = sorted(listdir(path, '^\w+\.py$', 0, sort=False),model_cmp)
n = len(path)+1 n = len(path)+1
models_to_run = None
for model in models: for model in models:
regex = environment['response'].models_to_run if response.models_to_run != models_to_run:
regex = models_to_run = response.models_to_run
if isinstance(regex, list): if isinstance(regex, list):
regex = re_compile('|'.join(regex)) regex = re_compile('|'.join(regex))
file = model[n:].replace(os.path.sep, '/').replace('.pyc', '.py') if models_to_run:
if not regex.search(file) and c != 'appadmin': if compiled:
fname = model[n:-4].replace('.','/')+'.py'
else:
fname = model[n:].replace(os.path.sep,'/')
if not regex.search(fname) and c != 'appadmin':
continue continue
elif compiled: elif compiled:
code = read_pyc(model) code = read_pyc(model)