Правка логики ошибки при отсутствии пользользовательской функции

master 3.7.3.13
root 1 year ago
parent 55ccbf0475
commit d1284f1e8a

@ -3677,9 +3677,9 @@ class templateFunction(_error, _warning, _shareTemplate, _shareTermsFunction,
os.listdir(pathJoin(dirPath, 'scripts/functions/'))]]
if customFunc:
try:
execName = ''
primeTemp = customFunc[-1]
funArgv = funcEnd.rpartition(")")[0].split(',')
#funArgvWithQuotes = [f'"{x}"' for x in funArgv]
execName = [x for x in os.listdir(pathJoin(primeTemp, 'scripts/functions/')) if x.split('.')[0] == funcName][0]
funcRes = subprocess.check_output([pathJoin(primeTemp, 'scripts/functions/', execName), *funArgv], encoding='UTF-8').strip()
textTemplateTmp = textTemplateTmp.replace(mark, funcRes)
@ -3688,10 +3688,14 @@ class templateFunction(_error, _warning, _shareTemplate, _shareTermsFunction,
else:
resS = None
except PermissionError:
if not execName:
execName = funcName
self.printWARNING(_("Permission denied for function %s. Please check 'x' permissions" % pathJoin(primeTemp, 'scripts/functions/', execName)))
textTemplateTmp = textTemplateTmp.replace(mark, '')
resS = funcSearch(textTemplateTmp)
except Exception:
if not execName:
execName = funcName
self.printWARNING(_("Failed to apply custom function %s" % pathJoin(primeTemp, 'scripts/functions/', execName)))
textTemplateTmp = textTemplateTmp.replace(mark, '')
resS = funcSearch(textTemplateTmp)

Loading…
Cancel
Save