Browse Source

Migrate to Python 3

pull/3/head
Luke Murphy 5 years ago
parent
commit
6fd24eb6cb
No known key found for this signature in database GPG Key ID: 5E2EF5A63E3718CC
  1. 2
      etherpump/commands/appendmeta.py
  2. 27
      etherpump/commands/common.py
  3. 7
      etherpump/commands/creatediffhtml.py
  4. 7
      etherpump/commands/deletepad.py
  5. 13
      etherpump/commands/dumpcsv.py
  6. 7
      etherpump/commands/gethtml.py
  7. 7
      etherpump/commands/gettext.py
  8. 2
      etherpump/commands/html5tidy.py
  9. 13
      etherpump/commands/index.py
  10. 9
      etherpump/commands/init.py
  11. 7
      etherpump/commands/join.py
  12. 9
      etherpump/commands/list.py
  13. 7
      etherpump/commands/listauthors.py
  14. 13
      etherpump/commands/publication.py
  15. 7
      etherpump/commands/pull.py
  16. 7
      etherpump/commands/revisionscount.py
  17. 7
      etherpump/commands/sethtml.py
  18. 7
      etherpump/commands/settext.py
  19. 4
      etherpump/commands/showmeta.py
  20. 11
      etherpump/commands/status.py

2
etherpump/commands/appendmeta.py

@ -1,6 +1,6 @@
#!/usr/bin/env python #!/usr/bin/env python
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import json, os import json, os

27
etherpump/commands/common.py

@ -1,15 +1,16 @@
from __future__ import print_function
import re, os, json, sys import re, os, json, sys
from math import ceil, floor from math import ceil, floor
from time import sleep from time import sleep
try: try:
# python2 # python2
from urlparse import urlparse, urlunparse from urllib.parse import urlparse, urlunparse
from urllib2 import urlopen, URLError, HTTPError from urllib.request import urlopen
from urllib import urlencode from urllib.error import URLError, HTTPError
from urllib import quote_plus, unquote_plus from urllib.parse import urlencode
from htmlentitydefs import name2codepoint from urllib.parse import quote_plus, unquote_plus
from html.entities import name2codepoint
input = raw_input input = raw_input
except ImportError: except ImportError:
@ -24,12 +25,12 @@ def splitpadname (padid):
if m: if m:
return(m.group(1), padid[m.end():]) return(m.group(1), padid[m.end():])
else: else:
return (u"", padid) return ("", padid)
def padurl (padid, ): def padurl (padid, ):
return 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) g, p = splitpadname(padid)
# if type(g) == unicode: # if type(g) == unicode:
# g = g.encode("utf-8") # 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) return os.path.join(pub_path, p)
def padpath2id (path): def padpath2id (path):
if type(path) == unicode: if type(path) == str:
path = path.encode("utf-8") path = path.encode("utf-8")
dd, p = os.path.split(path) dd, p = os.path.split(path)
gname = dd.split("/")[-1] gname = dd.split("/")[-1]
@ -95,7 +96,7 @@ def progressbar (i, num, label="", file=sys.stderr):
percentage = int(floor(p*100)) percentage = int(floor(p*100))
bars = int(ceil(p*20)) bars = int(ceil(p*20))
bar = ("*"*bars) + ("-"*(20-bars)) 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.write(msg)
sys.stderr.flush() sys.stderr.flush()
@ -114,15 +115,15 @@ def unescape(text):
# character reference # character reference
try: try:
if text[:3] == "&#x": if text[:3] == "&#x":
return unichr(int(text[3:-1], 16)) return chr(int(text[3:-1], 16))
else: else:
return unichr(int(text[2:-1])) return chr(int(text[2:-1]))
except ValueError: except ValueError:
pass pass
else: else:
# named entity # named entity
try: try:
text = unichr(name2codepoint[text[1:-1]]) text = chr(name2codepoint[text[1:-1]])
except KeyError: except KeyError:
pass pass
return text # leave as is return text # leave as is

7
etherpump/commands/creatediffhtml.py

@ -1,8 +1,9 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import json import json
from urllib import urlencode from urllib.parse import urlencode
from urllib2 import urlopen, HTTPError, URLError from urllib.request import urlopen
from urllib.error import HTTPError, URLError
def main(args): def main(args):

7
etherpump/commands/deletepad.py

@ -1,8 +1,9 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import json import json
from urllib import urlencode from urllib.parse import urlencode
from urllib2 import urlopen, HTTPError, URLError from urllib.request import urlopen
from urllib.error import HTTPError, URLError
def main(args): def main(args):

13
etherpump/commands/dumpcsv.py

@ -1,9 +1,10 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import sys, json, re import sys, json, re
from datetime import datetime from datetime import datetime
from urllib import urlencode from urllib.parse import urlencode
from urllib2 import urlopen, HTTPError, URLError from urllib.request import urlopen
from urllib.error import HTTPError, URLError
from csv import writer from csv import writer
from math import ceil, floor from math import ceil, floor
@ -52,7 +53,7 @@ def main (args):
percentage = int(floor(p*100)) percentage = int(floor(p*100))
bars = int(ceil(p*20)) bars = int(ceil(p*20))
bar = ("*"*bars) + ("-"*(20-bars)) 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: if len(msg) > maxmsglen:
maxmsglen = len(msg) maxmsglen = len(msg)
sys.stderr.write("\r{0}".format(" "*maxmsglen)) sys.stderr.write("\r{0}".format(" "*maxmsglen))
@ -63,7 +64,7 @@ def main (args):
groupname = m.group(1) groupname = m.group(1)
padidnogroup = padid[m.end():] padidnogroup = padid[m.end():]
else: else:
groupname = u"" groupname = ""
padidnogroup = padid padidnogroup = padid
data['padID'] = padid.encode("utf-8") data['padID'] = padid.encode("utf-8")
@ -75,7 +76,7 @@ def main (args):
lastedited_raw = jsonload(apiurl+'getLastEdited?'+urlencode(data))['data']['lastEdited'] lastedited_raw = jsonload(apiurl+'getLastEdited?'+urlencode(data))['data']['lastEdited']
lastedited_iso = datetime.fromtimestamp(int(lastedited_raw)/1000).isoformat() lastedited_iso = datetime.fromtimestamp(int(lastedited_raw)/1000).isoformat()
author_ids = jsonload(apiurl+'listAuthorsOfPad?'+urlencode(data))['data']['authorIDs'] 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)) out.writerow((padidnogroup.encode("utf-8"), groupname.encode("utf-8"), revisions, lastedited_iso, author_ids))
count += 1 count += 1

7
etherpump/commands/gethtml.py

@ -1,8 +1,9 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import json import json
from urllib import urlencode from urllib.parse import urlencode
from urllib2 import urlopen, HTTPError, URLError from urllib.request import urlopen
from urllib.error import HTTPError, URLError
def main(args): def main(args):

7
etherpump/commands/gettext.py

@ -1,10 +1,11 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import json, sys import json, sys
try: try:
# python2 # python2
from urllib2 import urlopen, URLError, HTTPError from urllib.request import urlopen
from urllib import urlencode from urllib.error import URLError, HTTPError
from urllib.parse import urlencode
except ImportError: except ImportError:
# python3 # python3
from urllib.parse import urlencode from urllib.parse import urlencode

2
etherpump/commands/html5tidy.py

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
from __future__ import print_function
from html5lib import parse from html5lib import parse
import os, sys import os, sys
from argparse import ArgumentParser from argparse import ArgumentParser

13
etherpump/commands/index.py

@ -1,4 +1,4 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import sys, json, re, os, time import sys, json, re, os, time
from datetime import datetime from datetime import datetime
@ -6,9 +6,10 @@ import dateutil.parser
try: try:
# python2 # python2
from urllib2 import urlopen, URLError, HTTPError from urllib.request import urlopen
from urllib import urlencode from urllib.error import URLError, HTTPError
from urlparse import urlparse, urlunparse from urllib.parse import urlencode
from urllib.parse import urlparse, urlunparse
except ImportError: except ImportError:
# python3 # python3
from urllib.parse import urlparse, urlunparse, urlencode, quote 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") padmeta["lastedited_822"] = d.strftime("%a, %d %b %Y %H:%M:%S +0000")
return padmeta return padmeta
pads = map(loadmeta, inputs) pads = list(map(loadmeta, inputs))
pads = [x for x in pads if x != None] pads = [x for x in pads if x != None]
pads = map(fixdates, pads) pads = list(map(fixdates, pads))
args.pads = list(pads) args.pads = list(pads)
def could_have_base (x, y): def could_have_base (x, y):

9
etherpump/commands/init.py

@ -1,11 +1,12 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
try: try:
# python2 # python2
from urlparse import urlparse, urlunparse from urllib.parse import urlparse, urlunparse
from urllib2 import urlopen, URLError, HTTPError from urllib.request import urlopen
from urllib import urlencode from urllib.error import URLError, HTTPError
from urllib.parse import urlencode
input = raw_input input = raw_input
except ImportError: except ImportError:
# python3 # python3

7
etherpump/commands/join.py

@ -1,8 +1,9 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import json, os, re import json, os, re
from urllib import urlencode from urllib.parse import urlencode
from urllib2 import urlopen, HTTPError, URLError from urllib.request import urlopen
from urllib.error import HTTPError, URLError
def group (items, key=lambda x: x): def group (items, key=lambda x: x):
ret = [] ret = []

9
etherpump/commands/list.py

@ -1,13 +1,14 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import json import json
import sys import sys
from etherpump.commands.common import getjson from etherpump.commands.common import getjson
try: try:
# python2 # python2
from urlparse import urlparse, urlunparse from urllib.parse import urlparse, urlunparse
from urllib2 import urlopen, URLError, HTTPError from urllib.request import urlopen
from urllib import urlencode from urllib.error import URLError, HTTPError
from urllib.parse import urlencode
input = raw_input input = raw_input
except ImportError: except ImportError:
# python3 # python3

7
etherpump/commands/listauthors.py

@ -1,8 +1,9 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import json import json
from urllib import urlencode from urllib.parse import urlencode
from urllib2 import urlopen, HTTPError, URLError from urllib.request import urlopen
from urllib.error import HTTPError, URLError
def main(args): def main(args):

13
etherpump/commands/publication.py

@ -1,4 +1,4 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import sys, json, re, os, time import sys, json, re, os, time
from datetime import datetime from datetime import datetime
@ -7,9 +7,10 @@ import pypandoc
try: try:
# python2 # python2
from urllib2 import urlopen, URLError, HTTPError from urllib.request import urlopen
from urllib import urlencode from urllib.error import URLError, HTTPError
from urlparse import urlparse, urlunparse from urllib.parse import urlencode
from urllib.parse import urlparse, urlunparse
except ImportError: except ImportError:
# python3 # python3
from urllib.parse import urlparse, urlunparse, urlencode, quote 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") padmeta["lastedited_822"] = d.strftime("%a, %d %b %Y %H:%M:%S +0000")
return padmeta return padmeta
pads = map(loadmeta, inputs) pads = list(map(loadmeta, inputs))
pads = [x for x in pads if x != None] pads = [x for x in pads if x != None]
pads = map(fixdates, pads) pads = list(map(fixdates, pads))
args.pads = list(pads) args.pads = list(pads)
def could_have_base (x, y): def could_have_base (x, y):

7
etherpump/commands/pull.py

@ -1,12 +1,13 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import sys, json, re, os import sys, json, re, os
from datetime import datetime from datetime import datetime
try: try:
# python2 # python2
from urllib2 import urlopen, URLError, HTTPError from urllib.request import urlopen
from urllib import urlencode from urllib.error import URLError, HTTPError
from urllib.parse import urlencode
except ImportError: except ImportError:
# python3 # python3
from urllib.parse import urlencode, quote from urllib.parse import urlencode, quote

7
etherpump/commands/revisionscount.py

@ -1,8 +1,9 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import json import json
from urllib import urlencode from urllib.parse import urlencode
from urllib2 import urlopen, HTTPError, URLError from urllib.request import urlopen
from urllib.error import HTTPError, URLError
def main(args): def main(args):
p = ArgumentParser("call getRevisionsCount for the given padid") p = ArgumentParser("call getRevisionsCount for the given padid")

7
etherpump/commands/sethtml.py

@ -1,8 +1,9 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import json, sys import json, sys
from urllib import urlencode from urllib.parse import urlencode
from urllib2 import urlopen, HTTPError, URLError from urllib.request import urlopen
from urllib.error import HTTPError, URLError
import requests import requests

7
etherpump/commands/settext.py

@ -1,11 +1,12 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import json, sys import json, sys
try: try:
# python2 # python2
from urllib2 import urlopen, URLError, HTTPError from urllib.request import urlopen
from urllib import urlencode from urllib.error import URLError, HTTPError
from urllib.parse import urlencode
except ImportError: except ImportError:
# python3 # python3
from urllib.parse import urlencode, quote from urllib.parse import urlencode, quote

4
etherpump/commands/showmeta.py

@ -1,7 +1,7 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import json, sys, re import json, sys, re
from common import * from .common import *
""" """
Extract and output selected fields of metadata Extract and output selected fields of metadata

11
etherpump/commands/status.py

@ -1,11 +1,12 @@
from __future__ import print_function
from argparse import ArgumentParser from argparse import ArgumentParser
import sys, json, re, os import sys, json, re, os
from datetime import datetime from datetime import datetime
from urllib import urlencode from urllib.parse import urlencode
from urllib2 import urlopen, HTTPError, URLError from urllib.request import urlopen
from urllib.error import HTTPError, URLError
from math import ceil, floor from math import ceil, floor
from common import * from .common import *
""" """
status (meta): status (meta):
@ -95,7 +96,7 @@ def main (args):
pad = PadItem(path=p) pad = PadItem(path=p)
padsbypath[pad.path] = pad padsbypath[pad.path] = pad
pads = padsbypath.values() pads = list(padsbypath.values())
pads.sort(key=lambda x: (x.status, x.padid)) pads.sort(key=lambda x: (x.status, x.padid))
curstat = None curstat = None

Loading…
Cancel
Save