aboutsummaryrefslogtreecommitdiff
path: root/uritemplate/variable.py
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-01-08 04:14:01 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-01-08 04:14:01 +0000
commitae64a5137d25bf9beccd327013e79947c0dedca5 (patch)
tree6072009c262a4bd31720d0c97d20d3a5dbffbb0c /uritemplate/variable.py
parent764152291ebe8baeb008709001503a005fb8905f (diff)
parente9b8a40534df1b0de66ee1d6581ce657a6f9eee9 (diff)
downloaduritemplates-34f93310da6cd3d54230056b87ada3e5964b8078.tar.gz
Snap for 6118234 from e9b8a40534df1b0de66ee1d6581ce657a6f9eee9 to rvc-releaseandroid-vts-11.0_r9android-vts-11.0_r8android-vts-11.0_r7android-vts-11.0_r6android-vts-11.0_r5android-vts-11.0_r4android-vts-11.0_r3android-vts-11.0_r2android-vts-11.0_r16android-vts-11.0_r15android-vts-11.0_r14android-vts-11.0_r13android-vts-11.0_r12android-vts-11.0_r11android-vts-11.0_r10android-vts-11.0_r1android-security-11.0.0_r76android-security-11.0.0_r75android-security-11.0.0_r74android-security-11.0.0_r73android-security-11.0.0_r72android-security-11.0.0_r71android-security-11.0.0_r70android-security-11.0.0_r69android-security-11.0.0_r68android-security-11.0.0_r67android-security-11.0.0_r66android-security-11.0.0_r65android-security-11.0.0_r64android-security-11.0.0_r63android-security-11.0.0_r62android-security-11.0.0_r61android-security-11.0.0_r60android-security-11.0.0_r59android-security-11.0.0_r58android-security-11.0.0_r57android-security-11.0.0_r56android-security-11.0.0_r55android-security-11.0.0_r54android-security-11.0.0_r53android-security-11.0.0_r52android-security-11.0.0_r51android-security-11.0.0_r50android-security-11.0.0_r49android-security-11.0.0_r1android-platform-11.0.0_r9android-platform-11.0.0_r8android-platform-11.0.0_r7android-platform-11.0.0_r6android-platform-11.0.0_r5android-platform-11.0.0_r40android-platform-11.0.0_r4android-platform-11.0.0_r39android-platform-11.0.0_r38android-platform-11.0.0_r37android-platform-11.0.0_r36android-platform-11.0.0_r35android-platform-11.0.0_r34android-platform-11.0.0_r33android-platform-11.0.0_r32android-platform-11.0.0_r31android-platform-11.0.0_r30android-platform-11.0.0_r3android-platform-11.0.0_r29android-platform-11.0.0_r28android-platform-11.0.0_r27android-platform-11.0.0_r26android-platform-11.0.0_r25android-platform-11.0.0_r24android-platform-11.0.0_r23android-platform-11.0.0_r22android-platform-11.0.0_r21android-platform-11.0.0_r20android-platform-11.0.0_r2android-platform-11.0.0_r19android-platform-11.0.0_r18android-platform-11.0.0_r17android-platform-11.0.0_r16android-platform-11.0.0_r15android-platform-11.0.0_r14android-platform-11.0.0_r13android-platform-11.0.0_r12android-platform-11.0.0_r11android-platform-11.0.0_r10android-platform-11.0.0_r1android-cts-11.0_r9android-cts-11.0_r8android-cts-11.0_r7android-cts-11.0_r6android-cts-11.0_r5android-cts-11.0_r4android-cts-11.0_r3android-cts-11.0_r2android-cts-11.0_r16android-cts-11.0_r15android-cts-11.0_r14android-cts-11.0_r13android-cts-11.0_r12android-cts-11.0_r11android-cts-11.0_r10android-cts-11.0_r1android-11.0.0_r6android-11.0.0_r5android-11.0.0_r4android-11.0.0_r3android-11.0.0_r25android-11.0.0_r2android-11.0.0_r17android-11.0.0_r1android11-tests-releaseandroid11-security-releaseandroid11-s1-releaseandroid11-releaseandroid11-platform-releaseandroid11-gsi
Change-Id: Ie30eb8d343aebfc67126d44dbb4d5885d7066484
Diffstat (limited to 'uritemplate/variable.py')
-rw-r--r--uritemplate/variable.py42
1 files changed, 22 insertions, 20 deletions
diff --git a/uritemplate/variable.py b/uritemplate/variable.py
index 1842830..ce3f652 100644
--- a/uritemplate/variable.py
+++ b/uritemplate/variable.py
@@ -15,12 +15,16 @@ What do you do?
"""
-import collections
import sys
-if (2, 6) <= sys.version_info < (2, 8):
+try:
+ import collections.abc as collections_abc
+except ImportError:
+ import collections as collections_abc
+
+if sys.version_info.major == 2:
import urllib
-elif (3, 3) <= sys.version_info < (4, 0):
+elif sys.version_info.major == 3:
import urllib.parse as urllib
@@ -149,11 +153,11 @@ class URIVariable(object):
return None
if explode:
return self.join_str.join(
- '%s=%s' % (name, quote(v, safe)) for v in value
+ '{}={}'.format(name, quote(v, safe)) for v in value
)
else:
value = ','.join(quote(v, safe) for v in value)
- return '%s=%s' % (name, value)
+ return '{}={}'.format(name, value)
if dict_test(value) or tuples:
if not value:
@@ -161,21 +165,21 @@ class URIVariable(object):
items = items or sorted(value.items())
if explode:
return self.join_str.join(
- '%s=%s' % (
+ '{}={}'.format(
quote(k, safe), quote(v, safe)
) for k, v in items
)
else:
value = ','.join(
- '%s,%s' % (
+ '{},{}'.format(
quote(k, safe), quote(v, safe)
) for k, v in items
)
- return '%s=%s' % (name, value)
+ return '{}={}'.format(name, value)
if value:
value = value[:prefix] if prefix else value
- return '%s=%s' % (name, quote(value, safe))
+ return '{}={}'.format(name, quote(value, safe))
return name + '='
def _label_path_expansion(self, name, value, explode, prefix):
@@ -196,10 +200,8 @@ class URIVariable(object):
if not explode:
join_str = ','
- expanded = join_str.join(
- quote(v, safe) for v in value if value is not None
- )
- return expanded if expanded else None
+ fragments = [quote(v, safe) for v in value if v is not None]
+ return join_str.join(fragments) if fragments else None
if dict_test(value) or tuples:
items = items or sorted(value.items())
@@ -234,35 +236,35 @@ class URIVariable(object):
if list_test(value) and not tuples:
if explode:
expanded = join_str.join(
- '%s=%s' % (
+ '{}={}'.format(
name, quote(v, safe)
) for v in value if v is not None
)
return expanded if expanded else None
else:
value = ','.join(quote(v, safe) for v in value)
- return '%s=%s' % (name, value)
+ return '{}={}'.format(name, value)
if dict_test(value) or tuples:
items = items or sorted(value.items())
if explode:
return join_str.join(
- '%s=%s' % (
+ '{}={}'.format(
quote(k, safe), quote(v, safe)
) for k, v in items if v is not None
)
else:
expanded = ','.join(
- '%s,%s' % (
+ '{},{}'.format(
quote(k, safe), quote(v, safe)
) for k, v in items if v is not None
)
- return '%s=%s' % (name, expanded)
+ return '{}={}'.format(name, expanded)
value = value[:prefix] if prefix else value
if value:
- return '%s=%s' % (name, quote(value, safe))
+ return '{}={}'.format(name, quote(value, safe))
return name
@@ -360,7 +362,7 @@ def list_test(value):
def dict_test(value):
- return isinstance(value, (dict, collections.MutableMapping))
+ return isinstance(value, (dict, collections_abc.MutableMapping))
try: