From c00e9d89f66a89acf38c0acc5d9d3ff058f4bebe Mon Sep 17 00:00:00 2001 From: Michael Murtaugh Date: Thu, 17 Sep 2015 17:21:20 +0200 Subject: [PATCH] old dump history, started reorg as package --- dump_history.py | 38 ++++++++++++++++++++++++++++++++++++++ etherdump => etherdump.py | 0 padinfo.sample.json | 8 -------- setup.py | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 74 insertions(+), 8 deletions(-) create mode 100755 dump_history.py rename etherdump => etherdump.py (100%) delete mode 100644 padinfo.sample.json create mode 100644 setup.py diff --git a/dump_history.py b/dump_history.py new file mode 100755 index 0000000..d5028a5 --- /dev/null +++ b/dump_history.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python +from __future__ import print_function +from argparse import ArgumentParser +import json, sys +from urllib import urlencode +from urllib2 import urlopen, HTTPError, URLError + +p = ArgumentParser("") +p.add_argument("padid", help="the padid") +p.add_argument("--startrev", type=int, default=2, help="starting revision") +p.add_argument("--endrev", type=int, default=None, help="ending revision, default: last") +p.add_argument("--padinfo", default="padinfo.json", help="padinfo, default: padinfo.json") +p.add_argument("--dir", default="out") +args = p.parse_args() + +with open(args.padinfo) as f: + info = json.load(f) +apiurl = "{0[protocol]}://{0[hostname]}:{0[port]}{0[apiurl]}{0[apiversion]}/".format(info) +data = {} +data['apikey'] = info['apikey'] +data['padID'] = args.padid.encode("utf-8") + + +total_revisions = apiurl+'getRevisionsCount?'+urlencode(data) +total_revisions = json.load(urlopen(total_revisions))['data']['revisions'] +rev = args.startrev +print ("Dumping {0} revisions...".format(total_revisions), file=sys.stderr) + +data['startRev'] = "1" +while rev <= total_revisions: + data['endRev'] = "{0}".format(rev) + requesturl = apiurl+'createDiffHTML?'+urlencode(data) + html = json.load(urlopen(requesturl))['data']['html'] + out = "{0}/{1}_{2:06d}.html".format(args.dir, args.padid, rev) + print ("writing {0}".format(out), file=sys.stderr) + with open(out, "w") as f: + f.write(html.encode("utf-8")) + rev += 1 \ No newline at end of file diff --git a/etherdump b/etherdump.py similarity index 100% rename from etherdump rename to etherdump.py diff --git a/padinfo.sample.json b/padinfo.sample.json deleted file mode 100644 index bfa3bbd..0000000 --- a/padinfo.sample.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "protocol": "http", - "hostname": "localhost", - "port": 9001, - "apiurl": "/api/", - "apiversion": "1.2.9", - "apikey": "XXXXXXXXXXXXXXXXXXXXXXXXX" -} diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..2fc74e4 --- /dev/null +++ b/setup.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python +import distutils.command.install_lib +from distutils.core import setup +import os + +def find (p, d): + ret = [] + for b, dd, ff in os.walk(os.path.join(p, d)): + + for f in ff: + if not f.startswith("."): + fp = os.path.join(b, f) + ret.append(os.path.relpath(fp, p)) + ret.sort() + # for x in ret[:10]: + # print "**", x + return ret + +setup( + name='etherdump', + version='0.3.0', + author='Michael Murtaugh', + author_email='mm@automatist.org', + packages=['etherdump'], + package_dir={'etherdump': 'etherdump'}, + #package_data={'activearchives': find("activearchives", "templates/") + find("activearchives", "data/")}, + package_data={'etherdump': find("etherdump", "data/")}, + scripts=['bin/etherdump'], + url='http://activearchives.org/wiki/Etherdump/', + license='LICENSE.txt', + description='Etherdump an etherpad publishing & archiving system', + # long_description=open('README.md').read(), + install_requires=[ + "html5lib", "jinja2" + ] +)