mirror of
https://github.com/mikf/gallery-dl.git
synced 2024-11-22 10:42:34 +01:00
fix '{…!j}' for otherwise non-serializable types (##2624)
like 'datetime'
This commit is contained in:
parent
7fe1f4489e
commit
42525cfe8d
@ -14,6 +14,7 @@ import string
|
||||
import _string
|
||||
import datetime
|
||||
import operator
|
||||
import functools
|
||||
from . import text, util
|
||||
|
||||
_CACHE = {}
|
||||
@ -257,7 +258,7 @@ def parse_format_spec(format_spec, conversion):
|
||||
"u": str.upper,
|
||||
"c": str.capitalize,
|
||||
"C": string.capwords,
|
||||
"j": json.dumps,
|
||||
"j": functools.partial(json.dumps, default=str),
|
||||
"t": str.strip,
|
||||
"T": util.datetime_to_timestamp_string,
|
||||
"d": text.parse_timestamp,
|
||||
|
@ -56,6 +56,7 @@ class TestFormatter(unittest.TestCase):
|
||||
self._run_test("{t!d:%Y-%m-%d}", "2010-01-01")
|
||||
self._run_test("{dt!T}", "1262304000")
|
||||
self._run_test("{l!j}", '["a", "b", "c"]')
|
||||
self._run_test("{dt!j}", '"2010-01-01 00:00:00"')
|
||||
|
||||
with self.assertRaises(KeyError):
|
||||
self._run_test("{a!q}", "hello world")
|
||||
|
Loading…
Reference in New Issue
Block a user