diff --git a/beets/ui/__init__.py b/beets/ui/__init__.py index 228305db7..8d980d549 100644 --- a/beets/ui/__init__.py +++ b/beets/ui/__init__.py @@ -799,8 +799,11 @@ def _store_dict(option, opt_str, value, parser): setattr(parser.values, dest, {}) option_values = getattr(parser.values, dest) + # Decode the argument using the platform's argument encoding. + value = util.text_string(value, util.arg_encoding()) + try: - key, value = map(lambda s: util.text_string(s), value.split('=')) + key, value = value.split('=', 1) if not (key and value): raise ValueError except ValueError: diff --git a/docs/changelog.rst b/docs/changelog.rst index 07fa573f9..46c9f4b3f 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -343,6 +343,8 @@ Fixes: * :doc:`/plugins/web`: DELETE and PATCH methods are disallowed by default. Set ``readonly: no`` web config option to enable them. :bug:`3870` +* Allow equals within ``--set`` value when importing. + :bug:`2984` For plugin developers: