Example #1
0
def main():
    from argparse import ArgumentParser
    from json import dump
    from os import getcwd, path
    from sys import stdin, stdout
    from urllib import pathname2url
    from webvtt import parse
    from pyld.jsonld import JsonLdProcessor

    aparser = ArgumentParser(description="webvtt2rdf converter")
    aparser.add_argument("-i", "--input", type=file, default=stdin)
    aparser.add_argument("-f", "--flatten", action="store_true")
    aparser.add_argument("-v", "--video", type=str,
                         default="http://example.org/video.mp4")
    aparser.add_argument("-F", "--format", choices=["json-ld", "nquads"],
                         default="nquads")
    args = aparser.parse_args()

    if args.input is stdin:
        base = "stdin:"
    else:
        base = "file://" + pathname2url(path.join(getcwd(), args.input.name))
        
    jsonld = webvtt2jsonld(parse(args.input),
                           base,
                           args.video,
                           flatten=args.flatten,
    )
    if args.format == "json-ld":
        dump(jsonld, stdout, indent=4); print "\n"
    else:
        proc = JsonLdProcessor()
        print proc.to_nquads(proc.to_rdf(jsonld, None))
Example #2
0
def check_file(filename):
    # test filename are structured as inXX.vtt,
    # and result filenames are structured as outXX.json
    resultname = "out%s.json" % (filename[2:-4])
    with open(join(DIR, filename)) as infile:
        got = parse(infile, True)
    with open(join(DIR, resultname)) as outfile:
        exp = load_json(outfile)
    assert got == exp, dumps(got, indent=4)