summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuergen Bocklage-Ryannel <juergen.bocklage-ryannel@pelagicore.com>2017-01-13 10:37:30 +0100
committerJuergen Bocklage-Ryannel <juergen.bocklage-ryannel@pelagicore.com>2017-01-13 10:37:30 +0100
commit440e3fe4818100d9164491f609148fdcca8f7089 (patch)
treeeda481be68de7c4bcbbea97b9153211cbd5ced76
parent4c664801cc72477d5062966659bf0e75bfc518d2 (diff)
downloadqtivi-qface-440e3fe4818100d9164491f609148fdcca8f7089.tar.gz
some minor code layout changes
-rw-r--r--examples/qtcpp/generator/log.yaml2
-rwxr-xr-xexamples/qtcpp/generator/qtcpp.py25
-rw-r--r--qface/generator.py1
3 files changed, 19 insertions, 9 deletions
diff --git a/examples/qtcpp/generator/log.yaml b/examples/qtcpp/generator/log.yaml
index 61e7815..21b5bba 100644
--- a/examples/qtcpp/generator/log.yaml
+++ b/examples/qtcpp/generator/log.yaml
@@ -5,7 +5,7 @@ formatters:
handlers:
console:
class: logging.StreamHandler
- level: DEBUG
+ level: INFO
formatter: simple
stream: ext://sys.stdout
loggers:
diff --git a/examples/qtcpp/generator/qtcpp.py b/examples/qtcpp/generator/qtcpp.py
index 030e0f5..7bf642d 100755
--- a/examples/qtcpp/generator/qtcpp.py
+++ b/examples/qtcpp/generator/qtcpp.py
@@ -5,22 +5,29 @@ import click
import logging
import logging.config
import yaml
+from path import Path
+
from qface.generator import FileSystem, Generator
from qface.helper.qtcpp import Filters
-import os
-from path import Path
-here = os.path.dirname(__file__)
+
+here = Path(__file__).dirname()
+
+logging.config.dictConfig(yaml.load(open(here / 'log.yaml')))
+
+log = logging.getLogger(__file__)
-def run_generation(input, output):
+def run(input, output):
+ log.debug('run {0} {1}'.format(input, output))
system = FileSystem.parse(input)
- generator = Generator(searchpath=os.path.join(here, 'templates'))
+ generator = Generator(searchpath=here / 'templates')
generator.register_filter('returnType', Filters.returnType)
generator.register_filter('parameterType', Filters.parameterType)
generator.register_filter('defaultValue', Filters.defaultValue)
ctx = {'output': output}
for module in system.modules:
+ log.debug('generate code for module %s', module)
ctx.update({'module': module})
dst = generator.apply('{{output}}/{{module|lower|replace(".", "-")}}', ctx)
ctx.update({'dst': dst})
@@ -32,12 +39,14 @@ def run_generation(input, output):
generator.write('{{dst}}/generated/qml{{module.module_name|lower}}module.h', 'module.h', ctx)
generator.write('{{dst}}/generated/qml{{module.module_name|lower}}module.cpp', 'module.cpp', ctx)
for interface in module.interfaces:
+ log.debug('generate code for interface %s', interface)
ctx.update({'interface': interface})
generator.write('{{dst}}/qml{{interface|lower}}.h', 'interface.h', ctx, preserve=True)
generator.write('{{dst}}/qml{{interface|lower}}.cpp', 'interface.cpp', ctx, preserve=True)
generator.write('{{dst}}/generated/qmlabstract{{interface|lower}}.h', 'abstractinterface.h', ctx)
generator.write('{{dst}}/generated/qmlabstract{{interface|lower}}.cpp', 'abstractinterface.cpp', ctx)
for struct in module.structs:
+ log.debug('generate code for struct %s', struct)
ctx.update({'struct': struct})
generator.write('{{dst}}/generated/qml{{struct|lower}}.h', 'struct.h', ctx)
generator.write('{{dst}}/generated/qml{{struct|lower}}.cpp', 'struct.cpp', ctx)
@@ -48,11 +57,11 @@ def run_generation(input, output):
@click.command()
@click.argument('input', nargs=-1, type=click.Path(exists=True))
@click.argument('output', nargs=1, type=click.Path(exists=True))
-def generate(input, output):
+def app(input, output):
"""Takes several files or directories as input and generates the code
in the given output directory."""
- run_generation(input, output)
+ run(input, output)
if __name__ == '__main__':
- generate()
+ app()
diff --git a/qface/generator.py b/qface/generator.py
index 9861162..cb30d06 100644
--- a/qface/generator.py
+++ b/qface/generator.py
@@ -39,6 +39,7 @@ class Generator(object):
)
self.env.filters['upperfirst'] = upper_first_filter
self._destination = Path()
+ self.prefix = ''
@property
def destination(self):