1
0
mirror of https://github.com/mikf/gallery-dl.git synced 2024-11-22 10:42:34 +01:00

allow missing field access keys in format strings (#136)

This commit is contained in:
Mike Fährmann 2018-12-22 13:54:14 +01:00
parent 0c9762f00e
commit c5d4f558c9
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88
2 changed files with 8 additions and 2 deletions

View File

@ -382,11 +382,11 @@ class Formatter():
def _apply(self, key, funcs, fmt):
def wrap(obj):
if key in obj:
try:
obj = obj[key]
for func in funcs:
obj = func(obj)
else:
except Exception:
obj = self.default
return fmt(obj)
return wrap

View File

@ -188,11 +188,17 @@ class TestFormatter(unittest.TestCase):
def test_missing(self):
replacement = "None"
self._run_test("{missing}", replacement)
self._run_test("{missing.attr}", replacement)
self._run_test("{missing[key]}", replacement)
self._run_test("{missing:?a//}", "")
self._run_test("{name[missing]}", replacement)
self._run_test("{name[missing].attr}", replacement)
self._run_test("{name[missing][key]}", replacement)
self._run_test("{name[missing]:?a//}", "")
def test_missing_custom_default(self):
replacement = default = "foobar"
self._run_test("{missing}" , replacement, default)