diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/tools/ivigenerator/generate.py | 6 | ||||
-rw-r--r-- | src/tools/ivigenerator/generator/global_functions.py | 7 |
2 files changed, 6 insertions, 7 deletions
diff --git a/src/tools/ivigenerator/generate.py b/src/tools/ivigenerator/generate.py index ba35506..ba6c213 100755 --- a/src/tools/ivigenerator/generate.py +++ b/src/tools/ivigenerator/generate.py @@ -50,7 +50,7 @@ from qface.generator import FileSystem, Generator from qface.watch import monitor import generator.builtin_config as builtin_config -from generator.global_functions import register_global_functions +import generator.global_functions as global_functions from generator.filters import register_filters from generator.rule_generator import CustomRuleGenerator @@ -61,7 +61,6 @@ log = logging.getLogger(__file__) builtinTemplatesPath = Path(here / 'templates') builtinTemplates = [os.path.splitext(f)[0] for f in os.listdir(builtinTemplatesPath) if fnmatch.fnmatch(f, '*.yaml')] - def validateType(srcFile, type, errorString): if type.is_interface: sys.exit("{0}: {1} of type 'interface' are not supported".format(srcFile, errorString)) @@ -116,12 +115,13 @@ def generate(tplconfig, moduleConfig, annotations, imports, src, dst): srcFile = os.path.basename(src[0]) srcBase = os.path.splitext(srcFile)[0] + global_functions.currentSrcFile = srcFile ctx = {'qtASVersion': builtin_config.config["VERSION"], 'srcFile': srcFile, 'srcBase': srcBase} generator = CustomRuleGenerator(search_path=[tplconfig, builtinTemplatesPath], destination=dst, context=ctx, modules=module_names) generator.env.keep_trailing_newline = True - register_global_functions(generator) + global_functions.register_global_functions(generator) register_filters(generator) validateSystem(srcFile, system) diff --git a/src/tools/ivigenerator/generator/global_functions.py b/src/tools/ivigenerator/generator/global_functions.py index 69c60e5..279baa2 100644 --- a/src/tools/ivigenerator/generator/global_functions.py +++ b/src/tools/ivigenerator/generator/global_functions.py @@ -45,6 +45,7 @@ import click from jinja2 import TemplateAssertionError from jinja2 import contextfunction +currentSrcFile = "" def jinjaTrace(): """ @@ -60,9 +61,7 @@ def jinjaTrace(): frame = frame.f_back return infos - -@contextfunction -def jinja_error(context, msg): +def jinja_error(msg): """ Throws an error for the current jinja template and the templates this is included from This can be used inside a filter to indicate problems with the passed arguments or direclty @@ -74,7 +73,7 @@ def jinja_error(context, msg): if len(infos) > 1: for info in infos[1:]: message = message + "\n{0}:{1}: instantiated from here".format(info[0], info[1]) - message = message + "\n{0}: instantiated from here".format(context["srcFile"]) + message = message + "\n{0}: instantiated from here".format(currentSrcFile) raise TemplateAssertionError(message, infos[0][1], "", infos[0][0]) raise TemplateAssertionError(msg, -1, "", "unknown") |