[formatter] support putting keys in quotes
i.e. obj["key"] or obj['key'] as in f-strings
This commit is contained in:
@@ -256,6 +256,8 @@ def parse_field_name(field_name):
|
|||||||
try:
|
try:
|
||||||
if ":" in key:
|
if ":" in key:
|
||||||
key = _slice(key)
|
key = _slice(key)
|
||||||
|
else:
|
||||||
|
key = key.strip("\"'")
|
||||||
except TypeError:
|
except TypeError:
|
||||||
pass # key is an integer
|
pass # key is an integer
|
||||||
|
|
||||||
|
|||||||
@@ -128,6 +128,11 @@ class TestFormatter(unittest.TestCase):
|
|||||||
self._run_test("{l[0]}" , "a")
|
self._run_test("{l[0]}" , "a")
|
||||||
self._run_test("{a[6]}" , "w")
|
self._run_test("{a[6]}" , "w")
|
||||||
|
|
||||||
|
def test_dict_access(self):
|
||||||
|
self._run_test("{d[a]}" , "foo")
|
||||||
|
self._run_test("{d['a']}", "foo")
|
||||||
|
self._run_test('{d["a"]}', "foo")
|
||||||
|
|
||||||
def test_slicing(self):
|
def test_slicing(self):
|
||||||
v = self.kwdict["a"]
|
v = self.kwdict["a"]
|
||||||
self._run_test("{a[1:10]}" , v[1:10])
|
self._run_test("{a[1:10]}" , v[1:10])
|
||||||
|
|||||||
Reference in New Issue
Block a user