Mercurial > repos > guerler > springsuite
comparison planemo/lib/python3.7/site-packages/rdflib/extras/cmdlineutils.py @ 1:56ad4e20f292 draft
"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
| author | guerler |
|---|---|
| date | Fri, 31 Jul 2020 00:32:28 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 0:d30785e31577 | 1:56ad4e20f292 |
|---|---|
| 1 import sys | |
| 2 import time | |
| 3 import getopt | |
| 4 import rdflib | |
| 5 import codecs | |
| 6 | |
| 7 from rdflib.util import guess_format | |
| 8 | |
| 9 | |
| 10 def _help(): | |
| 11 sys.stderr.write(""" | |
| 12 program.py [-f <format>] [-o <output>] [files...] | |
| 13 Read RDF files given on STDOUT - does something to the resulting graph | |
| 14 If no files are given, read from stdin | |
| 15 -o specifies file for output, if not given stdout is used | |
| 16 -f specifies parser to use, if not given it is guessed from extension | |
| 17 | |
| 18 """) | |
| 19 | |
| 20 | |
| 21 def main(target, _help=_help, options="", stdin=True): | |
| 22 """ | |
| 23 A main function for tools that read RDF from files given on commandline | |
| 24 or from STDIN (if stdin parameter is true) | |
| 25 """ | |
| 26 | |
| 27 args, files = getopt.getopt(sys.argv[1:], "hf:o:" + options) | |
| 28 dargs = dict(args) | |
| 29 | |
| 30 if "-h" in dargs: | |
| 31 _help() | |
| 32 sys.exit(-1) | |
| 33 | |
| 34 g = rdflib.Graph() | |
| 35 | |
| 36 if "-f" in dargs: | |
| 37 f = dargs["-f"] | |
| 38 else: | |
| 39 f = None | |
| 40 | |
| 41 if "-o" in dargs: | |
| 42 sys.stderr.write("Output to %s\n" % dargs["-o"]) | |
| 43 out = codecs.open(dargs["-o"], "w", "utf-8") | |
| 44 else: | |
| 45 out = sys.stdout | |
| 46 | |
| 47 start = time.time() | |
| 48 if len(files) == 0 and stdin: | |
| 49 sys.stderr.write("Reading from stdin as %s..." % f) | |
| 50 g.load(sys.stdin, format=f) | |
| 51 sys.stderr.write("[done]\n") | |
| 52 else: | |
| 53 size = 0 | |
| 54 for x in files: | |
| 55 if f is None: | |
| 56 f = guess_format(x) | |
| 57 start1 = time.time() | |
| 58 sys.stderr.write("Loading %s as %s... " % (x, f)) | |
| 59 g.load(x, format=f) | |
| 60 sys.stderr.write("done.\t(%d triples\t%.2f seconds)\n" % | |
| 61 (len(g) - size, time.time() - start1)) | |
| 62 size = len(g) | |
| 63 | |
| 64 sys.stderr.write("Loaded a total of %d triples in %.2f seconds.\n" % | |
| 65 (len(g), time.time() - start)) | |
| 66 | |
| 67 target(g, out, args) |
