Tom Jaspers
bba8647bac
MetaSync: rename 'cls' variable to '_cls'
2015-05-09 12:22:51 +02:00
Tom Jaspers
cb13d21ad6
MetaSync: automatic load of sources and item_types
...
- MetaSources get loaded from the modules automatically
- The MetaSources can define their own item_types, that get loaded for the plugin
- __init__ doesn't need any changes to accept new metasources
- Fix the --sources option to actually accept sources
(it was being interpreted as boolean flag before, crashing the plugin)
- More safety w.r.t. external dependencies
2015-05-09 11:31:39 +02:00
Tom Jaspers
de5db7068b
MetaSync: sources need to subclass MetaSource
...
- allows for the logging to integrate better
- renamed `get_data` to `sync_data`, to better reflect that its not returning anything,
but that the item's data is being set by the function
2015-05-08 16:48:38 +02:00
Adrian Sampson
c856326865
Fix #1449 : Unicode paths in permissions
2015-05-06 22:23:18 -07:00
Tom Jaspers
3dc2beda41
MetaSync: add iTunes synchronization
...
Uses plistlib to read a temp copy of `iTunes Library.xml`
2015-05-06 22:01:00 +02:00
Cody Reichert
b776a71a8c
handle mpdstats update_rating when item is None / add appropriate tests
2015-04-28 23:23:27 -05:00
D Andrew Reynhout
c9380abc3b
Test config opt import/write before embedding art ( fixes #1427 )
2015-04-23 15:43:56 -04:00
Heinz Wiesinger
c50d59f7e7
Rename metadata sync plugin.
2015-04-18 14:02:51 +02:00
Heinz Wiesinger
73fcbd07c3
Load metadata sync plugins dynamically.
2015-04-18 14:02:51 +02:00
Heinz Wiesinger
65307b410c
Fix issues with unicode and unplayed tracks when syncing data with amarok.
2015-04-18 14:02:51 +02:00
Heinz Wiesinger
5e43b07128
Initial version of a plugin that syncs metadata from other applications.
2015-04-18 14:02:51 +02:00
Bruno Cauet
d134ad922d
Discogs: add API errors to CONNECTION_ERRORS
...
This avoids potential crashes when DiscogsAPIError is not explicitely
caught.
Relates to #1417 .
2015-04-17 17:32:42 +02:00
Adrian Sampson
b313c8b46a
fuzzy: Fix #1422 , regression crasher
2015-04-15 19:46:31 -07:00
Adrian Sampson
46f382fd9b
importadded: Fix in-place singleton imports
...
Fixes #1416 .
2015-04-14 11:45:20 -07:00
Adrian Sampson
0507f80fcd
discogs: Handle errors on auth setup ( fix #1417 )
2015-04-14 10:26:39 -07:00
jmwatte
c834599b42
fix regex
2015-04-13 10:46:47 +02:00
Adrian Sampson
7372ad4831
replaygain: Log bs1770gain invocations
...
For clearer debugging in #1398 .
2015-04-12 23:01:44 -07:00
Adrian Sampson
ab78eed02e
replaygain: Avoid suppressing debug output ( #1398 )
...
This was suppressing debug output even with `beet -vv import`. This also avoid
registering an import hook when auto is disabled.
2015-04-12 22:59:48 -07:00
Adrian Sampson
9c7b8d22ca
Catch empty output list in bs1770gain ( fix #1398 )
...
This should catch the original crash that brought this all up.
2015-04-10 09:01:13 -07:00
Adrian Sampson
6fcd88bc31
More precise comment for #1398
2015-04-10 08:53:54 -07:00
jmwatte
7128340385
fix no-PREFIX for long window-paths
2015-04-10 09:26:56 +02:00
Adrian Sampson
821c5bf3df
Documentation pass for #1398
2015-04-09 17:06:35 -07:00
Adrian Sampson
ecb65a5a4a
Idiomatic configuration defaults ( #1398 )
...
Paging @jmwatte: `config.add` is the standard way to specify defaults for
configuration options.
2015-04-09 16:55:18 -07:00
jmwatte
1f08470fb3
Merge branch 'master' of https://github.com/sampsyo/beets
2015-04-09 18:53:39 +02:00
jmwatte
51cfde4e9d
fix bs1770gain for windows and exceptionally big albums
2015-04-09 18:48:37 +02:00
Bruno Cauet
882844bc77
Echonest conversion command: only use byte strings
...
Temp file name was unicode, so if other parts of the command were
utf8-encoded non-ascii strings the command would fail (in
beets.util.command_output()). Requesting a temp file with a byte string
path fixes the issue.
Fix #1407 .
2015-04-09 18:05:41 +02:00
jmwatte
7ac6ba53ff
fix bs1770gain for windows and exceptionally big albums
2015-04-09 18:02:32 +02:00
jmwatte
f1f7094938
fix bs1770gain for windows and exceptionally big albums
2015-04-09 17:18:26 +02:00
multikatt
58a8a3d386
Check for failed ipfs get:s
2015-04-07 15:01:12 -04:00
multikatt
4e4fa0580a
Renaming hash to not collide with built in funct
2015-04-07 14:31:12 -04:00
Frederik “Freso” S. Olesen
0d21e816d4
Fetchart: Remove hard 500px size limit for CAA cover art.
...
Using -500 URLs for coverartarchive.org will only ever return images
where the biggest dimension is (width or height) is 500 pixels,
regardless of what fetchart settings are otherwise set.
This commit removes the -500 from the URL entirely rather than using it
conditionally, since a maxwidth of 500 will allow for a 600 high and 500
wide image, but CAA.org/...-500 would return a 500x417 image instead, so
not enforcing a size is the only way to ensure the user's {max,min}width
settings are properly respected.
2015-04-07 15:24:01 +02:00
multikatt
00f2e58fe8
Remove unused import
2015-04-06 18:47:17 -04:00
multikatt
f2d298d17c
More linting
2015-04-06 18:11:38 -04:00
multikatt
540a267f9d
Using self._log instead of ui.print_
2015-04-06 17:48:25 -04:00
multikatt
247b4739ae
Adding docstring
2015-04-06 17:21:51 -04:00
multikatt
85544199a7
Cleanup after download
2015-04-06 17:05:46 -04:00
multikatt
d3aff50dbe
Linting
2015-04-06 16:20:37 -04:00
multikatt
0ab65fa566
adding get command
2015-04-06 15:34:17 -04:00
Tom Jaspers
7bdcb08ef5
Merge pull request #1394 from tomjaspers/fetchart-minwidth-ratio
...
Fetchart: minwidth and enforce_ratio options
2015-04-06 11:20:33 +02:00
multikatt
23d16d7b94
Very rough first version
...
The plugin can add items existing in the library to ipfs
2015-04-06 00:28:22 -04:00
Adrian Sampson
0af2cdaa3a
New beets.art image utilities
...
This makes it cleaner to share the high-level image-embedding logic between
the `embedart` and `convert` plugins. This resolves a regression, introduced
in f504c786 , that inadvertently activated the former plugin when the latter
was enabled. I also like avoiding cross-plugin imports.
2015-04-05 12:15:38 -07:00
Adrian Sampson
cf39977fbb
Fix #1393 : rewrite broken for album-level fields
...
We now create a computed field for albums as well as items. (This plugin is
very old!)
2015-04-04 16:03:12 -07:00
Tom Jaspers
b5ec26c949
Fetchart: minwidth & enforce_ratio options
...
- Minimum image width can be specified via minwidth (default `0`)
- The image ratio can be enforced to 1:1 using `enforce_ratio` (default `no`)
See #1058
2015-04-04 20:52:08 +02:00
Adrian Sampson
8ae0317014
bpd: Process commands as bytes ( fix #1388 )
2015-03-31 07:13:13 -05:00
Tom Jaspers
c95b89ebc1
Thumbnails: add None check on lib_name
...
`find_library` could return None, which would not cause an OSError
from `loadLibrary`, making the plugin (falsely) think the library is available
Also fixed wrong method call to skip test in that case
See #1277
2015-03-30 19:56:22 +02:00
Adrian Sampson
e953e6bdcb
Merge branch 'master' of github.com:sampsyo/beets
2015-03-29 14:28:22 -07:00
Adrian Sampson
e7bba32a44
Redact some API keys
2015-03-29 14:22:49 -07:00
Bruno Cauet
9705c09035
Merge branch 'thumbnails'
2015-03-29 21:44:42 +02:00
Adrian Sampson
eeca2105f9
Merge pull request #1377 from amishb/custom_ft_title
...
ftintitle plugin now allows a custom format to be defined (Correct Branch)
2015-03-29 12:05:53 -07:00
Pedro Silva
13d65f9c37
fix default format from config
...
The (automated?) change to add_format_option had broken the existing
formating logic
2015-03-28 17:23:11 +01:00
Amish Bhadeshia
9a38b07ed4
Housekeeping and styling changes
2015-03-28 11:20:28 +00:00
Pedro Silva
82ce6f054d
make helper functions methods in plugin
...
This helps use the _log attribute that is now available
2015-03-28 10:08:07 +01:00
Adrian Sampson
ef5052e111
Merge pull request #1383 from autochthe/convert/tmpdir
...
convert: Add 'tmpdir' option
2015-03-27 23:05:18 -04:00
Adrian Sampson
07516b2bca
Redact some passwords in plugins
2015-03-27 22:42:28 -04:00
Adrian Sampson
b477f4a53f
Merge pull request #1376 from tomjaspers/config-redacted-fields
...
Config: new option -r redacts sensitive fields
Conflicts:
beets/util/confit.py
2015-03-27 22:11:24 -04:00
Amish Bhadeshia
6365a9b538
Added indice into curly brackets, for py26 compatabiity
2015-03-27 20:54:42 +00:00
Amish Bhadeshia
232ff05766
Added tests and simplified implementation method
2015-03-27 17:59:35 +00:00
Bruno Cauet
e707342bf9
Add call to g_type_init() for glib < 2.36
2015-03-27 16:33:51 +01:00
Bruno Cauet
2e5803cfad
Thumbnails: unicode → bytes filename
2015-03-27 14:00:22 +01:00
Bruno Cauet
f41ec9bbf6
ctpyes: set argtypes & restype
2015-03-27 14:00:13 +01:00
Pedro Silva
9999460cb4
hash attribute values as tuples instead of stringifying on SOH char
2015-03-27 11:48:51 +01:00
Pedro Silva
fb0e03dd6b
remove redundant plugin name from logging
2015-03-27 11:47:40 +01:00
Pedro Silva
66e06baca7
fix #1000 : provide --strict option (don't match on null attributes)
2015-03-27 11:34:45 +01:00
Mara Kim
ddca1b2e13
Add 'tmpdir' option to convert plugin
...
Closes sampsyo/beets#1382
Add tmpdir setting
document tmpdir setting
2015-03-27 02:11:33 -05:00
Bruno Cauet
07ee934352
Thumbnails: improve log readability
2015-03-25 20:14:23 +01:00
Bruno Cauet
4b349771ff
thumbnails plugin setup: log tools chosen
2015-03-25 20:14:19 +01:00
Bruno Cauet
11a4777219
URI: use gio/gio.h's g_file_get_uri if available
2015-03-25 20:14:16 +01:00
Bruno Cauet
265fa962eb
Merge branch 'master' into thumbnails
2015-03-25 18:17:12 +01:00
Tom Jaspers
944d38064d
Config: implement redacted fields more idiomatic
...
- `add_redacted_fields(self, *field_names)` to use argument unpacking
- foo =| bar instead of foo = foo | bar
2015-03-25 14:55:29 +01:00
Bruno Cauet
8f5bae26fd
Smartplaylists: improve tests & code modularization
2015-03-25 10:44:33 +01:00
Tom Jaspers
f4ed3e16b1
Config: Add redacted fields from included plugins
2015-03-24 17:01:33 +01:00
Amish Bhadeshia
d2a95158f2
Updated ftintitle plugin to follow a format
2015-03-21 15:36:39 +00:00
Adrian Sampson
a70f8bb91f
Fix #1365 : lastimport config
2015-03-20 19:52:36 -04:00
Bruno Cauet
bcd57bd2b5
Test queries building sort management in smartplaylist
...
Slighly modify Sort parsing: avoid building MultiplSort() instances
comptised of a single sort, but return that sort instead, since it wraps
things with any gain.
2015-03-18 18:53:41 +01:00
Bruno Cauet
45c0c9b3cb
Deal with sorting
...
Try to follow any sort found & manage absence of sort. When there are
multiple sort directives given, concatenate them.
Tests not extended yet.
2015-03-18 18:09:42 +01:00
Bruno Cauet
65b52b9c48
python 2.6 compat: don't use set literals
...
In smartplaylist and test_smartplaylist.
2015-03-16 19:42:54 +01:00
Bruno Cauet
b79c025142
CLI tests for smartplaylist plugin
...
No import CLI test.
2015-03-16 18:36:08 +01:00
Bruno Cauet
40e793cdb1
Fix flake8 errors
2015-03-16 16:25:43 +01:00
Bruno Cauet
774decda7d
Smartplayist: parse_query_parts() → ...ry_string()
2015-03-16 16:21:49 +01:00
Bruno Cauet
2d9f665848
Smartplaylist: offer "splupdate <playlist names>"
...
splupdate command of the SmartPlaylistPlugin looks in "args" for matches
of playlist names.
2015-03-16 16:03:14 +01:00
Bruno Cauet
f06c33cb71
Smartplaylist: update only if item changed
2015-03-16 15:16:40 +01:00
Bruno Cauet
4bfa439ee1
database_change: send model that changed
2015-03-16 14:32:37 +01:00
Adrian Sampson
f6df14a798
Isolate bugs in pylast
...
Should fix crashes like this:
http://hastebin.com/nizusukuli.log
2015-03-14 15:13:07 -07:00
Adrian Sampson
736eab412c
Bytes arguments to bs1770gain command
2015-03-14 14:43:00 -07:00
Tom Jaspers
96a565a614
info: error msg instead of traceback on IOError
...
IOErrors were previously not caught, displaying full traceback to the user
2015-03-13 17:55:09 +01:00
David Logie
ee6fba1e82
Fix call to add_format_option() missing plugin.
2015-03-08 12:59:00 +00:00
Bruno
f6c6c35614
Merge pull request #1346 from brunal/subcommand-auto-format-path
...
Generalize --path, --format and --album options
2015-03-07 14:05:05 +01:00
Bruno Cauet
1722c26ffe
Fix DiscogsPlugin.setup() arguments
...
Session is optional. This fixes re-authorization.
Improve #1347 .
2015-03-07 14:00:47 +01:00
Adrian Sampson
bcc591bf97
Generalize exception handler for #1347
2015-03-06 12:01:09 -08:00
Bruno Cauet
d1f6bbaf01
Discogs plugin: catch client lib ValueErrors
...
When search fails, log the query which caused it and return an empty
result.
Kind of fixes #1347 .
2015-03-06 11:16:20 +01:00
Bruno Cauet
58b39f1000
Merge branch 'master' into subcommand-auto-format-path
2015-03-05 17:53:31 +01:00
Bruno Cauet
7798a521b5
Fix convert plugin
2015-03-05 17:40:32 +01:00
Bruno Cauet
ea1dc1eb19
Plugins conversion cont.
2015-03-05 17:40:32 +01:00
Bruno Cauet
650305c9a1
All suitable plugins use CommonOptionsParser features
2015-03-05 17:03:02 +01:00
Bruno Cauet
6234fee67d
Option parser: add common options with a method
...
Add a new OptionParser subclass: CommonOptionsOptionParser, which
provides facilities for adding --album, --path and --format options. The
last one is quite versatile.
Update base commands (from beets.ui.commands) to use those.
2015-03-05 15:01:20 +01:00
Bruno Cauet
9750351a1b
beets.util.command_output() & related receives bytes
...
- May fail with unicode, esp. will non-ascii system path entry.
- Only send it bytes.
- Also applies to subprocess.Popen() & co.
2015-03-04 15:15:46 +01:00
Adrian Sampson
8113c7ba85
Roll back whitespace changes from #1343
2015-03-03 10:41:30 -08:00
jmwatte
5d7d402adb
correct typing error
2015-03-03 13:11:25 +01:00
jean-marie winters
a3e32fd410
added fatalreplaygainerror
2015-03-03 11:23:45 +01:00
jean-marie winters
80c49ab360
removed line 288
2015-03-03 11:04:03 +01:00
jean-marie winters
0d49c830d8
just an updateMerge remote-tracking branch 'upstream/master'
2015-03-03 10:49:35 +01:00
jean-marie winters
5bc8ef7009
fix some formating
2015-03-02 22:11:33 +01:00
Adrian Sampson
8bd0633496
replaygain: Fix super call in AudioTools
...
Fix #1342 .
2015-03-02 11:30:14 -08:00
jean-marie winters
1416846283
Merge branch 'bs1770gainsupport'
...
Conflicts:
beetsplug/replaygain.py
2015-03-02 16:34:46 +01:00
jean-marie winters
72c5db8876
add doc, clean-up code
2015-03-02 15:38:33 +01:00
jean-marie winters
1385ce11ca
Added support for bs1770gain, a loudness-scanner
2015-02-28 15:35:48 +01:00
Bruno Cauet
65a88e2bf4
Fix StrubPlugin.write_item() expected arguments
...
Fix #1338 .
2015-02-24 19:30:51 +01:00
mried
c91e8cb782
Sometimes the extract art test failed because the file type of the extracted image might be PNG or JPG. Belongs to #1328 .
2015-02-19 19:43:07 +01:00
Adrian Sampson
ccd8a7e1d4
Merge pull request #1328 from mried/extractart-unicode
...
Fix a crash when extracting album art
2015-02-18 10:33:33 -08:00
mried
53cefa328e
Changed the path format from unicode to bytes.
2015-02-18 19:06:58 +01:00
Bruno Cauet
457afdc55d
Auto re-auth for discogs plugin upon error 401
...
This goes in the direction of #1299 and #1305 .
2015-02-18 15:11:52 +01:00
Adrian Sampson
ca0e9a8c03
Merge pull request #1329 from brunal/play-interactive
...
play command is now interactive
Conflicts:
docs/changelog.rst
2015-02-17 17:22:03 -05:00
Adrian Sampson
171ded17b6
Merge pull request #1320 from brunal/multiple-logging-levels
...
Multiple logging levels
2015-02-17 17:10:31 -05:00
Adrian Sampson
31500a741e
Merge pull request #1318 from jaquer/no-apply-replaygain
...
Stop applying mp3gain directly to files. Fixes #1316
2015-02-17 17:03:57 -05:00
Marvin Steadfast
b9174d176f
The permissions plugin now uses startswith for finding ancestors in the library path.
2015-02-17 11:45:21 +01:00
Marvin Steadfast
dd0de2f04b
Made the permissions plugin simpler. Got rid of some non-needed code and use the ancestors function instead of writing something new.
2015-02-17 11:41:15 +01:00
Marvin Steadfast
8b08ec568c
permissions plugin now uses a set instead of a OrderedDict to find duplicates in a list
2015-02-17 11:41:15 +01:00
Marvin Steadfast
21aedeb51a
Updated permissions plugin to change directory permissions too.
2015-02-17 11:41:15 +01:00
Tom Jaspers
12ecb2ce35
Fix formatting to new PEP8 version (1.6.2)
...
PEP8 1.6.2 (2015-02-15):
- added check for breaking around a binary operator
This caused Travis to fail on "W503 line break before binary operator"
2015-02-16 18:21:56 +01:00
Bruno Cauet
39a6145d2d
Plugin play uses default item sort in album mode
...
Offer library.get_default_{item,album}_sort for that purpose.
2015-02-16 12:26:23 +01:00
Bruno Cauet
c47221555f
Add beets.util.interactive_open() find cmd + execute
...
interactive_open() takes a target and an optional command, if it does not
receive a command then it uses open_anything().
It parses command and lexes it with shlex.split(), revieling the client
from that task.
"config -e" command uses it, and gives a better error message in case of
problem. "play" plugin uses it as well, as side-effect being that the
command is now interactive, as requested in issue #1321 .
Fix issue #1321 .
2015-02-16 12:26:17 +01:00
Bruno Cauet
5d9128aff3
util.interactive_open() return open/xdg-open/start
...
Depending on the platform return the correct automatic execution
command.
2015-02-16 11:35:13 +01:00
Bruno Cauet
1d8160f9ff
Play plugin: use OO, don't pass log around
2015-02-16 10:50:41 +01:00
Malte Ried
eafdd9e379
Extraction of cover art of albums with non ascii characters lead to a crash.
2015-02-15 19:39:39 +01:00
Bruno Cauet
13e47472ac
Play plugin: byte newlines in files written
...
Avoid unicode errors when writing '\n' around file paths.
2015-02-15 15:49:46 +01:00
Bruno Cauet
d267741ff3
Delete 'format' variables that shadow the built-in
...
Also cleanup the 'the' plugin a bit: delete unused variables.
Relates to #1300 .
2015-02-11 16:26:16 +01:00
Bruno Cauet
5a1f499c64
Discogs plugin: fix event listener params
...
Also delete related deprecated comment.
2015-02-11 09:11:20 +01:00
Bruno Cauet
327b62b610
Improve logging management for plugins: fixes
...
Delete the remaining usages of BeetsPlugin.listen().
Since BeetsPlugin.listeners are wrapped by a loglevel-setting function,
we cannot easily check their unicity anymore.
BeetsPlugin._raw_listeners set holds the raw listeners.
Legacy plugins that did not handle enough arguments in their listenings
functions may break: dedicated code is now deleted for it would not work
with the decorated listeners.
Tests got fixed. Some modifications were done empirically: if it passes
then it's okay.
2015-02-10 16:55:06 +01:00
Arturo R
60b1819db0
Stop applying mp3gain directly to files. Fixes #1316
...
Update docs to remove non-existent `apply` option.
2015-02-09 12:51:27 -08:00
Bruno Cauet
c6455c269f
Merge branch 'master' into thumbnails
...
Conflicts:
docs/changelog.rst
2015-02-09 16:08:29 +01:00
Tom Jaspers
6572e1bf5a
Fetchart: add empty album check to iTunes art
...
Was causing some tests to fail in test_art.py:CombinedTest
2015-02-09 14:59:56 +01:00
Adrian Sampson
66b7e4cd39
Merge branch 'master' of github.com:sampsyo/beets
2015-02-07 12:52:20 -08:00
Adrian Sampson
e7f8a627e9
Style fixes for pep8 1.6
2015-02-07 12:51:54 -08:00
David Logie
9b9c033df6
importfeeds: Fix Unicode error when writing files.
2015-02-07 15:13:01 +00:00
Adrian Sampson
0247785440
discogs: Catch JSON decode errors
...
Fix #1305 *again*.
2015-02-03 23:42:47 -08:00
Adrian Sampson
cc01d87209
discogs: Catch *another* exception ( fix #1305 )
...
Everything but requests is a travesty.
2015-02-03 23:04:14 -08:00
Adrian Sampson
a7878b0eba
A couple of explanatory comments for #1292
2015-02-03 09:50:36 -08:00
Adrian Sampson
82e89b8960
Merge pull request #1292 from mried/import-autosingleton
...
Allow plugins to change the created import tasks
2015-02-03 09:49:13 -08:00
Tom Jaspers
50dbd18493
Duplicates: fix error caused by formatting
...
Function arguement `format` was shadowing the built-in format function
Fix #1300
2015-02-03 13:31:54 +01:00
Adrian Sampson
77833f6c05
Oops 😳 #1299
2015-02-02 22:34:22 -08:00
Adrian Sampson
8151a40f1f
discogs: Catch socket errors ( #1299 )
...
See also:
https://github.com/discogs/discogs_client/issues/44
2015-02-02 22:27:14 -08:00
Adrian Sampson
313c3807aa
scrub: Use syspath in beet scrub ( #1297 )
2015-02-02 10:42:31 -08:00
Adrian Sampson
465719a208
scrub: Catch IOErrors in command ( fix #1297 )
2015-02-02 10:13:48 -08:00
geigerzaehler
46ba99ce79
Merge pull request #1295 from sampsyo/more-info
...
Info plugin can filter properties in output
2015-02-01 21:19:24 +00:00
Thomas Scholtes
482008bf1d
Info plugin can filter properties in output
...
Resolves #1287
2015-02-01 21:51:26 +01:00
Malte Ried
e681449785
Added documentation
...
FileFilterPlugin uses the new return value feature
Some tweaks to get the code more readable
2015-02-01 17:01:06 +01:00
Thomas Scholtes
51ab099145
Extend item.write() to embed images without changing item
...
Fixes #1241 and geigerzaehler/beets-check#14
Before, `embed_item` would add the images to the item and then call
`item.write()` to write the item data, including the image, to the
file. This would trigger `item.store()` in the `after_write` hook of
the check plugin. This would in turn try to persist the temporary
`images` attribute of the item, resulting in an SQL error.
2015-02-01 15:35:24 +01:00
Adrian Sampson
336bb9255c
chroma: Fix refactored beet submit
...
Fix #1293 .
2015-01-31 13:04:11 -08:00
Adrian Sampson
14ce6a557e
Merge pull request #1183 from marcaddeo/refactor-ftintitle
...
Refactor ftintitle
Conflicts:
beetsplug/ftintitle.py
2015-01-31 12:51:15 -08:00
Bruno Cauet
a72ae5991f
Add send_art event for embedart and thumbnails
...
Album.set_art() sends a 'art_sent' event, with the album as a
parameter. embedart and thumbnails listen to that event, instead of
listening to 'album imported'. Consequences:
- 'embedart' and 'thumbnails' don't have to be after 'fetchart' on the
plugins config line.
- embedart and thumbnails work event when a "beets fetchart" command is
issued.
- if another plugin ever set art then embedart and thumbnails will "just
work" with it.
2015-01-31 21:06:01 +01:00
Tom Jaspers
927a53d59b
Merge pull request #1281 from tomjaspers/configurable-colors
...
Colors are now user configurable.
Conflicts:
beets/ui/__init__.py
beets/ui/commands.py
2015-01-30 13:48:19 +01:00
Bruno Cauet
d299f40a72
Fix PNG metadata type: string only
...
instead of int
2015-01-29 16:00:05 +01:00
Tom Jaspers
f483012183
Colorize is now to be called with the abstract color_name instead of the color.
...
E.g., `colorize('text_success', 'hello world')`
To ensure compatibility with 3rd party plugins, a valid color ('red') can still be passed,
but it will be logged.
2015-01-29 14:33:57 +01:00
Bruno Cauet
9bdeb01689
Improve thumbnails logging
...
No info message printed twice per cover art (once for the normal
thumbnail and once for the big one)
2015-01-29 13:11:14 +01:00
Bruno Cauet
a78cc65826
Merge freedesktop plugin into thumbnails
...
Add test for that new code, update docs, update the changelog.
2015-01-29 13:08:02 +01:00
Bruno Cauet
bea5ad3f97
thumbnails: fix --force option management
2015-01-29 12:19:19 +01:00
Bruno Cauet
946aa8e4b3
Fix detection of thumbails to generate
2015-01-29 12:19:19 +01:00
Bruno Cauet
a39ab5163f
thumbnails: add "auto" config option
...
default: True
2015-01-29 11:24:15 +01:00
Bruno Cauet
e8370044c9
thumbnails: add --force (-f) to force regeneration
...
It compares thumb mtime vs cover mtime when it should compare
Thumb::mtime thumb metadata vs cover mtime.
2015-01-29 11:24:15 +01:00
Bruno Cauet
540cae0de4
thumbnails: fix detection of local resizing capabilities
2015-01-29 11:24:14 +01:00
Bruno Cauet
180a3ece3b
Improve thumbnails docstrings
2015-01-29 11:24:02 +01:00
Bruno Cauet
143e749426
thumbnails plugin writes standard metadata to the thumbnail
...
Write Thumb::URI and Thumb::MTime as requred by the spec:
http://standards.freedesktop.org/thumbnail-spec/latest/x142.html
2015-01-29 11:23:00 +01:00
Malte Ried
67ecf32671
Fixed typos.
2015-01-28 15:46:16 +01:00
Malte Ried
e2a7f7c153
Merge branch 'master' into extractart-for-albums
2015-01-28 15:44:36 +01:00
Bruno Cauet
17d6d6529e
thumbails: improve logging, update dependencies
2015-01-28 11:12:55 +01:00
Adrian Sampson
ac3ea16656
Fix for unicode_literals in scrub
...
Here's an example where unicode_literals may not be a great idea: these should
probably be "native" strings, i.e., bytes on 2.x and unicode on 3.x.
2015-01-27 13:48:13 -08:00
Malte Ried
2c75d0567f
Made the new functionality the default behaviour.
2015-01-27 19:59:49 +01:00
Malte Ried
07cea16492
Changed the interface of extractart to make it easier to understand what it does.
2015-01-27 19:41:25 +01:00
Malte Ried
2631d88b39
Merge branch 'master' into extractart-for-albums
...
Conflicts:
docs/changelog.rst
2015-01-27 19:18:51 +01:00
Bruno Cauet
5453cf96c8
thumbnails plugin handles 128² and 256² thumbnails
...
If the source is good enough both will be produced, otherwise the former
only will be created.
This is warranted by the spec: http://standards.freedesktop.org/thumbnail-spec/latest/x122.html
2015-01-27 17:16:26 +01:00
Bruno Cauet
55fd2d2886
thumbnails: create thumbnail dirs if needed
2015-01-27 17:16:25 +01:00
Bruno Cauet
5b8a846d1f
Add a new plugin: thumbnails
...
Generate thumbnails for albums, based on freedesktop specification. This
plugin is POSIX-only.
Require Python Imaging Library or Image Magick
2015-01-27 17:16:25 +01:00
Bruno Cauet
dbef31776f
Replace ur'' strings by r'' strings
...
Since we use unicode_literals they are equivalent, but ur'' strings are
a syntax error in python 3.0+
2015-01-27 09:02:44 +01:00
Adrian Sampson
b8dab9cf9f
Merge pull request #1247 from brunal/future
...
Use all __future__ imports in beets core
Conflicts:
beetsplug/web/__init__.py
test/test_embedart.py
2015-01-26 17:02:07 -08:00
Bruno Cauet
4e904c78af
Simplify LibModel format management
...
Delete `ui.format_` and then `ui.print_obj`. Simply ensure that when
there is no format it defaults to '' = default format = config option.
2015-01-26 23:09:56 +01:00
Tom Jaspers
d3fce35481
Colors are user configurable
...
- Colors are mapped on to a dictionary using abstract names (e.g., text_success)
- Add `colors` option under `ui` to allow users to choose their own color scheme
- Move configuration option `color` from top-level to `ui`
- Show deprecation warning if top-level `color` configuration is used (but respect it)
Fix #1238
2015-01-26 17:24:32 +01:00
Bruno Cauet
060c275fd3
Merge branch 'master' into libmodels-formatting
...
Conflicts:
beetsplug/embedart.py
2015-01-26 10:17:15 +01:00
Adrian Sampson
a10d9750a6
Merge pull request #1233 from pprkut/tracktotal
...
Make tracktotal an item-level field.
2015-01-25 13:02:31 -08:00
Adrian Sampson
ec2e9891c3
Merge pull request #1194 from tomjaspers/master
...
Fetchart: add fetching artwork from Wikipedia
2015-01-25 12:59:13 -08:00
Adrian Sampson
9fe0eab26f
Merge pull request #1262 from brunal/embedart-logging
...
Improve embedart logging management
2015-01-25 12:55:19 -08:00
Bruno Cauet
8165dec985
Delete manual formattings of album & item
2015-01-25 21:32:22 +01:00
Bruno Cauet
62cd6e37aa
Update ui.print_obj_(), add ui.format_()
...
Code now relies on `format()` for items and albums displaying/logging.
`ui.print_()` calls `unicode()` or `str()` on the strings so for most
usages calling `ui.print_(obj)` replaces `ui.print_(obj, lib, None)`.
Where there is a special format `ui.print_(format(obj, fmt))` is fine,
but when `fmt` can be None then one has to call
`ui.print_(ui.format_(obj, fmt))` -- which is what `ui.print_obj` now
does.
2015-01-25 21:07:03 +01:00
Bruno Cauet
77d46bb2df
Embedart logging: higher level for img comparisons
2015-01-25 18:33:20 +01:00
Malte Ried
c43173263c
Bugfixes and code rearrange for the extract art for albums feature. Closes #1261
2015-01-25 11:50:05 +01:00
mried
6ac132edf7
Added an option to extract the art file of all matched albums. Closes #1261
2015-01-25 11:50:04 +01:00
David Logie
29de697a8d
Fix bug where playlists were not created in subdirs.
...
Playlist names containing path separators would cause beets to crash if
the parent directories for the playlist didn't already exist.
2015-01-24 13:00:25 +00:00
Bruno Cauet
23dcdebe9a
Merge branch 'master' into embedart-logging
...
Conflicts:
beetsplug/embedart.py
2015-01-24 11:31:31 +01:00
Adrian Sampson
07065b27b3
Merge pull request #1263 from brunal/embedart-better-extract
...
embedart: try extracting from items until success
Conflicts:
beetsplug/embedart.py
2015-01-23 11:00:49 -08:00
Bruno Cauet
b30c6975a1
Embedart extraction: 'cover' is already the default
...
'cover' is already the default filename (in the absence of a custom
config) so there is no need to re-write that value in the embertart
plugin.
Improve #1258
2015-01-23 18:12:17 +01:00
Bruno Cauet
4a27f83223
embedart: try extracting from items until success
...
Don't stop at the first item but try them all.
Fix #1261
2015-01-23 17:48:37 +01:00
Bruno Cauet
b001a973a3
Improve embedart logging management
...
- better logging levels
- always use the preferred user formatting for items & albums
- improved some messages wording
Fix #1244
2015-01-23 17:39:38 +01:00
Malte Ried
b3803d3472
Extractart uses the configured art_filename. Closes #1258
2015-01-23 17:14:14 +01:00
Adrian Sampson
be7ffd9758
Merge pull request #1254 from andremiller/master
...
Replace print with _log.info() in CORS support
2015-01-21 09:38:37 -08:00
Andre Miller
96e3d8b451
Replaced print with log.info
2015-01-21 19:31:02 +02:00
Adrian Sampson
433d6b7485
embedart: Error on non-existent -f file
...
Fixes #1252 .
2015-01-21 09:07:59 -08:00
Bruno Cauet
1e0185188a
Smartplaylist: fix song path writing (str → bytes)
2015-01-21 10:36:45 +01:00
Bruno Cauet
545ba22f94
CORS init in web plugin: print → log
2015-01-21 10:18:13 +01:00
Bruno Cauet
c2f8cb9983
Merge branch 'master' into future
...
Conflicts:
test/test_plugins.py
2015-01-21 10:04:33 +01:00
David Logie
99e89a29e2
mbsync: Don't overwrite the format built-in.
2015-01-21 08:05:27 +00:00
David Logie
7db3e1d80c
mbsync: Fix bug where singletons always used the album format.
2015-01-21 08:05:27 +00:00
David Logie
2fae94a93a
Make the Template object an attribute.
2015-01-21 08:05:26 +00:00
David Logie
3317580296
mbsync: Support custom output format.
2015-01-21 08:05:26 +00:00
Adrian Sampson
f617d162cf
keyfinder: Better output parsing ( #1248 )
...
We were being sloppy about bytes output from the process. Also, it seems like
the tools outputs the path also, so it's necessary to break on whitespace to
actually get the key name.
2015-01-20 15:17:21 -08:00
Adrian Sampson
dae1776165
Reasonable logging for keyfinder command
...
Previously the command was completely silent.
2015-01-20 15:12:26 -08:00
Adrian Sampson
5586fcee67
keyfinder: Only write on import when asked to
...
This should really be standard machinery.
2015-01-20 15:11:13 -08:00
Adrian Sampson
8e94419c2a
Fix filefilter ( #1186 ) tests for consistent colons
...
I added this to the pretend output a few commits ago.
2015-01-20 14:34:42 -08:00
Adrian Sampson
0a8dcadb75
Rename regexfilefilter to filefilter ( #1186 )
2015-01-20 14:32:22 -08:00
Adrian Sampson
ebc065ecec
Merge branch 'mried-import-filefilter'
...
Merge of PR #1186 .
2015-01-20 14:22:55 -08:00
Adrian Sampson
38eecb93c9
Merge pull request #1237 from andremiller/master
...
Support for CORS
2015-01-20 14:02:27 -08:00
Malte Ried
a62a152010
Moved the regular expression file filter into a separate plugin.
2015-01-20 19:50:00 +01:00
Andre Miller
f815138758
Combined cors and cors_origin config options into one
2015-01-20 19:53:04 +02:00
Bruno Cauet
132f5ba912
Fix bytes/str with unicodenazi
2015-01-20 16:41:18 +01:00
Bruno Cauet
a5026100a3
All plugins use unicode_literals
...
Given that part of them has no test I may have broke them
2015-01-20 16:22:27 +01:00
Bruno Cauet
438044c6ae
Fix bytes/str with unicode-nazi
...
Further cleaning will require setting unicode_literals on plugins
2015-01-20 15:25:12 +01:00
Andre Miller
47ea4b7d8b
flake8 formatting updates
2015-01-20 16:06:16 +02:00
Andre Miller
f47be23658
CORS support now uses flask-cor extension
2015-01-20 15:33:33 +02:00
Bruno Cauet
02d8e88ef1
Replace all mentions of 'str' with 'bytes'
2015-01-20 12:48:15 +01:00
Bruno Cauet
9c41c39913
Do __name__ comparison with bytes and not unicode
2015-01-20 12:03:57 +01:00
Andre Miller
c8880de52c
Fixes for flake8 validation
2015-01-20 00:38:26 +02:00
Andre Miller
bd63e1e386
Made CORS configurable and changed host default to 127.0.0.1
2015-01-20 00:20:26 +02:00
Heinz Wiesinger
c86a5f9d97
Make tracktotal an item-level field.
...
This fixes tracktotal being stored incorrectly for multi-disc releases
where the individual discs have a different number of tracks and
per_disc_numbering is enabled.
2015-01-19 13:02:21 +01:00
Bruno Cauet
90b388b775
Use __future__ imports but unicode_literals everywhere
...
Include import of __future__ features division, absolute_imports and
print_function everywhere. Don't add unicode_literals yet for it is
harder to convert.
Goal is smoothing the transition to python 3.
2015-01-19 12:25:16 +01:00
Bruno Cauet
b436e75a9e
embedart: fix behaviour on IM unparseable output, add tests
...
Test all EmbedCoverArtPlugin.check_art_similarity() code paths.
Improve #1241 .
2015-01-19 11:50:51 +01:00
Adrian Sampson
f346853710
embedart: Do not use shell for subprocess
...
This avoids bugs when the filename contains spaces, etc.
Pinging @Kraymer: I gave this a brief test, but can you check whether I messed
anything up more subtly?
Came up when looking at #1241 .
2015-01-18 16:25:23 -08:00
Adrian Sampson
909c96b060
embedart: Handle unparseable IM output ( #1241 )
2015-01-18 16:18:22 -08:00
Frederik “Freso” S. Olesen
6031cab891
lastgenre: Add "mass" to the classical genre tree.
2015-01-18 23:00:27 +01:00
Horla
587ff39f22
Update genres-tree.yaml
...
Removing "classic"
2015-01-18 22:46:40 +01:00
Horla
8ed9e50e18
Update genres-tree.yaml
...
Changing "classic" to "classical"
2015-01-18 22:27:34 +01:00
Horla
3fdc5c936e
Update genres.txt
...
Add classical subgenres
2015-01-18 22:13:36 +01:00
Horla
3a3150b740
Update genres-tree.yaml
...
Add classic genre with its subgenres
2015-01-18 22:11:01 +01:00
Malte Ried
0eb185a5e7
Merge branch 'master' into import-filefilter
2015-01-18 18:55:24 +01:00
Tom Jaspers
133c21a9c5
Fetchart: add fetching artwork from Wikipedia following the new class-based structure of the plugin
2015-01-18 15:09:36 +01:00
Andre Miller
9fe2bc1a38
Support for CORS
2015-01-18 10:23:49 +02:00
Adrian Sampson
bf02855ee1
Remove Beatport plugin (c.f. #1229 )
2015-01-16 12:15:54 -08:00
Bruno Cauet
7c2d5f0948
Import beets.ui in discogs plugin
...
The discogs plugin uses beets.ui but did not explicitely import it,
which might cause it to crash when used in standalone.
2015-01-16 17:59:35 +01:00
Bruno Cauet
d2726e1c25
Fix mpdstats plugin config management
...
Fix #1228 :
- remove erroneous calls to `self.config`
- always use `config['mpd']` and not `self.config` (which is
config['mpdstats']) to match the doc
2015-01-16 11:08:24 +01:00
Bruno Cauet
b49cd3b73b
Lyrics plugin: fix google backend
...
Give config on backends init so the Google backend can get the API key
and Engine Id.
Fix #1226
2015-01-15 11:28:04 +01:00
Adrian Sampson
c1ce71f35c
smartplaylist: Fix album_query ( fix #1225 )
...
This is far less elegant and functional, but at least it is correct.
2015-01-14 22:00:30 -08:00
Adrian Sampson
38c5bb3666
Fix a docstring
2015-01-14 21:53:13 -08:00
Bruno Cauet
0c3675ada0
Fix replaygain: add 'log' to __init__ parameters
2015-01-14 16:17:20 +01:00
Bruno Cauet
0d1fa80651
Smartplaylist: don't utf8-encode the name
...
A Template expression expects an unicode, not an utf8-encoded string.
Add a test for that.
2015-01-14 12:32:00 +01:00
Bruno Cauet
6408904a8c
Smartplaylit: fix log format string
...
{0.name} → {0[name]} since the argument is a dict.
2015-01-14 12:15:44 +01:00
Malte Ried
ad65242ebd
Merge branch 'master' into import-filefilter
...
Conflicts:
beets/importer.py
beets/plugins.py
beetsplug/ihate.py
2015-01-14 10:46:03 +01:00
Bruno Cauet
9a2a9b0144
smartplaylist: fix docstring
2015-01-13 18:53:47 +01:00
Bruno Cauet
ca91bc8920
mpdupdate: fix indent
2015-01-13 18:53:30 +01:00
Bruno Cauet
753388550e
Clean PlexUpdate plugin
...
- no global variable
- use logging instead of prints
2015-01-13 12:36:16 +01:00
Bruno Cauet
de86b9b570
Clean MPDupdate plugin
...
- no global variable
- use logging instead of prints
- unicode logging
2015-01-13 12:30:40 +01:00
Bruno Cauet
a7beaa6d6e
Clean & shorten smartplaylist code
...
- better log messages
- more idiomatic code: "X not in Y" instead of "not (X in Y)"
- shorten _items_for_query:
- pre-detect whether it's album_query or query, hiding conf. spec to
the function.
- Let library.{items,album} parse the query string, therefore
falling back to beets-level sort spec. if none is given in the
query
2015-01-13 12:11:52 +01:00
Bruno Cauet
7c4496c110
Smartplaylist: log messages instead of printing
...
ui.print_ → self._log.info
Also change config['smartplaylist'] into self.config
2015-01-13 11:42:23 +01:00
Bruno Cauet
fdb768c9db
Simplify smartplaylist flow
...
Suppress the global variable, register listeners if it's needed only.
2015-01-13 11:31:42 +01:00
Bruno Cauet
4babc40fd8
Delete useless "config['mypluginname']" mentions
...
Replace with self.config where this is painless.
More plugins would benefit from this update but that requires turning
functions into methods.
2015-01-12 10:55:59 +01:00
Adrian Sampson
f871ef9e21
Verbosity affects plugins ( #1208 )
...
This restores the -v flag affecting plugins. By default, plugin loggers use
the NOTSET level, which just reuses the base `beets` logger level. The level
is only auto-adjusted for the importer when not in verbose mode.
2015-01-11 15:00:20 -08:00
Adrian Sampson
24317fd4c7
Rename BeetsPlugin._import_stages to import_stages
...
For #1208 . Restores backwards-compatibility and matches the development docs.
2015-01-11 14:27:59 -08:00
Bruno Cauet
b27c5304d1
Merge branch 'master' into logging
...
Conflicts:
beetsplug/fetchart.py
beetsplug/mpdstats.py
2015-01-09 15:15:27 +01:00
Adrian Sampson
558d1f9639
Merge pull request #1212 from brunal/mpdstats-react-only-once
...
mpdstats: don't register a natural song change twice
2015-01-08 13:43:46 -08:00
Adrian Sampson
1654fc82ce
Merge pull request #1211 from brunal/fetchart-check-isfile
...
Fetchart: check that the art found is a file
2015-01-08 13:40:21 -08:00
Frederik “Freso” S. Olesen
4b1f0cbf48
Happy 2015. ;)
...
See 7a410f636b
Command used:
git grep -l 'Copyright 201'|xargs sed -i -E 's/Copyright 201./Copyright 2015/'`
2015-01-08 21:37:09 +01:00
Bruno Cauet
23e6760e19
Partial rollback of bpd logging
2015-01-08 17:55:40 +01:00
Bruno Cauet
b7735bd3bf
Don't register a natural song change twice
...
mpd responds twice to an 'idle' command upon a 'natural' song change
(i.e. not a skip). Checking the reason for mpd response avoids
registering twice the song change.
Fix issue #773
2015-01-08 12:39:28 +01:00
Bruno Cauet
2e1b0d589d
Fetchart: check that the art found is a file
...
Fixes issue #1177
2015-01-08 10:58:08 +01:00
Bruno Cauet
1ca33a8a52
Avoid using partial() for the listener callback
...
partial() is not a instance of types.FunctionType so
inspect.getargspec() (used in beets/plugins:422) fails on it.
2015-01-08 10:10:42 +01:00
Bruno Cauet
422a7f6063
replaygain: fix backend instanciation
2015-01-06 22:13:17 +01:00
Bruno Cauet
00d5473187
Merge branch master into logging
...
Conflicts:
beetsplug/lyrics.py
2015-01-06 21:46:04 +01:00
Bruno Cauet
b2582c5d62
MusicBrainz collection plugin: delete "print" uses
2015-01-06 21:42:34 +01:00
Bruno Cauet
f504c78681
Fix usage of embedart by convert plugin
...
Instanciation of EmbedCovertArtPlugin on the fly: there may be several
instances → problem with the listeners it registers?
2015-01-06 21:42:28 +01:00
Bruno Cauet
8097ff8c1d
Convert fetchart plugin, with OO rewrite of sources
...
Art sources are now classes
2015-01-06 21:42:10 +01:00
Bruno Cauet
5c1cc6e7fc
Convert the convert plugin to the new logging system
2015-01-06 21:42:10 +01:00
Bruno Cauet
11d5f93db1
Convert importadded plugin
...
Many listeners. Everything is now a method
2015-01-06 21:42:10 +01:00
Bruno Cauet
63041736e3
Convert lyrics plugin, with OO rewrite of backends
2015-01-06 21:42:10 +01:00
Bruno Cauet
860e7e1483
Update 3 plugins: func → methods, listeners
...
- functions turn into method in order to have the logger object
- registering the listener has to be updated too
2015-01-06 21:42:09 +01:00
Bruno Cauet
203b325ee7
Convert mbsync logging: big funcs → methods
2015-01-06 21:42:09 +01:00
Bruno Cauet
74e18afa94
Convert bdp: pass around with static setter on classes
2015-01-06 21:42:09 +01:00
Bruno Cauet
32673b87e7
Update multiple plugins: pass the logger around
2015-01-06 21:42:09 +01:00
Bruno Cauet
7d58a38428
Convert replaygain: pass logger to other classes
...
This time the logger is passed to the other classes of the module, not
to functions.
2015-01-06 21:42:02 +01:00
Bruno Cauet
38352f7058
Update chroma plugin logging: pas logger around
...
The logger is passed as an argument to multiple function. This showcases
the second possibility for using the new logging system. Several similar
conversions to be expected.
2015-01-06 21:42:02 +01:00
Bruno Cauet
1be3dade04
Convert freedesktop plugin logging: func → method
...
This serves as an introduction for many plugin updates to come.
Multiple functions have to turn into methods -- and this is one of the
shortest plugins.
2015-01-06 21:40:58 +01:00
Bruno Cauet
e14a54df05
Convert multiple plugins' logger usage (easy ones)
...
Those plugins only called methods and no function, which eases the
conversion.
2015-01-06 21:34:13 +01:00
Bruno Cauet
0617c0410f
Remove log declarations where it was unused
...
Easiest conversions!
2015-01-06 21:34:12 +01:00
Bruno Cauet
78ac338c28
Delete _log definition where it was already used
...
Easy switch to the new logger
2015-01-06 21:27:16 +01:00
Bruno Cauet
1afe82fb41
Make 2 plugins rely on auto log level mgmt
...
ftintitle and title don't do manual management anymore.
2015-01-06 21:27:15 +01:00
Bruno Cauet
427f7e7035
Automatic logger level changes on import
...
Breaking changes: plugins should set set _import_stages instead of
import_stages. From outside the latter is replaced by import_stages().
This is because it is now wrapped with log level-getting & -setting
statements.
2015-01-06 21:27:15 +01:00
Adrian Sampson
258fa10767
Merge pull request #1206 from Freso/patch-1
...
lastgenre: Add "comedy" to genre whitelist.
2015-01-06 11:22:07 -08:00
Adrian Sampson
daba9e770e
Fix #1204 : insecure request warning in lyrics
2015-01-06 11:01:11 -08:00
Frederik "Freso" S. Olesen
3940f3a1c2
lastgenre: Whitelist "humor" + "stand-up".
...
https://botbot.me/freenode/beets/msg/28878482/
2015-01-06 19:50:00 +01:00
Frederik "Freso" S. Olesen
6fb810289f
lastgenre: Add "comedy" to genre whitelist.
...
See discussion from https://botbot.me/freenode/beets/msg/28875043/
2015-01-06 15:44:39 +01:00
Bruno Cauet
b8211a3c4c
Every plugin uses its own logger
...
logging.getLogger(__name__) everywhere!
Several loggers prefixed every log message with [logername], which we
delete here.
2015-01-06 10:35:44 +01:00
Bruno Cauet
30f158a95e
Move "from beets import logging" statements
...
Move the import next to other beets-related imports
2015-01-05 10:05:21 +01:00
Bruno Cauet
45db930457
embedart: restore an apparent typo (which wasn't)
...
hashes → phashes
2015-01-05 07:59:53 +01:00
Bruno Cauet
f5c5666729
Attain pep8-cleanliness
...
No more E12 or E501
2015-01-04 17:29:31 +01:00
Bruno Cauet
7df8bef8b7
Update logging imports: logging → beets.logging
2015-01-04 17:02:27 +01:00
Bruno Cauet
6bdb02c721
Fix logging formatting string in duplicates plugin
...
{)} → {0}
2015-01-04 17:02:27 +01:00
Bruno Cauet
8cac47af2a
Convert beets plugins to lazy logging
2015-01-04 17:02:27 +01:00
Malte Ried
ab996a0de0
Merge branch 'master' into import-filefilter
...
Conflicts:
test/test_importer.py
2014-12-31 17:04:16 +01:00
Malte Ried
0e74c5dbaa
Rearranged regex config options to reduce hierarchies
2014-12-31 11:56:50 +01:00
Fabrice Laporte
d4d5c085fa
lyrics : remove empty divs before scraping
...
it may result in \n being inserted that we will strip in
_scrape_strip_cruft
2014-12-30 23:37:23 +01:00
Adrian Sampson
fd94094c1b
Changelog and name change for #1156
2014-12-30 15:27:17 -04:00
Adrian Sampson
e547426b8c
Merge pull request #1156 from djl/lastgenreunicode
...
lastgenre: Optionally replace unicode characters when performing lookups
2014-12-30 15:25:40 -04:00
Malte Ried
8addf3ef39
Simplified the configuration of the regular expressions for th ihate plugin
...
Added the docs
2014-12-30 14:11:45 +01:00
David Logie
08d5b9c138
Fix line length in docstring.
2014-12-29 19:45:33 +00:00
David Logie
f2704461cf
Go back to a single lookup with specific Unicode characters replaced.
2014-12-29 19:37:03 +00:00
Marc Addeo
8cd3d0059f
Remove ArtistNotFoundException in favor of returning None for simplicity
2014-12-29 11:10:43 -05:00
Malte Ried
7674399a45
Added the import_task_created event
...
Improved the IHatePlugin to filter files based on file names
2014-12-29 12:03:51 +01:00
Marc Addeo
e71c464c14
Initialize feat_part as None
2014-12-28 21:27:58 -05:00
Marc Addeo
8f41818434
Fix formatting to pass flake8 tests
2014-12-28 20:58:59 -05:00
Marc Addeo
a70820d8a1
Fix a bug in ftintitle with the order of album artist
...
There was a bug in the find_feat_part function that would cause it to
fail if the album artist was the second part of the featured string.
For example, if the Artist field was Alice & Bob, and the Album Artist
field was Bob it would return None due to the order.
This fixes that and adds test cases to ensure it doesn't return.
2014-12-28 20:23:17 -05:00
Marc Addeo
4d4113e3a4
Refactor ftintitle to extract the code to find the featured artist
...
This removes the code that extracts the featured artist from the
original artist field from the ft_in_title function and puts it into its
own.
It also adds a custom ArtistNotFoundException that find_feat_part will
throw if the album artist is not in the artist field.
This allows us to easily test the results of finding a featured artist
in the artist sting, and thus adds tests for the usual test cases that
the split_on_feat gets tested for.
2014-12-28 20:15:09 -05:00
Adrian Sampson
d0dcc74c7e
Merge pull request #1181 from marcaddeo/fix-ftintitle-duplicate-album-artist
...
Fix handling of duplicate album artists in ftintitle
2014-12-28 18:58:36 -04:00
Adrian Sampson
375f9259b9
Merge pull request #1176 from Freso/issue-1172-ftintitle-less-import-verbosity
...
ftintitle: use log.log() for outputting
2014-12-28 18:52:21 -04:00
Marc Addeo
8c484a273c
Fix handling of duplicate album artists in ftintitle
...
The code that determines the featured artist part of the artist only
handles two element lists. When the album artist is duplicated, it
splits into a three element list causing no featured artist to be found.
This ensures the albumartist_split can ever only have 2 elements.
Fixes #1179
2014-12-28 17:51:48 -05:00
Stig Inge Lea Bjørnsen
9227a51588
Add a missing space
2014-12-28 20:40:46 +01:00
Frederik "Freso" S. Olesen
0ec3396d3f
ftintitle: Use log.log() instead of ui.print_().
...
Fixes #1172 .
2014-12-28 20:33:56 +01:00
Frederik "Freso" S. Olesen
6182ef1b1e
ftintitle: Remove empty ui.print_() call.
2014-12-28 20:33:15 +01:00
David Logie
148d9048d5
Update _cached_lookup() docstring.
2014-12-28 18:38:42 +00:00
David Logie
433d68724a
Escape Unicode characters so we don't need the encoding headers.
2014-12-28 18:38:15 +00:00
David Logie
3015c22d40
Fix indent level.
2014-12-26 14:17:49 +00:00
David Logie
d9673ef9b5
lastgenre: Only replace a small set of unicode characters.
2014-12-26 14:08:22 +00:00
Stig Inge Lea Bjørnsen
a2188d475b
ImportAdded support for in-place and link imports
...
Fix for the `ImportAdded` plugin crashing during in-place imports (#1107 ).
Add support for the new link imports introduced in Beets 1.3.9.
Note that link-imports that preserve file modification times will follow
the links and preserve the mtimes on the link targets. The mtimes on the
links aren't modified.
2014-12-25 21:39:28 +01:00
Michael Ludwig
c76f8bee46
embedart: Added syspath call to art exists check
2014-12-21 13:08:02 -05:00
Adrian Sampson
016c901e6f
Fix 2.6 compatibility with subprocess
...
We can add this back once we go 2.7-only.
2014-12-21 10:09:43 -05:00
Adrian Sampson
e8158194d6
More robust templating ( #1157 )
...
Don't require $source and $dest to be bare tokens.
2014-12-21 09:42:58 -05:00
Adrian Sampson
8579412a76
No shell execution ( #1157 )
...
Now that we do the proper thing, we do not need shell parsing.
2014-12-21 09:31:41 -05:00
Adrian Sampson
4180f42194
Encoding and other fixes for #1157
...
Log as one statement. No need to hold the filesystem lock. New variable name.
2014-12-21 09:30:25 -05:00
Adrian Sampson
c4eba5c741
Apply #1157 by @mluds as patch ( fix #1158 , #1026 )
2014-12-21 09:22:56 -05:00
Adrian Sampson
f45d6c2364
Merge pull request #1161 from Kraymer/lyrics_hotfixes_musixmatch
...
Musixmatch hotfixes
2014-12-21 09:11:45 -05:00
Fabrice Laporte
802d1521ed
lyrics: don't throw when extraction fails
2014-12-21 14:38:19 +01:00
Fabrice Laporte
dfc1aa20b3
lyrics: musixmatch, disable https verification
2014-12-21 14:35:16 +01:00
David Logie
c7b6f75ca8
lastgenre: Automatically retry asciified lookups if the initial lookup fails.
2014-12-21 12:58:15 +00:00
Adrian Sampson
02e341cded
Fix #1152 : mbcollection: choose release collection
2014-12-20 22:21:58 -05:00
Adrian Sampson
021cdb7b4a
Fix log statement in inline
2014-12-20 20:06:17 -05:00
David Logie
c227501a5d
lastgenre: Optionally replace unicode characters when performing lookups.
2014-12-20 22:13:05 +00:00
Fabrice Laporte
39584a8b69
fix flake8
2014-12-19 00:19:59 +01:00
Fabrice Laporte
c3f82c65a4
fix lyrics.com extraction markers
2014-12-18 23:56:33 +01:00
Adrian Sampson
ba044f8e20
fetchart: Privatize global source list ( #1148 )
2014-12-18 11:14:22 +00:00
Adrian Sampson
b3bf70c11d
Privatize global SOURCES in lyrics
2014-12-18 11:13:02 +00:00
Adrian Sampson
ac3f0824b0
Merge pull request #1148 from Kraymer/lyrics_musixmatch
...
lyrics: add 'musixmatch' source
Conflicts:
beetsplug/lyrics.py
2014-12-18 10:36:16 +00:00
Adrian Sampson
20db9bb1a6
lyrics: Connect force option to CLI ( #1150 )
2014-12-18 04:03:15 +00:00
Fabrice Laporte
544d6dbe47
lyrics: add 'force' option
2014-12-17 22:40:44 +01:00
Fabrice Laporte
474adffe63
move helper functions from utils to plugins
2014-12-17 22:00:00 +01:00
Fabrice Laporte
9d0ca15ace
lyrics: preserve default order of sources
2014-12-17 01:05:58 +01:00
Fabrice Laporte
e7a4b92de5
lyrics: add 'sources' option
2014-12-17 00:42:11 +01:00
Fabrice Laporte
0f2f43ca9b
lyrics: add musixmatch source
2014-12-17 00:41:21 +01:00
Adrian Sampson
c2184be679
Merge branch '1060_ft_lang_support'
2014-12-16 11:53:59 +00:00
Adrian Sampson
a984c1aa44
Use a non-capturing group by default ( #1060 )
...
Now clients don't have to decide whether they need parentheses or not.
2014-12-16 11:37:40 +00:00
Fabrice Laporte
829b623665
remove capturing parentheses
2014-12-15 22:48:01 +01:00
Fabrice Laporte
b62f15d9d9
feat_tokens: change argument name, fix regex flag
2014-12-14 22:46:51 +01:00
Fabrice Laporte
91a998df3c
fix #1060
2014-12-13 23:34:50 +01:00
Adrian Sampson
9ce956d648
Accuracy in variable naming ( #1138 )
...
That's a Query object, not a string.
2014-12-12 15:41:49 -08:00
David Logie
c09745f75c
Remove unused dbcore import.
2014-12-12 23:06:15 +00:00
David Logie
11c60ce101
smartplaylist: Respect sort terms in queries.
2014-12-12 14:38:35 +00:00
Adrian Sampson
165ee80f81
lyrics: Handle requests exceptions ( #1136 )
2014-12-11 16:03:49 -08:00
Fabrice Laporte
d31a7c6b28
remove str decoding as input sources are unicode
2014-12-11 00:14:43 +01:00
Fabrice Laporte
321f862f23
fix #1135
2014-12-09 23:37:42 +01:00
Adrian Sampson
1448eab642
Parenetheses-less tuples
2014-12-02 18:12:21 -08:00
Thomas Scholtes
66b81ed081
echonest: test conversion failure
2014-12-02 11:54:36 +01:00
Thomas Scholtes
c248a71494
echonest: mock convert and truncate commands
2014-12-02 11:51:18 +01:00
Thomas Scholtes
f4fdd66b81
echonest: truncating a file converts it to OGG
...
Previously ffmpeg would throw an error because the file extension is
'.ogg' but the codec is 'copy'.
2014-12-02 11:15:46 +01:00
Thomas Scholtes
5633f50f27
echonest: extract logic into prepare_upload method
...
Also fixes a bug where both converting and truncating would leave a
temporary file.
2014-12-02 09:58:56 +01:00
Adrian Sampson
c41b8acf82
Merge pull request #1129 from geigerzaehler/zero-images
...
zero: Can delete embedded images
Conflicts:
docs/changelog.rst
2014-12-01 11:40:48 -08:00
Adrian Sampson
d97b90d363
Merge branch 'master' of github.com:sampsyo/beets
2014-12-01 11:28:57 -08:00
Thomas Scholtes
17117ed4ae
echonest: Remove temporary files
...
Fixes #979 .
2014-12-01 17:53:14 +01:00
Thomas Scholtes
e2b2a505fc
zero: Can delete embedded images
...
Fixes #1100 .
2014-12-01 17:33:45 +01:00
Thomas Scholtes
9d3729dc5e
mediafile: Test deleting images and implement it for MP3s
2014-12-01 17:20:16 +01:00
Adrian Sampson
5fb4003ebe
echonest: Fix #896 (handle missing duration)
2014-11-30 12:21:27 -08:00
Adrian Sampson
7c08830113
Remove Echo Nest fingerprinting ( fix #1121 )
2014-11-30 12:18:43 -08:00
Adrian Sampson
5d37f9a2f0
Remove echonest_tempo ( fix #1119 )
2014-11-30 12:03:28 -08:00
Adrian Sampson
fe655e4610
discogs: Only authenticate on import ( #1123 )
...
No need to authenticate for other commands.
2014-11-30 11:18:32 -08:00
Marvin Steadfast
77f8eff78c
Fixed python 2.6 compatibility in the plexupdate plugin. Added requests as dependency in the docs for plexupdate
2014-11-28 14:08:11 +01:00
Marvin Steadfast
b25393151d
Added plexupdate plugin for refreshing plex music library after importing music.
2014-11-28 11:19:17 +01:00
Marvin Steadfast
d3b76d83d2
Permissions plugins listens now for album_imported and item_imported
2014-11-24 18:41:50 +01:00
Adrian Sampson
d026e7742b
fetchart: Tolerate itunes bugs ( fix #1109 )
2014-11-22 15:32:52 -08:00
Marvin Steadfast
f8b3b96ff4
the plugin now listens also for item_moved
2014-11-21 14:58:33 +01:00
Marvin Steadfast
8784e8d8ca
plugin now listens for item_copied instead of after_write. now the test works
2014-11-20 11:40:02 +01:00
Marvin Steadfast
38c509b092
created a function to convert permissions to oct
2014-11-19 17:26:39 +01:00
Marvin Steadfast
5f03185bdd
did even more refactoring with the suggestions of sampsyo. added documentation page
2014-11-18 13:45:55 +01:00
Marvin Steadfast
df1136756a
a little refactoring
2014-11-17 16:29:54 +01:00
Marvin Steadfast
e1db3e9f0b
Added fix_permissions plugin
2014-11-17 13:42:53 +01:00
Alberto Leal
5883ee0b76
Default value for link title for page searches.
...
Google API may not return results with a title attribute.
2014-11-16 16:11:25 -05:00
Adrian Sampson
590b106ed0
echonest: Fix #1096 : log error on repeated error
2014-11-16 12:08:07 -08:00
Adrian Sampson
d8211f1d76
fetchart: Fix RG MBID field name ( fix #1080 )
2014-11-12 20:56:18 -08:00
Adrian Sampson
0d529bae16
Docs tweaks for #1078
2014-11-11 11:57:08 -08:00
Francesco Rubino
2a9064ee21
Fixed format of comments and docstrings.
2014-11-11 18:44:09 +00:00
Francesco Rubino
905d76efec
Merged from upstream
2014-11-11 18:41:24 +00:00
Francesco Rubino
df1503e2ca
Added comments/docstrings to the AudioToolsBackend in the replaygain plugin
2014-11-11 18:11:22 +00:00
Adrian Sampson
d3f0742276
Changelog, tweaks for fetchart sources ( #1075 )
2014-11-11 10:10:43 -08:00
Adrian Sampson
288fb0da4c
Merge pull request #1075 from Kraymer/1066-fetchart_sources
...
fetchart: add 'sources' option
2014-11-11 10:04:45 -08:00
Adrian Sampson
91ad0d9f58
Merge pull request #1069 from Kraymer/1035_no_copyright
...
Remove licensed lyrics from tests resources
2014-11-11 09:58:54 -08:00
Fabrice Laporte
ef6d3efe6d
fetchart: cover engines yield their results
2014-11-10 22:17:34 +01:00
Adrian Sampson
a2d763b745
Fix ftintitle auto permanence ( #485 )
...
Oops. Plugins need to store to the database.
2014-11-09 19:21:09 -08:00
Adrian Sampson
05d5edcd0e
Quiet down logging in #1070
...
This looks mostly helpful for debugging but redundant with the ordinary
logging.
2014-11-09 18:41:54 -08:00
Adrian Sampson
7a9a77b906
Merge pull request #1070 from frubino/master
...
Added backed audiotools to replaygain module and updated documentation
2014-11-09 18:38:38 -08:00
Adrian Sampson
7e4a0f6211
play: Log a message when no output is produced
2014-11-09 14:23:43 -08:00
Fabrice Laporte
09bea52a41
fetchart: fix flake8
2014-11-09 20:55:53 +01:00
Fabrice Laporte
6170c3a179
fetchart: make test_art.py tests pass
2014-11-09 20:41:21 +01:00
Fabrice Laporte
4d9ce94426
fetchart: import itunes only if necessary
2014-11-09 20:40:45 +01:00
Francesco Rubino
be43f629bf
Merge branch 'master' of https://github.com/sampsyo/beets
...
Conflicts:
docs/plugins/replaygain.rst
2014-11-09 14:48:32 +00:00
Francesco Rubino
4bf17486eb
Fixed line lengths, typo in documentation.
2014-11-09 10:29:46 +00:00
Fabrice Laporte
41d0f4d674
remove comment
2014-11-08 23:28:10 +01:00
Fabrice Laporte
1b694e569e
fetchart: add 'sources' option
...
Fasten cover search by enabling engines selection and prioritisation.
2014-11-08 23:20:44 +01:00
Adrian Sampson
701ed2dae9
Limit result set sizes ( fix #1068 )
2014-11-08 08:32:31 -08:00
Adrian Sampson
a9981c1dc7
Comment about workaround in #1073
2014-11-07 19:51:38 -08:00
David
5480ceeaf8
Encode to ascii,not utf8.Replace missing chars
2014-11-07 20:46:35 -05:00
Francesco Rubino
8af5b0e6c3
Added backed audiotools to replaygain module and updated documentation
2014-11-07 18:14:56 +00:00
Fabrice Laporte
b143ad7e3e
fix #1035 do scraping tests on mock data
...
don’t store scraped pages with licensed lyrics in repo
2014-11-06 22:10:15 +01:00
Adrian Sampson
fc6664455a
fetchart: Move iTunes priority
...
I like the CAA as a first-priority search because the images are generally
high-quality and there's no metadata ambiguity (we always find the right
release if it's in the catalog).
2014-11-06 10:37:58 -08:00
kerobaros
899eab334b
fetchart: add iTunes Store art source; depends on python-itunes
2014-11-05 13:38:39 -06:00
Adrian Sampson
0aeadebcea
freedesktop ( #1056 ): Make handler a method
...
This lets us use `self.config`. The previous version, which checked
`beets.config['auto']`, was looking in the wrong scope.
2014-11-02 21:01:31 -08:00
kerobaros
3516fb67eb
Added docstring, copyright and license to plugin.
2014-11-02 22:41:03 -06:00
kerobaros
8daeb7d79e
Fixed up config checking to make freedesktop plugin pass flake8.
2014-11-02 22:35:40 -06:00
kerobaros
6ca34632de
fd plugin now runs on album_imported hook. also logs when album has no art.
2014-11-02 22:05:37 -06:00
kerobaros
418e7c0d12
Merge remote-tracking branch 'upstream/master'
2014-11-02 21:23:31 -06:00
Angel Alonso
ad9786ce81
convert: update documentation and add a trailing comma.
2014-11-02 10:58:46 +01:00
kerobaros
2d82aa85b5
Starting on freedesktop plugin.
2014-11-01 21:47:55 -05:00
Angel Alonso
94c268d17e
convert: copy album art when copying or transcoding.
...
Only implemented to work when matching albums instead of tracks (-a option).
Disabled by default in the configuration of 'convert'.
fix indentation.
Fix Travis nagging over indentation (hopefully).
Finally pep8 conforming.
2014-11-01 19:09:33 +01:00
Adrian Sampson
683e1a278d
Merge branch 'lastimport'
2014-10-30 22:48:14 -07:00
Adrian Sampson
50c7cf0f56
discogs: Fix #1049 : intermittent trailing comma
2014-10-30 09:36:39 -07:00
Adrian Sampson
69b7d1f160
Changelog for #1036 ( fix #1028 )
2014-10-28 11:50:36 -07:00
Adrian Sampson
6d38d9faf4
Merge pull request #1036 from kerobaros/master
...
Re: issue #1028 : "embedart: Resize images only once per album
2014-10-28 11:49:19 -07:00
Adrian Sampson
4f3cd65943
Fix #1045 : whitespace-separated queries in web
2014-10-27 23:14:28 -07:00
kerobaros
3a56077b0c
Fixed logic error, added a .get(bool).
2014-10-27 21:20:26 -05:00
Adrian Sampson
72db4af7f8
Fix #1041 : play unicode logging crash
2014-10-27 09:24:59 -07:00
Thomas Scholtes
464f8cdc04
Types plugin: Field types for albums and documentation example
2014-10-27 10:54:21 +01:00
Adrian Sampson
eb35d7084a
Save Discogs token ( #1040 )
2014-10-26 15:45:34 -07:00
Adrian Sampson
a8a5191cf5
discogs #1040 : Standard API key, handle failure
2014-10-26 15:24:17 -07:00
Adrian Sampson
665b4ac50a
lastimport: Declare play_count type
...
Now you can get the fanciness of the numeric field without configuring the
`types` plugin.
2014-10-26 15:06:48 -07:00
David
d9c9e06674
Add authentication to discogs plugin
2014-10-26 16:26:59 -04:00
David
edbb97bd09
Dropping unused argument
2014-10-25 16:16:32 -04:00
kerobaros
81b513c720
Merge remote-tracking branch 'upstream/master'
2014-10-24 23:41:56 -05:00
Adrian Sampson
9137b5c2f3
Fix another lyrics scraper regression ( #1034 )
...
Along with a test.
2014-10-24 20:08:32 -07:00
kerobaros
f782dfd376
I'll get used to this git thing one day. Cleaning up.
2014-10-24 21:36:30 -05:00
kerobaros
d06da6381f
Updating to master to form a new PR.
2014-10-24 21:33:09 -05:00
Adrian Sampson
0325fe2225
lyrics: Remove script tags ( fix #1034 )
2014-10-24 17:33:11 -07:00
Adrian Sampson
0bf7cb8657
Merge pull request #1011 from Kraymer/ftintitle_auto
...
ftintitle: add 'auto' option
2014-10-24 17:16:42 -07:00
Adrian Sampson
a7b7e23436
Minor fixes for #1033
2014-10-24 16:46:55 -07:00
kerobaros
9a191baca4
Working on issue #1028 , resize images only once per album.
2014-10-24 15:01:52 -05:00
kerobaros
ca431b0bf8
Seperated some code out from extract() into get_art(item). Cleaner and quicker way to check for embedded art.
2014-10-23 22:37:19 -05:00
kerobaros
7f37514bb9
Whoops, trailing space. Take 2.
2014-10-23 21:17:42 -05:00
kerobaros
9be753736b
Slight style tweaks.
2014-10-23 21:13:30 -05:00
kerobaros
e06f492f91
Whoops, take two.
2014-10-23 15:31:38 -05:00
kerobaros
75b62b723f
Added "ifempty" config to embedart plugin, re: issue 1020
2014-10-23 15:27:15 -05:00
Fabrice Laporte
343972f5d0
move metadata management in command function
2014-10-18 11:04:10 +02:00
Fabrice Laporte
ac57ef0e67
restore write argument for ft_in_title
2014-10-14 20:58:36 +02:00
Adrian Sampson
7754fe5a40
embedart: Fix logging during import ( #1014 )
...
Regression introduced in 2813cd26c1 .
2014-10-14 09:42:11 -07:00
Fabrice Laporte
4884ae3c46
register import hook only if needed
2014-10-13 22:25:09 +02:00
Fabrice Laporte
740b510ed7
restoring ft_in_title implementation
2014-10-13 21:21:28 +02:00
Fabrice Laporte
cc6080fa21
ftintitle: add 'auto' option
2014-10-12 22:44:34 +02:00
Adrian Sampson
4a61ce7c6b
Use shared Last.fm API key
2014-10-12 13:27:04 -07:00
Adrian Sampson
06cfd4c549
Use MatchQuery for mb_trackid lookup
2014-10-12 13:21:26 -07:00
Adrian Sampson
490f84fc34
Style fixes
2014-10-12 13:19:03 -07:00
Adrian Sampson
a07e20eaf8
Safer GET parameter formulation for AS URL
2014-10-12 13:11:58 -07:00
Adrian Sampson
d6266c2542
Add lastimport plugin by @rafi
...
From rafi/beets-lastimport at 72c199d599ee76f2a5fa366a032ad33491f2c82c.
2014-10-12 13:00:27 -07:00
Heinz Wiesinger
ec56f2bbd4
Make 'media' an item level field.
...
Releases can consist of discs of various media types, most typically
CD/DVD combo releases. Having the media value an album level field
forces all discs to be of the same type. Making it an item level
field instead seems to be the proper thing to do here.
Fixes #161
2014-10-12 12:21:13 +02:00
Adrian Sampson
9e3a737b06
Merge pull request #1008 from otakucode/master
...
Added handler for requests.exceptions.ConnectionError to discogs plugin.
2014-10-11 22:11:01 -07:00
Adrian Sampson
434280f248
A couple of coverage tweaks
2014-10-11 22:05:22 -07:00
Dustin Rodriguez
020c96d99f
Added handler for requests.exceptions.ConnectionError to discogs plugin.
2014-10-11 20:50:31 -04:00
Adrian Sampson
b777bde0af
Fix #1006 : errant info-level log
...
Introduced in e99df7bc65 .
2014-10-11 15:05:01 -07:00
Adrian Sampson
0749d4716c
duplicates: Fix #999 (check "checksum" type)
2014-10-11 12:28:41 -07:00
Stig Inge Lea Bjørnsen
6f9abf4340
Merge pull request #925 from silb/bug-911-importadded-reimport
...
Fixes bug #911
2014-10-11 15:53:03 +02:00
Stig Inge Lea Bjørnsen
79a9593cb9
Add quoting and use displayable paths in log messages
2014-10-10 22:52:54 +02:00
Ben Lumley
10d05a32be
Trivial typo fix
2014-10-10 09:57:32 +01:00
Fabrice L.
e6bf8c21d8
Merge pull request #992 from KraYmer/lyrics-coverage
...
Improve lyrics coverage
2014-10-09 22:11:28 +02:00
Adrian Sampson
c5293df963
replaygain: More descriptive backend errors
...
This avoids a bare `except:` to catch specific errors and give better messages
when they fail. Should provide more insight to this trouble:
https://groups.google.com/d/msg/beets-users/6d-TOg0SuPY/iL39tmo3rqUJ
Also related to #874 .
Feedback from @yevgenybezman or others more familiar with the backend would be
welcome.
2014-10-09 12:26:53 -07:00
Adrian Sampson
983aac287b
Add a displayable_path call in embedart ( fix #995 )
2014-10-09 11:13:39 -07:00
Fabrice Laporte
a6f0649c40
return no lyrics when HtmlParseError occured
2014-10-09 08:22:51 +02:00
Fabrice Laporte
c0c474b20f
lyrics: strip title excerpt before matching
...
improve the extraction of lyrics title from url title and increase the
matching threshold as a consequence.
2014-10-08 14:49:09 +02:00
Stig Inge Lea Bjørnsen
3bd3a817de
Comply with PEP8.
2014-10-07 22:05:44 +02:00
Stig Inge Lea Bjørnsen
125f6422d7
Bug #911 reimport detection for the importadded plugin
...
Reimports are now detected by inspecting the fields for reimported items
and replaced albums in ImportTask.
Reimported albums and items are skipped.
2014-10-07 21:05:43 +02:00
Lucas Duailibe
17dbf2a22d
play: remove temporary m3u file
2014-10-03 12:49:06 -03:00
Ralf Sieger
ab5c5dcfd5
added option for initial volume setting
2014-09-30 09:34:04 +02:00
Fabrice L.
54c9761135
Merge pull request #981 from KraYmer/lyrics-enh
...
Lyrics scraping code refactored
2014-09-27 11:25:06 +02:00
Fabrice Laporte
3ef52e8ead
lyrics.py: remove unnecessary re compile step
2014-09-26 07:08:54 +02:00
Adrian Sampson
d17c148e52
Minor fixes, changelog for #974
2014-09-25 15:33:52 -07:00
Adrian Sampson
4f2d7e0aaa
Merge pull request #974 from KraYmer/fetchart_issue848_2
...
embedart: write candidate image only if it is "similar" to already embedded one (suite)
2014-09-25 15:25:46 -07:00
Fabrice Laporte
a6a83be434
fix flake8
2014-09-24 23:30:38 +02:00
Fabrice Laporte
76b658b14a
use beautiful soup strainer for a x20 performance gain!
2014-09-24 18:04:16 +02:00
Adrian Sampson
ee9e51d3cc
beet convert -y should not need an argument
2014-09-24 08:01:06 -07:00
Fabrice Laporte
8ef7837d22
merge strip_cruft() and _scrape_normalize_eol() into _scrape_strip_cruft
2014-09-24 16:51:54 +02:00
Fabrice Laporte
333591fd78
no html entities in _scrape_streamline_soup output
2014-09-24 00:25:50 +02:00
Fabrice Laporte
91a7eb249c
add _scrape_merge_paragraphs lyrics scraping step + others scraping enh
2014-09-23 17:58:58 +02:00
Fabrice Laporte
a938e68c98
refactor scrape_lyrics_from_url into smaller functions
2014-09-23 13:21:31 +02:00
Fabrice L.
151ee87d8d
remove a log.info()
2014-09-22 17:32:15 +02:00
Fabrice Laporte
aea640d241
lyrics.py: fix regexes used by strip_cruft (make them case insensitive)
...
strip_cruft() should now correctly replace all <br> with \n thus making
insert_line_feeds() and sanitize_lyrics() functions superfluous (they have been
removed).
2014-09-22 17:20:25 +02:00
Fabrice Laporte
d2cf41fc70
restore command_output() implementation as of 0ec285f
2014-09-22 13:49:23 +02:00
Fabrice Laporte
c1224caab5
Merge branch 'fetchart_issue848'
...
Conflicts:
test/test_embedart.py
2014-09-21 14:23:59 +02:00
Fabrice Laporte
1c2448c3e0
add can_compare flag to ArtResizer
2014-09-20 12:19:10 +02:00
Zach Denton
606d47a315
Update type of last_played to library.DateType().
2014-09-18 17:13:09 -04:00
Thomas Scholtes
dc3c4883dc
convert: Check the correct path when determening whether to skip
...
Fixes regression from 3197795faa
and makes tests from 56aba87fdc pass.
Fixes #970
2014-09-18 17:17:02 +02:00
Thomas Scholtes
1e45ba597d
embed_item function does not raise if image file not found
...
Fixes #968
2014-09-18 16:19:05 +02:00
Fabrice Laporte
1bffe2a7bf
obey Travis orders
2014-09-17 22:57:38 +02:00
Fabrice Laporte
e99df7bc65
embedart: add compare_threshold option
...
if compare_threshold > 0 we call check_art_similarity to return sooner
if it happens that candidate image and embedded one are similar.
2014-09-17 22:01:08 +02:00
Thomas Scholtes
db391c8f20
zero: Only changes media file tags not database
...
Uses the new API from the previous commit and fixes #963 .
There is a possible issue with backwards compatibility: Changes to the
item in the 'write' event do not propagate to the tags anymore. But I'm
not aware of other plugins that use the API in that way.
2014-09-17 12:17:20 +02:00
Adrian Sampson
80116ccc9e
Introduce parse_query_string for the common case
...
Most clients other than Library._fetch know what type they have!
2014-09-15 18:21:22 -07:00
Adrian Sampson
08b9b90f74
convert: Fix #962 , extensions in auto mode
2014-09-15 17:00:59 -07:00
Adrian Sampson
84c0f909b6
replaygain: Check for bad mp3gain output ( #961 )
2014-09-15 10:25:57 -07:00
Adrian Sampson
77f7d18c00
Remove stray comment from #909
...
Yes, it is necessary.
2014-09-14 13:15:42 -07:00
Adrian Sampson
72436644a6
Merge pull request #909 from arogl/master
...
Clean up of logging messages as described here
2014-09-14 13:14:35 -07:00
Adrian Sampson
c38d45e273
Merge pull request #959 from geigerzaehler/dbcore-refactor
...
Refactor DBcore without changing behaviour
2014-09-14 13:10:36 -07:00
Adrian Sampson
20968a92ee
Merge pull request #955 from robotanarchy/master
...
importfeeds: add new 'echo' type that writes to stdout
2014-09-14 13:03:59 -07:00
robotanarchy
2039d2effe
don't use the _write_m3u function for stdout stuff
2014-09-14 20:17:53 +02:00
Lucas Duailibe
b1a5189f68
Add default value for relative_to in play plugin
2014-09-14 12:07:08 -03:00
Thomas Scholtes
492cf38927
Use item[field] instead of getattr(item, field)
2014-09-14 16:13:35 +02:00
Thomas Scholtes
5dec867ab3
mpdstats: set types for flexible fields
2014-09-14 12:34:46 +02:00
Thomas Scholtes
d4f72f62eb
echonest: set types for flexible fields
...
Conflicts:
beetsplug/echonest.py
2014-09-14 12:34:46 +02:00
Thomas Scholtes
f112c9610c
Add 'types' plugin for flexible field types
...
Conflicts:
beets/library.py
2014-09-14 12:34:46 +02:00
Thomas Scholtes
1526720982
Swap 'if not' and 'else' for readability
2014-09-14 11:49:33 +02:00
Thomas Scholtes
9e9f645e59
convert: add cli flag to skip confirmation
...
The flag mirrors the `--yes` flag from the modify command.
2014-09-14 11:46:24 +02:00
Thomas Scholtes
3197795faa
convert: Change file extension only if actually transcoded
...
This makes the tests from a37cabb969
pass.
2014-09-14 11:27:59 +02:00
Adrian Sampson
af60272cc5
Merge pull request #956 from voidus/master
...
Added never_convert_lossy_files option to convert plugin
2014-09-13 23:45:16 -07:00
Simon Kohlmeyer
ee6f3dba1b
fix coding style errors
2014-09-13 19:51:23 +02:00
Simon Kohlmeyer
9d55179d2d
Added never_convert_lossy_files option to convert plugin
...
When set to true, this config option chooses copying over converting when the
source file is in a lossy format. At the moment, everything except ape, flac,
alac and wav is considered lossy.
2014-09-13 19:07:25 +02:00
robotanarchy
68eae9e683
didn't know about flake...
2014-09-13 17:25:10 +02:00
robotanarchy
5b0b3eee45
importfeeds: add new 'echo' type that writes to stdout
2014-09-13 17:11:00 +02:00
Thomas Scholtes
89c82dc63d
fetchart: correctly handle path encoding
...
* Ensure that `config.as_str_seq()` returns a list of unicode objects.
* Map these to bytestring paths so we can compare them to other paths.
Fixes #887
2014-09-13 16:49:34 +02:00
Adrian Sampson
4d72643b15
Merge pull request #945 from gwern/master
...
lastbeats: explain that the whitelist has been modified
2014-09-11 12:21:38 -07:00
gwern
971bff95fa
lastbeats: explain that the whitelist has been modified
...
current description sounds like the whitelist is regularly synced and should not be/has not been edited
2014-09-11 14:38:33 -04:00
gwern
35efa7283f
genres.txt: rm fake genres
...
see issue #943 ; deleted all suggestions except 'early music' which some people may want/find meaningful
2014-09-11 14:37:01 -04:00
Fabrice L.
5a799c7fbe
Merge pull request #924 from nrgetik/patch-1
...
Update genres-tree.yaml using scraping script <https://github.com/nrgetik/genre-cannon >.
2014-09-10 10:23:56 +02:00
Thomas Scholtes
cfe82e9736
convert: Pipepline stage yields result
2014-09-09 23:41:47 +02:00
Thomas Scholtes
114d3f95bd
Check conversion against custom format
2014-09-09 22:06:18 +02:00
e5e4eaeacd39c5cfba4d7c852c48277ae50331e6
816e4fb152
clean up after rebase
2014-09-09 11:53:44 +10:00
e5e4eaeacd39c5cfba4d7c852c48277ae50331e6
020ee2b1ed
Fix Travis errors
...
I was over zealous on the brackets for formatting
2014-09-09 11:31:43 +10:00
e5e4eaeacd39c5cfba4d7c852c48277ae50331e6
65de93941d
flake8 cleanup
...
Cleanup after cleanup
2014-09-09 11:28:43 +10:00
e5e4eaeacd39c5cfba4d7c852c48277ae50331e6
66aee8094f
Clean up of logging messages as described here
...
All logging now prefers the ' (single quote) over the " (double quote)
https://github.com/sampsyo/beets/wiki/Hacking
2014-09-09 11:28:43 +10:00
Thomas Gordon
f910ac6a63
Correct busted encoding hopefully
2014-09-06 14:14:15 -04:00
Thomas Gordon
c91c91c7da
Merge remote-tracking branch 'origin/patch-2' into patch-1
2014-09-06 14:00:33 -04:00
Thomas Gordon
4c622966e6
Update genres-tree.yaml
2014-09-05 11:13:29 -04:00
Thomas Scholtes
17549b873e
info: Show data for each item, not only first one
2014-09-05 16:09:57 +02:00
BrainDamage
bedc17e043
added an option to make the playlists created by play plugin to be
...
relative to a path much like the smart playlist plugin
2014-09-04 17:46:08 +02:00
Lucas Duailibe
5d343b1951
Display correct number of albums to play
...
This fixes a bug where the output of beet play for a single album would be: "Playing 12 album."
2014-09-03 22:52:31 -03:00
Thomas Gordon
0bc3836d52
Alphabetize! Thanks @KraYmer
2014-09-03 09:25:13 -04:00
Adrian Sampson
c0ce8c3e54
Changelog for #927
2014-09-02 21:45:35 -07:00
Padraic O'Donoghue
5b57032981
Remove scripts from lyrics
2014-09-03 03:15:34 +01:00
Thomas Gordon
76c8ea4a37
Update genres-tree.yaml
...
Scraped https://en.wikipedia.org/wiki/List_of_popular_music_genres for the first time since @KraYmer did back in (apparently) October 2011. This should be much more useful now to those who have genre canonicalization enabled. Script is in public repo of mine :)
2014-09-02 16:19:49 -04:00
Adrian Sampson
4b11eed79f
Minor cleanup and changelog for #922
2014-08-27 10:55:16 -07:00
Olin Gay
3b82be1a23
Changes for issue -- mbcollection: Automatically update collection on import #793
2014-08-27 10:26:31 +05:30
Adrian Sampson
b869dbed0e
info: Add syspath calls
...
Sorry for interposing, @geigerzaehler. 😃
2014-08-26 10:28:32 -07:00
Thomas Scholtes
71060f1453
info refcator
2014-08-26 18:58:42 +02:00
Adrian Sampson
2518f654bf
info: Two minor fixes
...
* Decode query arguments before constructing query.
* Don't print "None" for the path in summary mode.
2014-08-26 09:16:27 -07:00
Thomas Scholtes
3554c0925c
Fix doc and flake8 build (again)
2014-08-26 12:44:23 +02:00
Thomas Scholtes
fe0a2482f3
info: add --summarize option
...
Closes #409 .
2014-08-26 12:32:26 +02:00
Thomas Scholtes
5e4600afd8
info: add tests and omit None values
2014-08-26 12:01:53 +02:00
Thomas Scholtes
9774692dc8
PEP8 fixes
2014-08-26 11:55:36 +02:00
Thomas Scholtes
9d0156e0da
info: Check if normalized path is file
2014-08-26 11:54:12 +02:00
Thomas Scholtes
b278db42be
info: print library fields and sort output
2014-08-25 23:47:16 +02:00
Thomas Scholtes
a9f839bbf8
info: Specify files through library query
2014-08-25 23:01:02 +02:00
Andrii Kohut
4279ac0b67
New api requires client and dict as parameters for Release initialization
2014-08-25 20:22:47 +03:00
Andrii Kohut
34584eadd1
Works faster then checking each result item with isinstance
2014-08-25 19:14:41 +03:00
Thomas Scholtes
c0b248c4a2
convert: Catch errors when writing tags
...
Fixes #878 .
2014-08-25 14:52:40 +02:00
Adrian Sampson
900e44f1b9
Merge pull request #910 from andriykohut/master
...
Fix problems with new discogs_client version
2014-08-24 10:17:16 -07:00
Andrii Kohut
f8af931caa
Seems like something broken in new version of discogs_client
2014-08-24 17:34:31 +03:00
Thomas Scholtes
b512a0ce37
lyrics: Use multiple lyrics search strings.
...
In particular we use the original artist and title before stripping
*and* and *featuring* suffixes.
Fixes #914 .
2014-08-24 16:17:21 +02:00