diff --git a/docs/configuration.rst b/docs/configuration.rst index a62e1a34..9258a61b 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -9376,6 +9376,22 @@ Description by using a `defaultdict `__ +format-operator-dot +------------------- +Type + ``bool`` +Default + ``true`` +Description + In standard `Format Strings`_, allow the `dot` operator ``.`` + to function as a general access operator + in addition to regular attribute access. + + * ``obj.attribute`` + * ``dict.fieldname`` + * ``list.123`` + + format-separator ---------------- Type diff --git a/gallery_dl/__init__.py b/gallery_dl/__init__.py index 98f8c12a..b28b5896 100644 --- a/gallery_dl/__init__.py +++ b/gallery_dl/__init__.py @@ -120,7 +120,10 @@ def main(): elif filterenv.startswith("default"): util.compile_expression = util.compile_expression_defaultdict - # format string separator + # format string options + if not config.get((), "format-operator-dot", True): + from . import formatter + formatter._attrgetter = formatter.operator.attrgetter if separator := config.get((), "format-separator"): from . import formatter formatter._SEPARATOR = separator