From ebbe645cb613527b56d872a86ddbc19254368f0a Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Mon, 15 Feb 2021 13:06:42 -0500 Subject: [PATCH 1/2] Use explicit unicode literal for docstring. Now test passes on Python 2 when ALLOW_BYTES is indicated. --- src/allmydata/scripts/common.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/allmydata/scripts/common.py b/src/allmydata/scripts/common.py index e50617fd7..ecb135b57 100644 --- a/src/allmydata/scripts/common.py +++ b/src/allmydata/scripts/common.py @@ -273,7 +273,7 @@ def get_alias(aliases, path_unicode, default): def escape_path(path): # type: (str) -> str - """ + u""" Return path quoted to US-ASCII. >>> path = u'/føö/bar/☃' From 2fb603e6032032c1c84e8df6ed3978e6d659072e Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Mon, 15 Feb 2021 13:10:21 -0500 Subject: [PATCH 2/2] Rewrite doctest to pass on Python 2+3. --- src/allmydata/scripts/common.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/allmydata/scripts/common.py b/src/allmydata/scripts/common.py index ecb135b57..2d8d9c63a 100644 --- a/src/allmydata/scripts/common.py +++ b/src/allmydata/scripts/common.py @@ -277,10 +277,11 @@ def escape_path(path): Return path quoted to US-ASCII. >>> path = u'/føö/bar/☃' - >>> escape_path(path) + >>> escaped = escape_path(path) + >>> str(escaped) '/f%C3%B8%C3%B6/bar/%E2%98%83' - >>> escape_path(path).encode('ascii') - b'/f%C3%B8%C3%B6/bar/%E2%98%83' + >>> escaped.encode('ascii').decode('ascii') == escaped + True """ # this always returns bytes, specifically US-ASCII, valid URL characters segments = path.split("/")