1
0
Fork 0
mirror of synced 2024-05-17 10:42:39 +12:00

Strip any newline characters from names

This commit is contained in:
Serene-Arc 2022-03-25 10:50:52 +10:00
parent a2aa739c37
commit 806bd76f87
2 changed files with 6 additions and 1 deletions

View file

@ -111,6 +111,9 @@ class FileNameFormatter:
if not resource.extension:
raise BulkDownloaderException(f'Resource from {resource.url} has no extension')
file_name = str(self._format_name(resource.source_submission, self.file_format_string))
file_name = re.sub(r'\n', ' ', file_name)
if not re.match(r'.*\.$', file_name) and not re.match(r'^\..*', resource.extension):
ending = index + '.' + resource.extension
else:

View file

@ -16,6 +16,7 @@ from bdfr.file_name_formatter import FileNameFormatter
from bdfr.resource import Resource
from bdfr.site_downloaders.base_downloader import BaseDownloader
from bdfr.site_downloaders.fallback_downloaders.ytdlp_fallback import YtdlpFallback
from bdfr.site_downloaders.self_post import SelfPost
@pytest.fixture()
@ -406,6 +407,7 @@ def test_windows_max_path(tmp_path: Path):
@pytest.mark.parametrize(('test_reddit_id', 'test_downloader', 'expected_names'), (
('gphmnr', YtdlpFallback, {'He has a lot to say today.mp4'}),
('d0oir2', YtdlpFallback, {"Crunk's finest moment. Welcome to the new subreddit!.mp4"}),
('jiecu', SelfPost, {'Reston, VA Some info regarding shelters in the area..txt'})
))
def test_name_submission(
test_reddit_id: str,
@ -418,4 +420,4 @@ def test_name_submission(
test_formatter = FileNameFormatter('{TITLE}', '', '')
results = test_formatter.format_resource_paths(test_resources, Path('.'))
results = set([r[0].name for r in results])
assert expected_names == results
assert results == expected_names