From fb53c16ca6a8696638c50a300e1b31beb5cbdee4 Mon Sep 17 00:00:00 2001 From: Michael Murtaugh Date: Thu, 23 Jul 2015 18:35:32 +0200 Subject: [PATCH] more utility functions --- getRevisionsCount.py | 26 ++++++++++++++++++++++++++ listAuthorsOfPad.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100755 getRevisionsCount.py create mode 100755 listAuthorsOfPad.py diff --git a/getRevisionsCount.py b/getRevisionsCount.py new file mode 100755 index 0000000..10150e3 --- /dev/null +++ b/getRevisionsCount.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python + +from argparse import ArgumentParser +import json +from urllib import urlencode +from urllib2 import urlopen, HTTPError, URLError + +p = ArgumentParser("") +p.add_argument("padid", help="the padid") +p.add_argument("--padinfo", default="padinfo.json", help="padinfo, default: padinfo.json") +p.add_argument("--showurl", default=False, action="store_true") +p.add_argument("--list", default=False, action="store_true", help="display one per line") +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") +requesturl = apiurl+'getRevisionsCount?'+urlencode(data) +if args.showurl: + print requesturl +else: + results = json.load(urlopen(requesturl))['data']['revisions'] + print results diff --git a/listAuthorsOfPad.py b/listAuthorsOfPad.py new file mode 100755 index 0000000..1204d50 --- /dev/null +++ b/listAuthorsOfPad.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python + +from argparse import ArgumentParser +import json +from urllib import urlencode +from urllib2 import urlopen, HTTPError, URLError + +p = ArgumentParser("") +p.add_argument("padid", help="the padid") +p.add_argument("--padinfo", default="padinfo.json", help="padinfo, default: padinfo.json") +p.add_argument("--showurl", default=False, action="store_true") +p.add_argument("--list", default=False, action="store_true", help="display one per line") +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") +requesturl = apiurl+'listAuthorsOfPad?'+urlencode(data) +if args.showurl: + print requesturl +else: + results = json.load(urlopen(requesturl))['data']['authorIDs'] + if args.list: + for r in results: + print r + else: + print json.dumps(results)