Port to Python 3.

This commit is contained in:
Itamar Turner-Trauring 2021-06-02 11:30:19 -04:00
parent 9804a44c50
commit defe16f912
2 changed files with 17 additions and 5 deletions

View File

@ -1,7 +1,16 @@
"""
Ported to Python 3.
"""
from __future__ import unicode_literals
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function from __future__ import print_function
from future.utils import PY3 from future.utils import PY2, PY3
from past.builtins import unicode if PY2:
from future.builtins import filter, map, zip, ascii, chr, hex, input, next, oct, open, pow, round, super, bytes, dict, list, object, range, str, max, min # noqa: F401
from six import ensure_str
from urllib.parse import quote as url_quote from urllib.parse import quote as url_quote
import json import json
@ -37,7 +46,7 @@ class ManifestStreamer(LineOnlyReceiver, object):
except UnknownAliasError as e: except UnknownAliasError as e:
e.display(stderr) e.display(stderr)
return 1 return 1
path = unicode(path, "utf-8") path = str(path, "utf-8")
if path == '/': if path == '/':
path = '' path = ''
url = nodeurl + "uri/%s" % url_quote(rootcap) url = nodeurl + "uri/%s" % url_quote(rootcap)
@ -96,7 +105,9 @@ class ManifestStreamer(LineOnlyReceiver, object):
if vc: if vc:
print(quote_output(vc, quotemarks=False), file=stdout) print(quote_output(vc, quotemarks=False), file=stdout)
else: else:
print("%s %s" % (quote_output(d["cap"], quotemarks=False), # ensure_str() only necessary for Python 2.
print(ensure_str("%s %s") % (
quote_output(d["cap"], quotemarks=False),
quote_path(d["path"], quotemarks=False)), file=stdout) quote_path(d["path"], quotemarks=False)), file=stdout)
def manifest(options): def manifest(options):

View File

@ -109,6 +109,7 @@ PORTED_MODULES = [
"allmydata.scripts.tahoe_get", "allmydata.scripts.tahoe_get",
"allmydata.scripts.tahoe_invite", "allmydata.scripts.tahoe_invite",
"allmydata.scripts.tahoe_ls", "allmydata.scripts.tahoe_ls",
"allmydata.scripts.tahoe_manifest",
"allmydata.scripts.types_", "allmydata.scripts.types_",
"allmydata.stats", "allmydata.stats",
"allmydata.storage_client", "allmydata.storage_client",