From 7de8275942e7fbe84cb5b29ea85725b48786ef43 Mon Sep 17 00:00:00 2001 From: Roland Date: Mon, 15 May 2023 09:28:00 -0600 Subject: [PATCH] Removing newlines from file titles. --- wrolpi/common.py | 4 ++-- wrolpi/test/test_common.py | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/wrolpi/common.py b/wrolpi/common.py index 55d2b918..f7477510 100644 --- a/wrolpi/common.py +++ b/wrolpi/common.py @@ -774,12 +774,12 @@ def get_files_and_directories(directory: Path): # These characters are invalid in Windows or Linux. -INVALID_FILE_CHARS = re.compile(r'[/<>:\|"\\\?\*%!]') +INVALID_FILE_CHARS = re.compile(r'[/<>:\|"\\\?\*%!\n\r]') def escape_file_name(name: str) -> str: """Remove any invalid characters in a file name.""" - return INVALID_FILE_CHARS.sub('', name) + return INVALID_FILE_CHARS.sub('', name).strip() def native_only(func: callable): diff --git a/wrolpi/test/test_common.py b/wrolpi/test/test_common.py index be4d666d..96dfda0e 100644 --- a/wrolpi/test/test_common.py +++ b/wrolpi/test/test_common.py @@ -284,6 +284,11 @@ def test_zig_zag(low, high, expected): ('foo&', 'foo&'), ('foo%', 'foo'), ('foo!', 'foo'), + ('fo\no', 'foo'), + ('fo\ro', 'foo'), + ('foo\r', 'foo'), + ('foo\r', 'foo'), + ('foo ', 'foo'), ] ) def test_escape_file_name(name, expected):