From c30f9603eb175924f07d666eaea3f069cc9b7096 Mon Sep 17 00:00:00 2001 From: Vrihub Date: Tue, 16 Sep 2025 17:31:42 +0200 Subject: [PATCH] Fix format and lint errors --- beetsplug/fromfilename.py | 8 +-- test/plugins/test_fromfilename.py | 83 +++++++++++++++---------------- 2 files changed, 46 insertions(+), 45 deletions(-) diff --git a/beetsplug/fromfilename.py b/beetsplug/fromfilename.py index 42544e655..5b8bafc44 100644 --- a/beetsplug/fromfilename.py +++ b/beetsplug/fromfilename.py @@ -25,8 +25,10 @@ from beets.util import displayable_path # Filename field extraction patterns. PATTERNS = [ # Useful patterns. - (r"^(?P\d+)\.?\s*-\s*(?P.+?)\s*-\s*(?P.+?)" - r"(\s*-\s*(?P<tag>.*))?$"), + ( + r"^(?P<track>\d+)\.?\s*-\s*(?P<artist>.+?)\s*-\s*(?P<title>.+?)" + r"(\s*-\s*(?P<tag>.*))?$" + ), r"^(?P<artist>.+?)\s*-\s*(?P<title>.+?)(\s*-\s*(?P<tag>.*))?$", r"^(?P<track>\d+)\.?[\s\-_]+(?P<title>.+)$", r"^(?P<title>.+) by (?P<artist>.+)$", @@ -160,7 +162,7 @@ class FromFilenamePlugin(plugins.BeetsPlugin): # Look for useful information in the filenames. for pattern in PATTERNS: - self._log.debug("Trying pattern: {}".format(pattern)) + self._log.debug(f"Trying pattern: {pattern}") d = all_matches(names, pattern) if d: apply_matches(d, self._log) diff --git a/test/plugins/test_fromfilename.py b/test/plugins/test_fromfilename.py index 3dc600ced..511f63d38 100644 --- a/test/plugins/test_fromfilename.py +++ b/test/plugins/test_fromfilename.py @@ -12,27 +12,26 @@ # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. -"""Tests for the fromfilename plugin. -""" +"""Tests for the fromfilename plugin.""" import unittest from unittest.mock import Mock + from beetsplug import fromfilename class FromfilenamePluginTest(unittest.TestCase): - def setUp(self): """Create mock objects for import session and task.""" self.session = Mock() - item1config = {'path': '', 'track': 0, 'artist': '', 'title': ''} + item1config = {"path": "", "track": 0, "artist": "", "title": ""} self.item1 = Mock(**item1config) - item2config = {'path': '', 'track': 0, 'artist': '', 'title': ''} + item2config = {"path": "", "track": 0, "artist": "", "title": ""} self.item2 = Mock(**item2config) - taskconfig = {'is_album': True, 'items': [self.item1, self.item2]} + taskconfig = {"is_album": True, "items": [self.item1, self.item2]} self.task = Mock(**taskconfig) def tearDown(self): @@ -47,12 +46,12 @@ class FromfilenamePluginTest(unittest.TestCase): f = fromfilename.FromFilenamePlugin() f.filename_task(self.task, self.session) - self.assertEqual(self.task.items[0].track, 1) - self.assertEqual(self.task.items[1].track, 2) - self.assertEqual(self.task.items[0].artist, "Artist Name") - self.assertEqual(self.task.items[1].artist, "Artist Name") - self.assertEqual(self.task.items[0].title, "Song One") - self.assertEqual(self.task.items[1].title, "Song Two") + assert self.task.items[0].track == 1 + assert self.task.items[1].track == 2 + assert self.task.items[0].artist == "Artist Name" + assert self.task.items[1].artist == "Artist Name" + assert self.task.items[0].title == "Song One" + assert self.task.items[1].title == "Song Two" def test_sep_dash(self): """Test filenames that use "-" as separator.""" @@ -63,12 +62,12 @@ class FromfilenamePluginTest(unittest.TestCase): f = fromfilename.FromFilenamePlugin() f.filename_task(self.task, self.session) - self.assertEqual(self.task.items[0].track, 1) - self.assertEqual(self.task.items[1].track, 2) - self.assertEqual(self.task.items[0].artist, "Artist_Name") - self.assertEqual(self.task.items[1].artist, "Artist_Name") - self.assertEqual(self.task.items[0].title, "Song_One") - self.assertEqual(self.task.items[1].title, "Song_Two") + assert self.task.items[0].track == 1 + assert self.task.items[1].track == 2 + assert self.task.items[0].artist == "Artist_Name" + assert self.task.items[1].artist == "Artist_Name" + assert self.task.items[0].title == "Song_One" + assert self.task.items[1].title == "Song_Two" def test_track_title(self): """Test filenames including track and title.""" @@ -79,12 +78,12 @@ class FromfilenamePluginTest(unittest.TestCase): f = fromfilename.FromFilenamePlugin() f.filename_task(self.task, self.session) - self.assertEqual(self.task.items[0].track, 1) - self.assertEqual(self.task.items[1].track, 2) - self.assertEqual(self.task.items[0].artist, "") - self.assertEqual(self.task.items[1].artist, "") - self.assertEqual(self.task.items[0].title, "Song_One") - self.assertEqual(self.task.items[1].title, "Song_Two") + assert self.task.items[0].track == 1 + assert self.task.items[1].track == 2 + assert self.task.items[0].artist == "" + assert self.task.items[1].artist == "" + assert self.task.items[0].title == "Song_One" + assert self.task.items[1].title == "Song_Two" def test_title_by_artist(self): """Test filenames including title by artist.""" @@ -95,12 +94,12 @@ class FromfilenamePluginTest(unittest.TestCase): f = fromfilename.FromFilenamePlugin() f.filename_task(self.task, self.session) - self.assertEqual(self.task.items[0].track, 0) - self.assertEqual(self.task.items[1].track, 0) - self.assertEqual(self.task.items[0].artist, "The Artist") - self.assertEqual(self.task.items[1].artist, "The Artist") - self.assertEqual(self.task.items[0].title, "Song One") - self.assertEqual(self.task.items[1].title, "Song Two") + assert self.task.items[0].track == 0 + assert self.task.items[1].track == 0 + assert self.task.items[0].artist == "The Artist" + assert self.task.items[1].artist == "The Artist" + assert self.task.items[0].title == "Song One" + assert self.task.items[1].title == "Song Two" def test_track_only(self): """Test filenames including only track.""" @@ -111,12 +110,12 @@ class FromfilenamePluginTest(unittest.TestCase): f = fromfilename.FromFilenamePlugin() f.filename_task(self.task, self.session) - self.assertEqual(self.task.items[0].track, 1) - self.assertEqual(self.task.items[1].track, 2) - self.assertEqual(self.task.items[0].artist, "") - self.assertEqual(self.task.items[1].artist, "") - self.assertEqual(self.task.items[0].title, "01") - self.assertEqual(self.task.items[1].title, "02") + assert self.task.items[0].track == 1 + assert self.task.items[1].track == 2 + assert self.task.items[0].artist == "" + assert self.task.items[1].artist == "" + assert self.task.items[0].title == "01" + assert self.task.items[1].title == "02" def test_title_only(self): """Test filenames including only title.""" @@ -127,12 +126,12 @@ class FromfilenamePluginTest(unittest.TestCase): f = fromfilename.FromFilenamePlugin() f.filename_task(self.task, self.session) - self.assertEqual(self.task.items[0].track, 0) - self.assertEqual(self.task.items[1].track, 0) - self.assertEqual(self.task.items[0].artist, "") - self.assertEqual(self.task.items[1].artist, "") - self.assertEqual(self.task.items[0].title, "Song One") - self.assertEqual(self.task.items[1].title, "Song Two") + assert self.task.items[0].track == 0 + assert self.task.items[1].track == 0 + assert self.task.items[0].artist == "" + assert self.task.items[1].artist == "" + assert self.task.items[0].title == "Song One" + assert self.task.items[1].title == "Song Two" def suite():