snejus / beetcamp

Bandcamp autotagger source for beets (http://beets.io)
GNU General Public License v2.0
66 stars 13 forks source link

error while matching with latest beets commit #26

Closed emanuele-virgillito closed 2 years ago

emanuele-virgillito commented 2 years ago

Hi, thank you for your plugin, it is fundamental in managing my music library. I got the following error when importing a directory. I am using the latest beets version pointing to the latest commit on master (link) since i really need the feature to disable musicbrainz since i mainly rely on discogs and bandcamp. However, since the first matching tentative i get the following error:

root@beets:/# beet import -t /media/music/TAGGED/okbatch_1 /src/beets/beets/mediafile.py:19: UserWarning: beets.mediafile is deprecated; use mediafile instead warnings.warn("beets.mediafile is deprecated; use mediafile instead") Traceback (most recent call last): File "/usr/local/bin/beet", line 11, in load_entry_point('beets', 'console_scripts', 'beet')() File "/src/beets/beets/ui/init.py", line 1285, in main _raw_main(args) File "/src/beets/beets/ui/init.py", line 1272, in _raw_main subcommand.func(lib, suboptions, subargs) File "/src/beets/beets/ui/commands.py", line 973, in import_func import_files(lib, paths, query) File "/src/beets/beets/ui/commands.py", line 943, in import_files session.run() File "/src/beets/beets/importer.py", line 340, in run pl.run_parallel(QUEUE_SIZE) File "/src/beets/beets/util/pipeline.py", line 446, in run_parallel raise exc_info[1].with_traceback(exc_info[2]) File "/src/beets/beets/util/pipeline.py", line 311, in run out = self.coro.send(msg) File "/src/beets/beets/util/pipeline.py", line 193, in coro func((args + (task,))) File "/src/beets/beets/importer.py", line 1376, in lookup_candidates task.lookup_candidates() File "/src/beets/beets/importer.py", line 660, in lookup_candidates autotag.tag_album(self.items, search_ids=self.search_ids) File "/src/beets/beets/autotag/match.py", line 465, in tag_album extra_tags): File "/src/beets/beets/plugins.py", line 573, in decorated for v in generator(args, **kwargs): File "/src/beets/beets/autotag/hooks.py", line 632, in album_candidates yield from plugins.candidates(items, artist, album, va_likely, extra_tags) File "/src/beets/beets/plugins.py", line 385, in candidates extra_tags) File "/usr/local/lib/python3.7/dist-packages/beetsplug/bandcamp/init.py", line 180, in candidates results = map(lambda x: x["url"], self._search(album, ALBUM_SEARCH, artist)) File "/usr/local/lib/python3.7/dist-packages/beetsplug/bandcamp/init.py", line 289, in _search results = self._parse_and_sort_results(html, query, artist) File "/usr/local/lib/python3.7/dist-packages/beetsplug/bandcamp/init__.py", line 266, in _parse_and_sort_results similarity = get_similarity(release, res["release"]) File "/usr/local/lib/python3.7/dist-packages/beetsplug/bandcamp/init.py", line 259, in get_similarity return SequenceMatcher(a=a, b=b).find_longest_match().size / len(a) TypeError: find_longest_match() missing 4 required positional arguments: 'alo', 'ahi', 'blo', and 'bhi'

from the docker image build i can see that the latest beetcamp version 0.13 is installed Hope you can help solving the issue!

snejus commented 2 years ago

Thanks for reporting this @emanuele-virgillito, sorry to see that the plugin is being temperamental with you here!

This change has indeed been released as part of the latest version. I am currently looking into it.

snejus commented 2 years ago

@emanuele-virgillito could you run the same command in verbose mode and share the logs? Try adding flag -vv, for example beet -vv import ....

I tried reproducing the issue locally but it works fine, so I need to see some debug logs to form a better idea of it. Thank you!

Edit: Have just found out what's causing the issue, feel free to ignore what I said above! :)