Merge pull request #18476 from michalrus/beets-keyfinder-copyartifacts
Beets: fix keyfinder plugin (did not work) and add copyartifacts plugin
This commit is contained in:
commit
231ad13118
|
@ -0,0 +1,24 @@
|
|||
{ stdenv, buildPythonApplication, fetchFromGitHub, pythonPackages }:
|
||||
|
||||
buildPythonApplication rec {
|
||||
name = "beets-copyartifacts";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "beets-copyartifacts";
|
||||
owner = "sbarakat";
|
||||
rev = "dac4a1605111e24bb5b498aa84cead7c87480834";
|
||||
sha256 = "0p5cskfgqinzh48a58hw56f96g9lar3k3g2p0ip1m9kawzf6axng";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e '/install_requires/,/\]/{/beets/d}' setup.py
|
||||
sed -i -e '/namespace_packages/d' setup.py
|
||||
printf 'from pkgutil import extend_path\n__path__ = extend_path(__path__, __name__)\n' >beetsplug/__init__.py
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Beets plugin to move non-music files during the import process";
|
||||
homepage = "https://github.com/sbarakat/beets-copyartifacts";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
};
|
||||
}
|
|
@ -8,6 +8,7 @@
|
|||
, enableDiscogs ? true
|
||||
, enableEmbyupdate ? true
|
||||
, enableFetchart ? true
|
||||
, enableKeyfinder ? true, keyfinder-cli ? null
|
||||
, enableLastfm ? true
|
||||
, enableMpd ? true
|
||||
, enableReplaygain ? true, bs1770gain ? null
|
||||
|
@ -15,7 +16,8 @@
|
|||
, enableWeb ? true
|
||||
|
||||
# External plugins
|
||||
, enableAlternatives ? false
|
||||
, enableAlternatives ? false
|
||||
, enableCopyArtifacts ? false
|
||||
|
||||
, bashInteractive, bashCompletion
|
||||
}:
|
||||
|
@ -25,6 +27,7 @@ assert enableBadfiles -> flac != null && mp3val != null;
|
|||
assert enableConvert -> ffmpeg != null;
|
||||
assert enableDiscogs -> pythonPackages.discogs_client != null;
|
||||
assert enableFetchart -> pythonPackages.responses != null;
|
||||
assert enableKeyfinder -> keyfinder-cli != null;
|
||||
assert enableLastfm -> pythonPackages.pylast != null;
|
||||
assert enableMpd -> pythonPackages.mpd != null;
|
||||
assert enableReplaygain -> bs1770gain != null;
|
||||
|
@ -42,6 +45,7 @@ let
|
|||
discogs = enableDiscogs;
|
||||
embyupdate = enableEmbyupdate;
|
||||
fetchart = enableFetchart;
|
||||
keyfinder = enableKeyfinder;
|
||||
lastgenre = enableLastfm;
|
||||
lastimport = enableLastfm;
|
||||
mpdstats = enableMpd;
|
||||
|
@ -54,7 +58,7 @@ let
|
|||
pluginsWithoutDeps = [
|
||||
"beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates" "edit" "embedart"
|
||||
"export" "filefilter" "freedesktop" "fromfilename" "ftintitle" "fuzzy" "hook" "ihate"
|
||||
"importadded" "importfeeds" "info" "inline" "ipfs" "keyfinder" "lyrics"
|
||||
"importadded" "importfeeds" "info" "inline" "ipfs" "lyrics"
|
||||
"mbcollection" "mbsubmit" "mbsync" "metasync" "missing" "permissions" "play"
|
||||
"plexupdate" "random" "rewrite" "scrub" "smartplaylist" "spotify" "the"
|
||||
"types" "zero"
|
||||
|
@ -98,12 +102,16 @@ in buildPythonApplication rec {
|
|||
pythonPackages.requests2
|
||||
++ optional enableConvert ffmpeg
|
||||
++ optional enableDiscogs pythonPackages.discogs_client
|
||||
++ optional enableKeyfinder keyfinder-cli
|
||||
++ optional enableLastfm pythonPackages.pylast
|
||||
++ optional enableMpd pythonPackages.mpd
|
||||
++ optional enableThumbnails pythonPackages.pyxdg
|
||||
++ optional enableWeb pythonPackages.flask
|
||||
++ optional enableAlternatives (import ./alternatives-plugin.nix {
|
||||
inherit stdenv buildPythonApplication pythonPackages fetchFromGitHub;
|
||||
})
|
||||
++ optional enableCopyArtifacts (import ./copyartifacts-plugin.nix {
|
||||
inherit stdenv buildPythonApplication pythonPackages fetchFromGitHub;
|
||||
});
|
||||
|
||||
buildInputs = with pythonPackages; [
|
||||
|
@ -117,6 +125,7 @@ in buildPythonApplication rec {
|
|||
|
||||
patches = [
|
||||
./replaygain-default-bs1770gain.patch
|
||||
./keyfinder-default-bin.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
diff --git a/beetsplug/keyfinder.py b/beetsplug/keyfinder.py
|
||||
index b6131a4..b493792 100644
|
||||
--- a/beetsplug/keyfinder.py
|
||||
+++ b/beetsplug/keyfinder.py
|
||||
@@ -30,7 +30,7 @@ class KeyFinderPlugin(BeetsPlugin):
|
||||
def __init__(self):
|
||||
super(KeyFinderPlugin, self).__init__()
|
||||
self.config.add({
|
||||
- u'bin': u'KeyFinder',
|
||||
+ u'bin': u'keyfinder-cli',
|
||||
u'auto': True,
|
||||
u'overwrite': False,
|
||||
})
|
||||
@@ -59,7 +59,7 @@ class KeyFinderPlugin(BeetsPlugin):
|
||||
continue
|
||||
|
||||
try:
|
||||
- output = util.command_output([bin, b'-f',
|
||||
+ output = util.command_output([bin,
|
||||
util.syspath(item.path)])
|
||||
except (subprocess.CalledProcessError, OSError) as exc:
|
||||
self._log.error(u'execution failed: {0}', exc)
|
||||
diff --git a/test/test_keyfinder.py b/test/test_keyfinder.py
|
||||
index 00952fe..01ff8d4 100644
|
||||
--- a/test/test_keyfinder.py
|
||||
+++ b/test/test_keyfinder.py
|
||||
@@ -46,7 +46,7 @@ class KeyFinderTest(unittest.TestCase, TestHelper):
|
||||
item.load()
|
||||
self.assertEqual(item['initial_key'], 'C#m')
|
||||
self.command_output.assert_called_with(
|
||||
- ['KeyFinder', '-f', util.syspath(item.path)])
|
||||
+ ['keyfinder-cli', util.syspath(item.path)])
|
||||
|
||||
def test_add_key_on_import(self):
|
||||
self.command_output.return_value = 'dbm'
|
Loading…
Reference in New Issue