diff --git a/bdfr/file_name_formatter.py b/bdfr/file_name_formatter.py index 17713ed..c4bf4b5 100644 --- a/bdfr/file_name_formatter.py +++ b/bdfr/file_name_formatter.py @@ -45,7 +45,8 @@ class FileNameFormatter: if re.search(fr'(?i).*{{{key}}}.*', result): key_value = str(attributes.get(key, 'unknown')) key_value = FileNameFormatter._convert_unicode_escapes(key_value) - result = re.sub(fr'(?i){{{key}}}', key_value, result,) + key_value = key_value.replace('\\', '\\\\') + result = re.sub(fr'(?i){{{key}}}', key_value, result) result = result.replace('/', '') diff --git a/bdfr/tests/test_file_name_formatter.py b/bdfr/tests/test_file_name_formatter.py index fe8372a..7a91d8c 100644 --- a/bdfr/tests/test_file_name_formatter.py +++ b/bdfr/tests/test_file_name_formatter.py @@ -303,6 +303,7 @@ def test_multilevel_folder_scheme( ('test😍', 'test😍'), ('test😍 ’', 'test😍 ’'), ('test😍 \\u2019', 'test😍 ’'), + ('Using that real good [1\\4]', 'Using that real good [1\\4]'), )) def test_preserve_emojis(test_name_string: str, expected: str, submission: MagicMock): submission.title = test_name_string