Skip to content

Commit

Permalink
beets-alternatives: Fix tests against beets 1.4.6
Browse files Browse the repository at this point in the history
Since the bump of beets to version 1.4.6 in e5fab33
the tests no longer run successfully because beets 1.4.6 introduces a
breaking API change for the Item.move() method which now instead of just
passing copy=True the operation is now passed using a different
"operation" keyword argument.

Unfortunately the original repository of beets-alternatives is
unmaintained since 3 years and thus there is no upstream fix available
at the moment.

However, there is a fork maintained by @wisp3rwind, which addresses this
problem (wisp3rwind/beets-alternatives@33c6525)
and a bunch of other fixes.

The reason why I'm not using the patch from @wisp3rwind is that it
simply doesn't apply against beets-alternatives 0.8.2, but my patch here
essentially does the same.

Signed-off-by: aszlig <aszlig@nix.build>
Upstream issue: geigerzaehler/beets-alternatives#13
Cc: @Profpatsch
  • Loading branch information
aszlig committed Jan 31, 2018
1 parent ad78ba1 commit 2e4aded
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
30 changes: 30 additions & 0 deletions pkgs/tools/audio/beets/alternatives-beets-1.4.6.patch
@@ -0,0 +1,30 @@
diff --git a/test/helper.py b/test/helper.py
index c216226..d409c09 100644
--- a/test/helper.py
+++ b/test/helper.py
@@ -11,6 +11,7 @@ import beets
from beets import plugins
from beets import ui
from beets.library import Item
+from beets.util import MoveOperation

from beetsplug import alternatives
from beetsplug import convert
@@ -183,7 +184,7 @@ class TestHelper(Assertions):
item = Item.from_path(os.path.join(self.fixture_dir, 'min.' + ext))
item.add(self.lib)
item.update(values)
- item.move(copy=True)
+ item.move(operation=MoveOperation.COPY)
item.write()
album = self.lib.add_album([item])
album.albumartist = item.artist
@@ -201,7 +202,7 @@ class TestHelper(Assertions):
item = Item.from_path(os.path.join(self.fixture_dir, 'min.mp3'))
item.add(self.lib)
item.update(values)
- item.move(copy=True)
+ item.move(operation=MoveOperation.COPY)
item.write()
return item

2 changes: 2 additions & 0 deletions pkgs/tools/audio/beets/alternatives-plugin.nix
Expand Up @@ -11,6 +11,8 @@ pythonPackages.buildPythonApplication rec {
sha256 = "10za6h59pxa13y8i4amqhc6392csml0dl771lssv6b6a98kamsy7";
};

patches = [ ./alternatives-beets-1.4.6.patch ];

postPatch = ''
sed -i -e '/install_requires/,/\]/{/beets/d}' setup.py
sed -i -e '/test_suite/d' setup.py
Expand Down

0 comments on commit 2e4aded

Please sign in to comment.