Fix format and lint errors

This commit is contained in:
Vrihub 2025-09-16 17:31:42 +02:00
parent 6b1c3bc582
commit c30f9603eb
2 changed files with 46 additions and 45 deletions

View file

@ -25,8 +25,10 @@ from beets.util import displayable_path
# Filename field extraction patterns.
PATTERNS = [
# Useful patterns.
(r"^(?P<track>\d+)\.?\s*-\s*(?P<artist>.+?)\s*-\s*(?P<title>.+?)"
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)

View file

@ -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():