Mercurial > repos > shellac > guppy_basecaller
view env/lib/python3.7/site-packages/rdflib/extras/cmdlineutils.py @ 3:758bc20232e8 draft
"planemo upload commit 2a0fe2cc28b09e101d37293e53e82f61762262ec"
author | shellac |
---|---|
date | Thu, 14 May 2020 16:20:52 -0400 |
parents | 26e78fe6e8c4 |
children |
line wrap: on
line source
import sys import time import getopt import rdflib import codecs from rdflib.util import guess_format def _help(): sys.stderr.write(""" program.py [-f <format>] [-o <output>] [files...] Read RDF files given on STDOUT - does something to the resulting graph If no files are given, read from stdin -o specifies file for output, if not given stdout is used -f specifies parser to use, if not given it is guessed from extension """) def main(target, _help=_help, options="", stdin=True): """ A main function for tools that read RDF from files given on commandline or from STDIN (if stdin parameter is true) """ args, files = getopt.getopt(sys.argv[1:], "hf:o:" + options) dargs = dict(args) if "-h" in dargs: _help() sys.exit(-1) g = rdflib.Graph() if "-f" in dargs: f = dargs["-f"] else: f = None if "-o" in dargs: sys.stderr.write("Output to %s\n" % dargs["-o"]) out = codecs.open(dargs["-o"], "w", "utf-8") else: out = sys.stdout start = time.time() if len(files) == 0 and stdin: sys.stderr.write("Reading from stdin as %s..." % f) g.load(sys.stdin, format=f) sys.stderr.write("[done]\n") else: size = 0 for x in files: if f is None: f = guess_format(x) start1 = time.time() sys.stderr.write("Loading %s as %s... " % (x, f)) g.load(x, format=f) sys.stderr.write("done.\t(%d triples\t%.2f seconds)\n" % (len(g) - size, time.time() - start1)) size = len(g) sys.stderr.write("Loaded a total of %d triples in %.2f seconds.\n" % (len(g), time.time() - start)) target(g, out, args)