From 41bbb77a0befde24f2de708d1796f204423cc248 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0ar=C5=ABnas=20Nejus?= Date: Mon, 8 Jul 2024 21:52:40 +0100 Subject: [PATCH] Centralise 'import_dir' creation --- beets/test/helper.py | 19 +++++++++---------- test/plugins/test_filefilter.py | 4 ---- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/beets/test/helper.py b/beets/test/helper.py index 5409b3425..4fecf796d 100644 --- a/beets/test/helper.py +++ b/beets/test/helper.py @@ -39,6 +39,7 @@ import sys import unittest from contextlib import contextmanager from enum import Enum +from functools import cached_property from io import StringIO from tempfile import mkdtemp, mkstemp from typing import ClassVar @@ -504,6 +505,12 @@ class ImportHelper: importer: importer.ImportSession + @cached_property + def import_dir(self): + import_dir = os.path.join(self.temp_dir, b"import") + os.makedirs(syspath(import_dir), exist_ok=True) + return import_dir + def setup_beets(self): super().setup_beets() self.lib.path_formats = [ @@ -526,10 +533,6 @@ class ImportHelper: :param count: Number of files to create """ - self.import_dir = os.path.join(self.temp_dir, b"testsrcdir") - if os.path.isdir(syspath(self.import_dir)): - shutil.rmtree(syspath(self.import_dir)) - album_path = os.path.join(self.import_dir, b"the_album") os.makedirs(syspath(album_path)) @@ -595,14 +598,10 @@ class ImportHelper: Copies the specified number of files to a subdirectory of `self.temp_dir` and creates a `ImportSessionFixture` for this path. """ - import_dir = os.path.join(self.temp_dir, b"import") - if not os.path.isdir(syspath(import_dir)): - os.mkdir(syspath(import_dir)) - album_no = 0 while album_count: album = util.bytestring_path(f"album {album_no}") - album_dir = os.path.join(import_dir, album) + album_dir = os.path.join(self.import_dir, album) if os.path.exists(syspath(album_dir)): album_no += 1 continue @@ -639,7 +638,7 @@ class ImportHelper: config["import"]["resume"] = False return ImportSessionFixture( - self.lib, loghandler=None, query=None, paths=[import_dir] + self.lib, loghandler=None, query=None, paths=[self.import_dir] ) def assert_file_in_lib(self, *segments): diff --git a/test/plugins/test_filefilter.py b/test/plugins/test_filefilter.py index 4af0a4be7..81cd6b43b 100644 --- a/test/plugins/test_filefilter.py +++ b/test/plugins/test_filefilter.py @@ -46,10 +46,6 @@ class FileFilterPluginTest(ImportTestCase): medium.save() def __create_import_dir(self, count): - self.import_dir = os.path.join(self.temp_dir, b"testsrcdir") - if os.path.isdir(syspath(self.import_dir)): - shutil.rmtree(syspath(self.import_dir)) - self.artist_path = os.path.join(self.import_dir, b"artist") self.album_path = os.path.join(self.artist_path, b"album") self.misc_path = os.path.join(self.import_dir, b"misc")