From 6fd24eb6cb70f23a9b43f4c95617cb21698ac8fb Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Wed, 25 Sep 2019 18:52:52 +0200 Subject: [PATCH] Migrate to Python 3 --- etherpump/commands/appendmeta.py | 2 +- etherpump/commands/common.py | 27 ++++++++++++++------------- etherpump/commands/creatediffhtml.py | 7 ++++--- etherpump/commands/deletepad.py | 7 ++++--- etherpump/commands/dumpcsv.py | 13 +++++++------ etherpump/commands/gethtml.py | 7 ++++--- etherpump/commands/gettext.py | 7 ++++--- etherpump/commands/html5tidy.py | 2 +- etherpump/commands/index.py | 13 +++++++------ etherpump/commands/init.py | 9 +++++---- etherpump/commands/join.py | 7 ++++--- etherpump/commands/list.py | 9 +++++---- etherpump/commands/listauthors.py | 7 ++++--- etherpump/commands/publication.py | 13 +++++++------ etherpump/commands/pull.py | 7 ++++--- etherpump/commands/revisionscount.py | 7 ++++--- etherpump/commands/sethtml.py | 7 ++++--- etherpump/commands/settext.py | 7 ++++--- etherpump/commands/showmeta.py | 4 ++-- etherpump/commands/status.py | 11 ++++++----- 20 files changed, 95 insertions(+), 78 deletions(-) diff --git a/etherpump/commands/appendmeta.py b/etherpump/commands/appendmeta.py index 03e505f..4e3e35a 100644 --- a/etherpump/commands/appendmeta.py +++ b/etherpump/commands/appendmeta.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -from __future__ import print_function + from argparse import ArgumentParser import json, os diff --git a/etherpump/commands/common.py b/etherpump/commands/common.py index cd5b0a0..b694ff2 100644 --- a/etherpump/commands/common.py +++ b/etherpump/commands/common.py @@ -1,15 +1,16 @@ -from __future__ import print_function + import re, os, json, sys from math import ceil, floor from time import sleep try: # python2 - from urlparse import urlparse, urlunparse - from urllib2 import urlopen, URLError, HTTPError - from urllib import urlencode - from urllib import quote_plus, unquote_plus - from htmlentitydefs import name2codepoint + from urllib.parse import urlparse, urlunparse + from urllib.request import urlopen + from urllib.error import URLError, HTTPError + from urllib.parse import urlencode + from urllib.parse import quote_plus, unquote_plus + from html.entities import name2codepoint input = raw_input except ImportError: @@ -24,12 +25,12 @@ def splitpadname (padid): if m: return(m.group(1), padid[m.end():]) else: - return (u"", padid) + return ("", padid) def padurl (padid, ): return padid -def padpath (padid, pub_path=u"", group_path=u"", normalize=False): +def padpath (padid, pub_path="", group_path="", normalize=False): g, p = splitpadname(padid) # if type(g) == unicode: # g = g.encode("utf-8") @@ -48,7 +49,7 @@ def padpath (padid, pub_path=u"", group_path=u"", normalize=False): return os.path.join(pub_path, p) def padpath2id (path): - if type(path) == unicode: + if type(path) == str: path = path.encode("utf-8") dd, p = os.path.split(path) gname = dd.split("/")[-1] @@ -95,7 +96,7 @@ def progressbar (i, num, label="", file=sys.stderr): percentage = int(floor(p*100)) bars = int(ceil(p*20)) bar = ("*"*bars) + ("-"*(20-bars)) - msg = u"\r{0} {1}/{2} {3}... ".format(bar, (i+1), num, label) + msg = "\r{0} {1}/{2} {3}... ".format(bar, (i+1), num, label) sys.stderr.write(msg) sys.stderr.flush() @@ -114,15 +115,15 @@ def unescape(text): # character reference try: if text[:3] == "&#x": - return unichr(int(text[3:-1], 16)) + return chr(int(text[3:-1], 16)) else: - return unichr(int(text[2:-1])) + return chr(int(text[2:-1])) except ValueError: pass else: # named entity try: - text = unichr(name2codepoint[text[1:-1]]) + text = chr(name2codepoint[text[1:-1]]) except KeyError: pass return text # leave as is diff --git a/etherpump/commands/creatediffhtml.py b/etherpump/commands/creatediffhtml.py index ea709a1..e5dd8dc 100644 --- a/etherpump/commands/creatediffhtml.py +++ b/etherpump/commands/creatediffhtml.py @@ -1,8 +1,9 @@ -from __future__ import print_function + from argparse import ArgumentParser import json -from urllib import urlencode -from urllib2 import urlopen, HTTPError, URLError +from urllib.parse import urlencode +from urllib.request import urlopen +from urllib.error import HTTPError, URLError def main(args): diff --git a/etherpump/commands/deletepad.py b/etherpump/commands/deletepad.py index 3461a86..8d1800e 100644 --- a/etherpump/commands/deletepad.py +++ b/etherpump/commands/deletepad.py @@ -1,8 +1,9 @@ -from __future__ import print_function + from argparse import ArgumentParser import json -from urllib import urlencode -from urllib2 import urlopen, HTTPError, URLError +from urllib.parse import urlencode +from urllib.request import urlopen +from urllib.error import HTTPError, URLError def main(args): diff --git a/etherpump/commands/dumpcsv.py b/etherpump/commands/dumpcsv.py index 19efb33..fc1817b 100644 --- a/etherpump/commands/dumpcsv.py +++ b/etherpump/commands/dumpcsv.py @@ -1,9 +1,10 @@ -from __future__ import print_function + from argparse import ArgumentParser import sys, json, re from datetime import datetime -from urllib import urlencode -from urllib2 import urlopen, HTTPError, URLError +from urllib.parse import urlencode +from urllib.request import urlopen +from urllib.error import HTTPError, URLError from csv import writer from math import ceil, floor @@ -52,7 +53,7 @@ def main (args): percentage = int(floor(p*100)) bars = int(ceil(p*20)) bar = ("*"*bars) + ("-"*(20-bars)) - msg = u"\r{0} {1}/{2} {3}... ".format(bar, (i+1), numpads, padid) + msg = "\r{0} {1}/{2} {3}... ".format(bar, (i+1), numpads, padid) if len(msg) > maxmsglen: maxmsglen = len(msg) sys.stderr.write("\r{0}".format(" "*maxmsglen)) @@ -63,7 +64,7 @@ def main (args): groupname = m.group(1) padidnogroup = padid[m.end():] else: - groupname = u"" + groupname = "" padidnogroup = padid data['padID'] = padid.encode("utf-8") @@ -75,7 +76,7 @@ def main (args): lastedited_raw = jsonload(apiurl+'getLastEdited?'+urlencode(data))['data']['lastEdited'] lastedited_iso = datetime.fromtimestamp(int(lastedited_raw)/1000).isoformat() author_ids = jsonload(apiurl+'listAuthorsOfPad?'+urlencode(data))['data']['authorIDs'] - author_ids = u" ".join(author_ids).encode("utf-8") + author_ids = " ".join(author_ids).encode("utf-8") out.writerow((padidnogroup.encode("utf-8"), groupname.encode("utf-8"), revisions, lastedited_iso, author_ids)) count += 1 diff --git a/etherpump/commands/gethtml.py b/etherpump/commands/gethtml.py index b55a091..85d9f76 100644 --- a/etherpump/commands/gethtml.py +++ b/etherpump/commands/gethtml.py @@ -1,8 +1,9 @@ -from __future__ import print_function + from argparse import ArgumentParser import json -from urllib import urlencode -from urllib2 import urlopen, HTTPError, URLError +from urllib.parse import urlencode +from urllib.request import urlopen +from urllib.error import HTTPError, URLError def main(args): diff --git a/etherpump/commands/gettext.py b/etherpump/commands/gettext.py index 8108223..ed9a899 100644 --- a/etherpump/commands/gettext.py +++ b/etherpump/commands/gettext.py @@ -1,10 +1,11 @@ -from __future__ import print_function + from argparse import ArgumentParser import json, sys try: # python2 - from urllib2 import urlopen, URLError, HTTPError - from urllib import urlencode + from urllib.request import urlopen + from urllib.error import URLError, HTTPError + from urllib.parse import urlencode except ImportError: # python3 from urllib.parse import urlencode diff --git a/etherpump/commands/html5tidy.py b/etherpump/commands/html5tidy.py index 0b31e57..d917e99 100644 --- a/etherpump/commands/html5tidy.py +++ b/etherpump/commands/html5tidy.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -from __future__ import print_function + from html5lib import parse import os, sys from argparse import ArgumentParser diff --git a/etherpump/commands/index.py b/etherpump/commands/index.py index 0f506d3..42a06e4 100644 --- a/etherpump/commands/index.py +++ b/etherpump/commands/index.py @@ -1,4 +1,4 @@ -from __future__ import print_function + from argparse import ArgumentParser import sys, json, re, os, time from datetime import datetime @@ -6,9 +6,10 @@ import dateutil.parser try: # python2 - from urllib2 import urlopen, URLError, HTTPError - from urllib import urlencode - from urlparse import urlparse, urlunparse + from urllib.request import urlopen + from urllib.error import URLError, HTTPError + from urllib.parse import urlencode + from urllib.parse import urlparse, urlunparse except ImportError: # python3 from urllib.parse import urlparse, urlunparse, urlencode, quote @@ -182,9 +183,9 @@ def main (args): padmeta["lastedited_822"] = d.strftime("%a, %d %b %Y %H:%M:%S +0000") return padmeta - pads = map(loadmeta, inputs) + pads = list(map(loadmeta, inputs)) pads = [x for x in pads if x != None] - pads = map(fixdates, pads) + pads = list(map(fixdates, pads)) args.pads = list(pads) def could_have_base (x, y): diff --git a/etherpump/commands/init.py b/etherpump/commands/init.py index a443d04..a4fc4fa 100644 --- a/etherpump/commands/init.py +++ b/etherpump/commands/init.py @@ -1,11 +1,12 @@ -from __future__ import print_function + from argparse import ArgumentParser try: # python2 - from urlparse import urlparse, urlunparse - from urllib2 import urlopen, URLError, HTTPError - from urllib import urlencode + from urllib.parse import urlparse, urlunparse + from urllib.request import urlopen + from urllib.error import URLError, HTTPError + from urllib.parse import urlencode input = raw_input except ImportError: # python3 diff --git a/etherpump/commands/join.py b/etherpump/commands/join.py index fb6f97c..7de9195 100644 --- a/etherpump/commands/join.py +++ b/etherpump/commands/join.py @@ -1,8 +1,9 @@ -from __future__ import print_function + from argparse import ArgumentParser import json, os, re -from urllib import urlencode -from urllib2 import urlopen, HTTPError, URLError +from urllib.parse import urlencode +from urllib.request import urlopen +from urllib.error import HTTPError, URLError def group (items, key=lambda x: x): ret = [] diff --git a/etherpump/commands/list.py b/etherpump/commands/list.py index 8cc9947..6de1ad1 100644 --- a/etherpump/commands/list.py +++ b/etherpump/commands/list.py @@ -1,13 +1,14 @@ -from __future__ import print_function + from argparse import ArgumentParser import json import sys from etherpump.commands.common import getjson try: # python2 - from urlparse import urlparse, urlunparse - from urllib2 import urlopen, URLError, HTTPError - from urllib import urlencode + from urllib.parse import urlparse, urlunparse + from urllib.request import urlopen + from urllib.error import URLError, HTTPError + from urllib.parse import urlencode input = raw_input except ImportError: # python3 diff --git a/etherpump/commands/listauthors.py b/etherpump/commands/listauthors.py index 90e3cf1..4f35d7e 100644 --- a/etherpump/commands/listauthors.py +++ b/etherpump/commands/listauthors.py @@ -1,8 +1,9 @@ -from __future__ import print_function + from argparse import ArgumentParser import json -from urllib import urlencode -from urllib2 import urlopen, HTTPError, URLError +from urllib.parse import urlencode +from urllib.request import urlopen +from urllib.error import HTTPError, URLError def main(args): diff --git a/etherpump/commands/publication.py b/etherpump/commands/publication.py index c450ab3..d2e8fa9 100644 --- a/etherpump/commands/publication.py +++ b/etherpump/commands/publication.py @@ -1,4 +1,4 @@ -from __future__ import print_function + from argparse import ArgumentParser import sys, json, re, os, time from datetime import datetime @@ -7,9 +7,10 @@ import pypandoc try: # python2 - from urllib2 import urlopen, URLError, HTTPError - from urllib import urlencode - from urlparse import urlparse, urlunparse + from urllib.request import urlopen + from urllib.error import URLError, HTTPError + from urllib.parse import urlencode + from urllib.parse import urlparse, urlunparse except ImportError: # python3 from urllib.parse import urlparse, urlunparse, urlencode, quote @@ -183,9 +184,9 @@ def main (args): padmeta["lastedited_822"] = d.strftime("%a, %d %b %Y %H:%M:%S +0000") return padmeta - pads = map(loadmeta, inputs) + pads = list(map(loadmeta, inputs)) pads = [x for x in pads if x != None] - pads = map(fixdates, pads) + pads = list(map(fixdates, pads)) args.pads = list(pads) def could_have_base (x, y): diff --git a/etherpump/commands/pull.py b/etherpump/commands/pull.py index 91ae2bd..66716fd 100644 --- a/etherpump/commands/pull.py +++ b/etherpump/commands/pull.py @@ -1,12 +1,13 @@ -from __future__ import print_function + from argparse import ArgumentParser import sys, json, re, os from datetime import datetime try: # python2 - from urllib2 import urlopen, URLError, HTTPError - from urllib import urlencode + from urllib.request import urlopen + from urllib.error import URLError, HTTPError + from urllib.parse import urlencode except ImportError: # python3 from urllib.parse import urlencode, quote diff --git a/etherpump/commands/revisionscount.py b/etherpump/commands/revisionscount.py index 15ec72f..8808501 100644 --- a/etherpump/commands/revisionscount.py +++ b/etherpump/commands/revisionscount.py @@ -1,8 +1,9 @@ -from __future__ import print_function + from argparse import ArgumentParser import json -from urllib import urlencode -from urllib2 import urlopen, HTTPError, URLError +from urllib.parse import urlencode +from urllib.request import urlopen +from urllib.error import HTTPError, URLError def main(args): p = ArgumentParser("call getRevisionsCount for the given padid") diff --git a/etherpump/commands/sethtml.py b/etherpump/commands/sethtml.py index 6180d48..9180259 100644 --- a/etherpump/commands/sethtml.py +++ b/etherpump/commands/sethtml.py @@ -1,8 +1,9 @@ -from __future__ import print_function + from argparse import ArgumentParser import json, sys -from urllib import urlencode -from urllib2 import urlopen, HTTPError, URLError +from urllib.parse import urlencode +from urllib.request import urlopen +from urllib.error import HTTPError, URLError import requests diff --git a/etherpump/commands/settext.py b/etherpump/commands/settext.py index 97f0555..fc9860d 100644 --- a/etherpump/commands/settext.py +++ b/etherpump/commands/settext.py @@ -1,11 +1,12 @@ -from __future__ import print_function + from argparse import ArgumentParser import json, sys try: # python2 - from urllib2 import urlopen, URLError, HTTPError - from urllib import urlencode + from urllib.request import urlopen + from urllib.error import URLError, HTTPError + from urllib.parse import urlencode except ImportError: # python3 from urllib.parse import urlencode, quote diff --git a/etherpump/commands/showmeta.py b/etherpump/commands/showmeta.py index 827f340..a1c8149 100644 --- a/etherpump/commands/showmeta.py +++ b/etherpump/commands/showmeta.py @@ -1,7 +1,7 @@ -from __future__ import print_function + from argparse import ArgumentParser import json, sys, re -from common import * +from .common import * """ Extract and output selected fields of metadata diff --git a/etherpump/commands/status.py b/etherpump/commands/status.py index 605769a..82e4792 100644 --- a/etherpump/commands/status.py +++ b/etherpump/commands/status.py @@ -1,11 +1,12 @@ -from __future__ import print_function + from argparse import ArgumentParser import sys, json, re, os from datetime import datetime -from urllib import urlencode -from urllib2 import urlopen, HTTPError, URLError +from urllib.parse import urlencode +from urllib.request import urlopen +from urllib.error import HTTPError, URLError from math import ceil, floor -from common import * +from .common import * """ status (meta): @@ -95,7 +96,7 @@ def main (args): pad = PadItem(path=p) padsbypath[pad.path] = pad - pads = padsbypath.values() + pads = list(padsbypath.values()) pads.sort(key=lambda x: (x.status, x.padid)) curstat = None