34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
from etherdump.commands.sethtml import sethtml, pushhtml
|
|
import argparse
|
|
import os, sys
|
|
import json
|
|
|
|
|
|
def main(args):
|
|
p = argparse.ArgumentParser("""Indiscriminantly PUSH the contents of dumped html files to an etherpad, clobbering any existing content!""")
|
|
p.add_argument("input", nargs="+", help="Metadata files, e.g. *.meta.json")
|
|
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json")
|
|
p.add_argument("--basepath", default=".")
|
|
args = p.parse_args(args)
|
|
|
|
with open(args.padinfo) as f:
|
|
info = json.load(f)
|
|
|
|
apiurl = info.get("localapiurl", info["apiurl"])
|
|
apikey = info['apikey']
|
|
for n in args.input:
|
|
with open(n) as f:
|
|
meta = json.load(f)
|
|
for v in meta['versions']:
|
|
if v['type'] == 'html':
|
|
path = v['path']
|
|
if args.basepath:
|
|
path = os.path.join(args.basepath, path)
|
|
break
|
|
padid = meta['padid']
|
|
with open(path) as f:
|
|
htmlsrc = f.read()
|
|
print ("Pushing {0} to {1}".format(path, padid), file=sys.stderr)
|
|
pushhtml(apiurl, apikey, padid, htmlsrc)
|
|
|