Allow multilevel folder schemes (#251)

* Improve some formatting

* Allow multilevel folder names
This commit is contained in:
Serene
2021-04-04 16:16:06 +10:00
committed by Ali Parlakci
parent dc9d02a28c
commit 702295f1ea
2 changed files with 49 additions and 12 deletions

View File

@@ -26,7 +26,7 @@ def submission() -> MagicMock:
return test
@pytest.fixture()
@pytest.fixture(scope='session')
def reddit_submission(reddit_instance: praw.Reddit) -> praw.models.Submission:
return reddit_instance.submission(id='lgilgt')
@@ -267,9 +267,30 @@ def test_format_archive_entry_comment(
test_comment_id: str,
expected_name: str,
tmp_path: Path,
reddit_instance: praw.Reddit):
reddit_instance: praw.Reddit,
):
test_comment = reddit_instance.comment(id=test_comment_id)
test_formatter = FileNameFormatter(test_file_scheme, test_folder_scheme)
test_entry = Resource(test_comment, '', '.json')
result = test_formatter.format_path(test_entry, tmp_path)
assert result.name == expected_name
@pytest.mark.parametrize(('test_folder_scheme', 'expected'), (
('{REDDITOR}/{SUBREDDIT}', 'person/randomreddit'),
('{POSTID}/{SUBREDDIT}/{REDDITOR}', '12345/randomreddit/person'),
))
def test_multilevel_folder_scheme(
test_folder_scheme: str,
expected: str,
tmp_path: Path,
submission: MagicMock,
):
test_formatter = FileNameFormatter('{POSTID}', test_folder_scheme)
test_resource = MagicMock()
test_resource.source_submission = submission
test_resource.extension = '.png'
result = test_formatter.format_path(test_resource, tmp_path)
result = result.relative_to(tmp_path)
assert str(result.parent) == expected
assert len(result.parents) == (len(expected.split('/')) + 1)