|
|
@ -4,16 +4,20 @@ from argparse import ArgumentParser |
|
|
|
import json, sys |
|
|
|
from urllib import urlencode |
|
|
|
from urllib2 import urlopen, HTTPError, URLError |
|
|
|
import requests |
|
|
|
|
|
|
|
|
|
|
|
LIMIT_BYTES = 100*1000 |
|
|
|
|
|
|
|
def main(args): |
|
|
|
p = ArgumentParser("calls the getText API function for the given padid") |
|
|
|
p.add_argument("padid", help="the padid") |
|
|
|
p.add_argument("--text", default=None, help="text, default: read from stdin") |
|
|
|
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json") |
|
|
|
p.add_argument("--showurl", default=False, action="store_true") |
|
|
|
p.add_argument("--format", default="text", help="output format, can be: text, json; default: text") |
|
|
|
# p.add_argument("--format", default="text", help="output format, can be: text, json; default: text") |
|
|
|
p.add_argument("--create", default=False, action="store_true", help="flag to create pad if necessary") |
|
|
|
p.add_argument("--limit", default=False, action="store_true", help="limit text to 100k (etherpad limit)") |
|
|
|
args = p.parse_args(args) |
|
|
|
|
|
|
|
with open(args.padinfo) as f: |
|
|
@ -31,19 +35,26 @@ def main(args): |
|
|
|
# print json.dumps(results, indent=2) |
|
|
|
if results['code'] != 0: |
|
|
|
createPad = True |
|
|
|
|
|
|
|
if args.text: |
|
|
|
text = args.text |
|
|
|
else: |
|
|
|
text = sys.stdin.read() |
|
|
|
|
|
|
|
if len(text) > LIMIT_BYTES and args.limit: |
|
|
|
print "limiting", len(text), LIMIT_BYTES |
|
|
|
text = text[:LIMIT_BYTES] |
|
|
|
|
|
|
|
data['text'] = text |
|
|
|
|
|
|
|
if createPad: |
|
|
|
requesturl = apiurl+'createPad?'+urlencode(data) |
|
|
|
requesturl = apiurl+'createPad' |
|
|
|
else: |
|
|
|
requesturl = apiurl+'setText?'+urlencode(data) |
|
|
|
requesturl = apiurl+'setText' |
|
|
|
|
|
|
|
if args.showurl: |
|
|
|
print requesturl |
|
|
|
else: |
|
|
|
results = json.load(urlopen(requesturl)) |
|
|
|
results = requests.post(requesturl, data=data) # json.load(urlopen(requesturl)) |
|
|
|
results = json.loads(results.text) |
|
|
|
print json.dumps(results, indent=2) |
|
|
|