summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorentin Noël <corentin@elementary.io>2018-11-23 12:13:54 +0100
committerCorentin Noël <corentin@elementary.io>2018-11-23 12:16:28 +0100
commit8560317c15d890e8ecfbda9e12cc45cbfda5eb7e (patch)
tree775ecbaa5d0ff6360416c0a48092f5c1912bfcb9
parent131a84f1a65a4ce8bffd94f52746425f7e96b7ae (diff)
downloadzeitgeist-8560317c15d890e8ecfbda9e12cc45cbfda5eb7e.tar.gz
Update Ontology2code to ba able to specify the output path
-rwxr-xr-xdata/ontology2code36
-rw-r--r--libzeitgeist/Makefile.am9
2 files changed, 24 insertions, 21 deletions
diff --git a/data/ontology2code b/data/ontology2code
index b8efbfdc..c4bfd842 100755
--- a/data/ontology2code
+++ b/data/ontology2code
@@ -32,6 +32,7 @@ import codecs
import commands
import StringIO
import collections
+import argparse
import rdflib
from rdflib import RDF, RDFS
@@ -349,14 +350,12 @@ class OntologyCodeGenerator:
_INSERTION_MARK = '// *insert-auto-generated-code*'
_selfpath = None
- _basepath = None
_parser = None
_python_serializer = None
_vala_serializer = None
def __init__(self):
self._selfpath = os.path.dirname(os.path.abspath(__file__))
- self._basepath = os.path.join(self._selfpath, '..')
self._parser = OntologyParser(os.path.join(self._selfpath, 'ontology'))
self._python_serializer = PythonSerializer(self._parser)
self._vala_serializer = ValaSerializer(self._parser)
@@ -364,17 +363,19 @@ class OntologyCodeGenerator:
def generate_python(self):
self._python_serializer.dump()
- def generate_vala(self):
- self._write_file('libzeitgeist/ontology-uris.vala.in', 'libzeitgeist/ontology-uris.vala',
+ def generate_vala(self, uris_tpl, symbols_tpl, uris_out, symbols_out):
+ self._write_file(uris_tpl, uris_out,
self._vala_serializer.dump_uris, 'vala')
- self._write_file('libzeitgeist/ontology.vala.in', 'libzeitgeist/ontology.vala',
+ self._write_file(symbols_tpl, symbols_out,
self._vala_serializer.dump_symbols, 'vala')
def _write_file(self, tplfilename, outfilename, content_generator, _type):
- print >>sys.stderr, "Generating %s..." % outfilename
+ print >>sys.stderr, "Generating %s..." % os.path.basename(outfilename)
# Read template file
- tplfilename = os.path.join(self._basepath, tplfilename)
+ if not os.path.isabs (tplfilename):
+ tplfilename = os.path.join(os.getcwd(), tplfilename)
+
template = open(tplfilename).read()
# Generate output
@@ -397,7 +398,11 @@ class OntologyCodeGenerator:
output.write(template[continue_pos+len(self._INSERTION_MARK):])
# Write everything to the result file
- outpath = os.path.join(self._basepath, outfilename)
+ if os.path.isabs (outfilename):
+ outpath = outfilename
+ else:
+ outpath = os.path.join(os.getcwd(), outfilename)
+
open(outpath, 'w').write(output.getvalue())
def _write_header(self, dest, _type):
@@ -412,13 +417,16 @@ class OntologyCodeGenerator:
pass
if __name__ == "__main__":
- if len(sys.argv) != 2 or sys.argv[1] not in ('--vala', '--dump-python'):
- raise SystemExit, 'Usage: %s [--vala|--dump-python]' % \
- sys.argv[0]
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--vala', nargs=4, metavar=('URI_TEMPLATE', 'SYMBOLS_TEMPLATE', 'URI_DESTINATION', 'SYMBOLS_DESTINATION'))
+ parser.add_argument('--dump-python', action='store_false')
+
+ args = parser.parse_args()
+
generator = OntologyCodeGenerator()
- if sys.argv[1] == '--vala':
- generator.generate_vala()
- elif sys.argv[1] == '--dump-python':
+ if args.vala:
+ generator.generate_vala(args.vala[0], args.vala[1], args.vala[2], args.vala[3])
+ elif args.dump_python:
generator.generate_python()
# vim:noexpandtab:ts=4:sw=4
diff --git a/libzeitgeist/Makefile.am b/libzeitgeist/Makefile.am
index cd27fb5f..07da0ff7 100644
--- a/libzeitgeist/Makefile.am
+++ b/libzeitgeist/Makefile.am
@@ -167,7 +167,6 @@ EXTRA_DIST = \
zeitgeist-2.0.deps \
ontology.vala.in \
ontology-uris.vala.in \
- ontology_vala.stamp \
$(NULL)
CLEANFILES = \
@@ -228,13 +227,9 @@ CLEANFILES += \
$(NULL)
endif
-ontology.vala ontology-uris.vala: ontology_vala.stamp
-ontology_vala.stamp: ontology.vala.in ontology-uris.vala.in \
+ontology.vala ontology-uris.vala: ontology.vala.in ontology-uris.vala.in \
$(ONTOLOGY) $(top_srcdir)/data/ontology2code
- $(AM_V_at)touch ontology.vala
- $(AM_V_at)touch ontology-uris.vala
- $(AM_V_GEN)$(top_srcdir)/data/ontology2code --vala
- $(AM_V_at)touch $@
+ $(AM_V_GEN)$(top_srcdir)/data/ontology2code --vala $(top_srcdir)/libzeitgeist/ontology-uris.vala.in $(top_srcdir)/libzeitgeist/ontology.vala.in ontology-uris.vala ontology.vala
distclean-local:
rm -f *.c *.o *.stamp *.~[0-9]~