summaryrefslogtreecommitdiff
path: root/tools/formatSoftware.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/formatSoftware.py')
-rwxr-xr-xtools/formatSoftware.py54
1 files changed, 2 insertions, 52 deletions
diff --git a/tools/formatSoftware.py b/tools/formatSoftware.py
index a54a740..756a247 100755
--- a/tools/formatSoftware.py
+++ b/tools/formatSoftware.py
@@ -7,57 +7,7 @@ import sys
from itertools import chain, groupby
from jinja2 import Environment
from formatRefs import first
-
-class RDFWalker:
- """
- Simple RDF graph walker
- """
-
- def __init__ (self, g, s, n, path=[]):
- """
- :param g: Graph
- :param s: Namespace
- :param n: Start node
- """
- self.g = g
- self.n = n
- self.s = s
- self._path = path
-
- def __getattr__ (self, k):
- """
- If k is underscore _, walk up tree one level, otherwise search for
- direct descendents and get first one.
- """
- if k == '_':
- return RDFWalker (self.g, self.s, self._path[0], self._path[1:])
- yieldall = False
- if k.endswith ('_'):
- yieldall = True
- k = k[:-1]
-
- if k == 'a':
- attr = RDF.type
- else:
- attr = getattr (self.s, k)
-
- ret = [RDFWalker (self.g, self.s, n, [self.n] + self._path) for n in self.g.objects (self.n, attr)]
-
- if yieldall:
- return ret
- elif not ret:
- return None
- else:
- return ret[0]
-
- def __eq__ (self, b):
- return self.n == b.n
-
- def __lt__ (self, b):
- return str (self) < str (b)
-
- def __str__ (self):
- return str (self.n)
+from rdf import RDFWalker
if __name__ == '__main__':
env = Environment ()
@@ -108,7 +58,7 @@ if __name__ == '__main__':
</div>
{% endfor %}""")
g = Graph()
- result = g.parse ("index.ttl", format='turtle')
+ result = g.parse (sys.stdin, format='turtle')
s = Namespace ("https://schema.org/")
items = []