Commit graph

1008 commits

Author SHA1 Message Date
Fabrice Laporte
2e8e55736d get rid of module level options variable
Conflicts:
	beetsplug/lastgenre/__init__.py
2014-04-26 20:51:00 -07:00
Fabrice Laporte
499a7b868e Move the filtering logic of '_tags_for' function into a dedicated 'filter_tags' function. 2014-04-26 20:50:04 -07:00
Thomas Scholtes
fea5df2339 covert: embed coverart into converted files 2014-04-26 19:49:29 +02:00
Thomas Scholtes
c20c62409d convert: log error instead of crashing 2014-04-26 19:47:50 +02:00
Thomas Scholtes
9090f0979f Use new _embed api 2014-04-26 19:44:29 +02:00
Thomas Scholtes
9b88525736 Make function to embed art agnostic of items 2014-04-26 19:41:44 +02:00
Fabrice Laporte
74898347c0 is_page_candidate() handle more languages
Add translations in spanish and german for tokens to
ignore when comparing an url title with a song title.
2014-04-26 19:25:25 +02:00
Fabrice Laporte
8ba91a49c6 change chars replacements done by slugify()
adapt slugify() to make it return strings that can be used
as yaml keys (no spaces, etc.)
adapt is_page_candidate() accordingly
2014-04-26 19:22:40 +02:00
Fabrice Laporte
567e6300fd fix flake8 2014-04-26 07:27:13 +02:00
Fabrice Laporte
117d16f2ad lyrics: add tests to track which websites can be scraped by our algo and be
used as sources fot the google custom search engine.
2014-04-26 07:26:50 +02:00
Thomas Scholtes
e96753f96a Plugins use import_task.album 2014-04-25 13:52:03 +02:00
Thomas Scholtes
73a1b63f7d Catch and log file errors when embedding images
Fixes #723.
2014-04-25 12:33:19 +02:00
Adrian Sampson
80bec3935e config name change, changelog for #692 2014-04-22 14:50:54 -07:00
Adrian Sampson
8cc05077ed Merge branch 'SUTJael-ftintitle_drop' 2014-04-22 14:47:28 -07:00
Bruno Cauet
7b0ce4f28e Disable the video stream in all ffmpeg conversions
Propagate the previous commit's change to all ffmpeg command lines.
2014-04-21 19:59:18 +02:00
SUTJael
4d616ceb93 Fix styling 2014-04-21 16:13:43 +02:00
SUTJael
345d47b40d Fix indent 2014-04-21 16:06:34 +02:00
Bruno Cauet
db2a2d1e25 Disable video feed in ffmpeg's flac conversion
Video feeds may be found in flac files, and the current ffmpeg
conversion command does not ignore them, causing beets to fail
to convert the file.

Add `-vn` to the command line to fix the problem.

Fix issue #712.
2014-04-21 15:37:10 +02:00
SUTJael
974e3128a6 Fix formatting issues.
Drop parameter sticky
2014-04-21 13:07:26 +02:00
Adrian Sampson
d96d12440e underscore_naming in play (#708) 2014-04-19 14:55:34 -07:00
Adrian Sampson
e8f56c897b play (#708): obviate debug option
Just reuse beets' global verbose logging.
2014-04-19 14:54:20 -07:00
Adrian Sampson
9192b7f5cb play plugin (#708): docs clarification, etc. 2014-04-19 14:41:30 -07:00
Adrian Sampson
492acbb721 Merge pull request #708 from davidhampgonsalves/master
Play Plugin
2014-04-19 14:32:34 -07:00
david hamp-gonsalves
f67490c464 reworking messaging 2014-04-19 09:34:50 -03:00
david hamp-gonsalves
44e84e775a correcting sytles 2014-04-19 09:24:37 -03:00
david hamp-gonsalves
f8b6c1ea11 added default commands to use system file associations 2014-04-19 08:52:18 -03:00
Adrian Sampson
5f4a9c6446 fix Windows path manipulation in importfeeds 2014-04-18 15:52:23 -07:00
david hamp-gonsalves
22f341eb97 added play plugin and docs 2014-04-18 10:33:53 -03:00
Yevgeny Bezman
e82147ce6d replaygain: added missing import 2014-04-17 21:32:12 +03:00
Yevgeny Bezman
bfac8cf84f replaygain: ignoring deprecation warning for threads_init in newer gi versions. Fixes #697 2014-04-17 20:06:03 +03:00
Thomas Scholtes
ea04344560 Test and fix unicode issues in logs. Fixes #699
The helper functions for creating test fixtures now include unicode characters.
2014-04-17 12:12:49 +02:00
Adrian Sampson
de1247c7bc query-based fix for #693
This is @geigerzaehler's fix from b868799, just with the typo fixed
(singletons -> singleton).

An alternate (more verbose) fix would have been:

    singletons_query.subqueries.append(
        dbcore.query.BooleanQuery('singleton', True, False)
    )

i.e., pass `False` for the `fast` parameter to indicate that this is not a
fixed-field query.
2014-04-16 10:18:38 -07:00
Thomas Scholtes
0751c560e3 Check for singleton directly 2014-04-16 14:42:19 +02:00
Thomas Scholtes
b8687999e2 Query string for computed fields. Fixes #693 2014-04-16 14:18:07 +02:00
Thomas Scholtes
4e2828668c Refactor mbsync 2014-04-16 14:02:51 +02:00
Adrian Sampson
033cf9ec21 spell check 2014-04-15 21:17:23 -07:00
SUTJael
2b7538ee82 Add drop option to FtInTitlePlugin 2014-04-15 23:04:41 +02:00
Adrian Sampson
9fd0e1d3fe fix #687: template indexes in logging statements 2014-04-14 10:35:20 -07:00
Pedro Silva
8aec50ff8c call truncate, not convert, when truncating 2014-04-14 15:39:36 +02:00
Pedro Silva
cf2f78ef55 fix #685: truncate files larger than 50MB for upload
The new behavior is as follows:

1. If the file size is greater than 50MB, and the 'truncate' config
option is 'no', skip the file.

2. If the file size is greater than 50MB, and the 'truncate' config
option is 'yes', reencode the file to ogg, and truncate to first 5
minutes.
2014-04-14 10:00:54 +02:00
Adrian Sampson
a45ac4a9d6 enable unused import checking
The "noqa" marker is for exceptions such as these.
2014-04-13 20:48:30 -07:00
Adrian Sampson
e21c04e912 flake8-cleanliness in missing
This is a little bit dumb, but one way to get the style checker to accept the
nice alignment in this plugin is to make it a dict.
2014-04-13 17:59:17 -07:00
Adrian Sampson
e5a9db1cac fix up some indentation warnings in plugins 2014-04-13 17:55:49 -07:00
Adrian Sampson
fb37be44db restore some comments from #684
I wanted to leave a few of these as comments -- they serve more as separators
than as internal documentation.
2014-04-13 17:43:43 -07:00
Fabrice Laporte
3ead936fe5 flake8 cleaning beetsplug/*
Remaining warnings are related to visual indentation.
2014-04-13 23:24:57 +02:00
Adrian Sampson
2ec140edbc fix import path to BooleanQuery (#680) 2014-04-12 13:48:37 -07:00
Adrian Sampson
2caacba3c6 Merge branch 'ktkonrad-singleton' 2014-04-12 13:40:54 -07:00
Adrian Sampson
e5d28e2171 lyrics is flake8-clean 2014-04-12 13:32:46 -07:00
Adrian Sampson
7fcd7daf7c lyrics: minor style/doc cleanup 2014-04-12 13:08:24 -07:00
Adrian Sampson
2dafaa2f0c Merge branch 'KraYmer-lyrics-enh-tests' 2014-04-12 12:58:20 -07:00
Adrian Sampson
3549f9785c keyfinder: handle errors in command execution 2014-04-12 11:22:11 -07:00
Thomas Scholtes
650b49795b Add keyfinder plugin
Closes #662 and #279.
2014-04-12 18:44:38 +02:00
Fabrice Laporte
42747797cd better handling of songs with featuring artists, songs variants versions (live
etc), and songs combinations (lyrics are then appended)
2014-04-12 12:29:20 +02:00
Kyle Konrad
d044e1773a Replace SingletonQuery with BooleanQuery on computed singleton field.
Updated use in command parsing and mbsync plugin.
2014-04-11 22:20:04 -07:00
Adrian Sampson
271a1627a5 mbsync: call album.save()
This must have been broken as long as album.save() was a necessary call (i.e.,
since the introduction of the dbcore base classes).
2014-04-11 19:50:13 -07:00
Thomas Scholtes
c01fc542ed Support for initial_key with EchoNest 2014-04-11 21:03:11 +02:00
Thomas Scholtes
c27d26ddbf Refactor zero plugin 2014-04-10 22:01:04 +02:00
Adrian Sampson
6b0c03db9d info: don't print out album art blobs 2014-04-10 11:50:59 -07:00
Adrian Sampson
4c9daa12cc Merge pull request #676 from geigerzaehler/item-try-write
Add item.try_write() to log errors
2014-04-10 11:33:06 -07:00
Adrian Sampson
b79a1199ad remove stray ITEM_FIELDS reference (#650) 2014-04-10 11:31:51 -07:00
Adrian Sampson
33b44717ab embedart: catch log errors (fix #678) 2014-04-10 11:24:59 -07:00
Thomas Scholtes
5d753b4f38 Remove ALBUM_* constants. Closes #650 2014-04-10 17:44:39 +02:00
Thomas Scholtes
f6f974ec87 Remove ITEM_* constants
We might consider renaming `Item._fields` to `Item.fields` since other parts of
beets use it as a replacement for `ITEM_KEYS`.

See also #650.
2014-04-10 17:11:21 +02:00
Thomas Scholtes
c3ea1ded30 Add item.try_write() to log errors
Many commands and plugins use `item.write()` to update tags. Since the success
of the call is not critical to the functionality of most consumers we want to
catch any exceptions, log an error and continue with our task. The new method
encapsulates this logic.

This fixes #675.
2014-04-10 15:26:05 +02:00
Thomas Scholtes
b7a26811ef Add "shell" keyword for commands and use it in convert
Convert used to split the user command at whitespaces and pass it to `Popen`.
This approach is to naive, it also was not consistent with output from the
logs. Instead we pass the whole command to a subshell.
2014-04-09 20:41:30 +02:00
Adrian Sampson
443b8089d5 remove unnecessary IndexableEnum
This is not really critical since list(Type)[i] works just as well. This fixes
a couple other problems from the enum transition:
- The name of TYPES was not really consistent with its new role as an enum
  type. Renamed this ImageType.
- Fix a rather egregious bug in embedart (undefined reference to Image).
2014-04-08 16:59:50 -07:00
Thomas Scholtes
071a5c363d Use new MediaFile api to embed art 2014-04-08 01:41:26 +02:00
Thomas Scholtes
55e5381bbd Merge branch 'extendable-mediafile'
Conflicts:
	beets/library.py
	docs/dev/plugins.rst
2014-04-07 23:49:29 +02:00
Thomas Scholtes
6402b664c6 More refactoring for convert 2014-04-07 20:17:55 +02:00
Thomas Scholtes
651bdf0acc Refactor convert plugin
* `encode()` raises an error when the command returns with non-zero exit
  status. We catch that in the higher-level conversion functions and skip to
  the next item without writing tags.

* Simplified the handling of the `keep_new` flag.
2014-04-07 18:24:59 +02:00
Thomas Scholtes
9d87a7fc02 Make convert --keep-new work again
Iincludes some more tests for the convert plugin. The test use the extended
TestHelper class and the new pathlib (see #621).
2014-04-07 18:07:43 +02:00
Adrian Sampson
dd053d7723 changelog and style fixes for #665 2014-04-06 17:59:30 -07:00
Lee Reinhardt
bf05135e5f Added extra checking to fetchart plugin.
Will avoid a KeyError being raised when Content-Type header is missing.
See #664.
2014-04-06 14:42:51 -05:00
Yevgeny Bezman
2a6e5c7273 Merge branch 'replaygain-backends'
Conflicts:
	tox.ini
2014-04-06 08:45:35 +03:00
Thomas Scholtes
1b434a7dae Import original file when conversion fails.
Fixes previous test
2014-04-05 21:09:12 +02:00
Thomas Scholtes
1c598d4cee Add replaygain target level for gstreamer 2014-04-04 22:42:17 +02:00
Thomas Scholtes
81a2433e9d Use GLib.MainLoop instead of deprecated GObject 2014-04-04 19:46:43 +02:00
Thomas Scholtes
81f53fb0d2 Add basic cli tests for replaygain 2014-04-04 19:44:16 +02:00
Yevgeny Bezman
cf49d88156 replaygain: clarified the need to strange thread initialization| 2014-04-04 20:20:14 +03:00
Yevgeny Bezman
d8c37d6ca3 replaygain: Added a FatalReplayGainError class to signal the plugin that the backend failed completely 2014-04-04 19:17:41 +02:00
Thomas Scholtes
a5bdbdcf7f Move available backends to class level
See also https://github.com/sampsyo/beets/issues/650
2014-04-04 19:17:41 +02:00
Thomas Scholtes
439fc1938f Remove debug print statements 2014-04-04 19:17:41 +02:00
Thomas Scholtes
89680d835a Refine docstrings and fix style issues (flake8) 2014-04-04 19:17:41 +02:00
Yevgeny Bezman
6aa1cc95cb replaygain: Improved error handling 2014-04-04 19:17:41 +02:00
Yevgeny Bezman
2d9f40d62d replaygain: fixed small errors introduced by previous refactor. Commented the code in key parts. 2014-04-04 19:17:41 +02:00
Adrian Sampson
08b2bff28d eliminate GStreamer globals and initialize_config 2014-04-04 19:17:41 +02:00
Adrian Sampson
2369122075 minor Python style; move namedtuples to module 2014-04-04 19:17:41 +02:00
Yevgeny Bezman
d2c6d00b7b replaygain: Added some informative prints, removed hardcoded debug print 2014-04-04 19:17:40 +02:00
Yevgeny Bezman
9581b91e10 replaygain: Added gstreamer support, fixed some small bugs 2014-04-04 19:17:40 +02:00
Yevgeny Bezman
86ee30df0d replaygain: modified current implementation to fit a backend framework in anticipation of other implementations 2014-04-04 19:17:40 +02:00
Thomas Scholtes
766c8b190b Add path argument to item.write()
Symmetrical to item.read(), this allows us to update the tags of files that are
not in the library. The motivation was this issue [1].

The commit also includes a nasty hack in the plugin code that prevents breaking
other plugins.

[1]: https://github.com/geigerzaehler/beets-check/issues/1
2014-04-04 14:56:10 +02:00
Adrian Sampson
c5174b3881 use command_output utility in echonest
That's the last direct use of the subprocess calls.
2014-04-03 19:51:50 -07:00
Adrian Sampson
d407db725f convert: catch OSErrors and display error message
This also adds close_fds (only available on Unixes) to the common subprocess
invocation utility.
2014-04-03 19:47:21 -07:00
Thomas Scholtes
4b1a1e3d65 Remove ITEM_KEYS_WRITABLE 2014-04-04 00:03:40 +02:00
Adrian Sampson
729e001432 benchmark: customizable album ID 2014-04-03 13:00:20 -07:00
Adrian Sampson
cd57c8da7f benchmarking for slow matches
Investigating #609. The culprit seems to be repeated reading of the config's
weight settings.
2014-04-03 11:56:26 -07:00
brilnius
e1878b34e7 Merge pull request #618 from brilnius/fix615
lastgenre plugin: separator in genre lists can now be configured
2014-03-19 22:22:41 +01:00
Bruno Tournay
81b74151ca Genre separator from config must be unicode string 2014-03-19 22:16:02 +01:00
Thomas Scholtes
0daea144e8 Fix album import feed with slashes
Makes tests from f2da1922b28571216c7bc0eaa71f56a316dc0d5d pass.
Fixes #610 and supersedes #611.
2014-03-19 17:26:11 +01:00
Bruno Tournay
618708916b Separator in genre lists can now be configured 2014-03-18 22:03:11 +01:00
Pedro Silva
e8f6781fa0 fix #568: ignore items with all keys null 2014-03-14 12:04:43 +01:00
brilnius
b8ef621941 Merge pull request #599 from brilnius/spl_auto
Ability to disable auto regeneration of smartplaylist
2014-03-10 22:46:55 +01:00
Bruno Tournay
865ea40eab Simplified config access 2014-03-10 22:44:38 +01:00
Johannes
856a28a8a0 Revert "no module-global session (#597)"
This reverts commit c56412a1d5.

 - The Requests library advertises itself as thread safe.
 - Cookies aren't so interesting, but keep-alive /
   connection pooling would be nice to have.
2014-03-10 08:53:12 +00:00
Bruno Tournay
33632e0caf We can now disable auto regeneration of smartplaylist 2014-03-09 22:57:07 +01:00
Adrian Sampson
fb038ecc30 changelog & style tweaks for album_query (#595) 2014-03-09 13:22:34 -07:00
Adrian Sampson
aa01906761 Merge pull request #595 from brilnius/spl_album_query
smartplaylist album_query parameter
2014-03-09 13:17:49 -07:00
Bruno Tournay
8a73a173df Attempt to factorize duplicate code 2014-03-09 20:15:51 +01:00
Adrian Sampson
c56412a1d5 no module-global session (#597)
This might have been perfectly correct, but I read that requests.Session
objects share cookies between requests. That makes me nervous for two reasons:
- thread safety (does requests lock the cookie jar internally? who knows?!?)
- leaking cookies could have privacy/performance implications; we don't need
  'em anyway
2014-03-09 11:54:31 -07:00
Adrian Sampson
7ddb8676c4 Merge pull request #597 from johtso/fetchart-requests-plus-useragent
Switch fetchart to requests and send user-agent
2014-03-09 11:43:51 -07:00
Johannes
3367dad0a4 Make fetchart use requests and send useragent
Closes #585
2014-03-09 09:26:30 +00:00
Adam M
e30a776baa fix iteration over keys instead of values 2014-03-08 22:10:37 +00:00
Adrian Sampson
ef36890a4e changelog and code simplification for #594 2014-03-08 13:58:37 -08:00
Adam M
c09b86db9c don't iterate over all items to calculate max_bpm
https://github.com/sampsyo/beets/pull/594#issuecomment-37108627
2014-03-08 21:17:37 +00:00
Bruno Tournay
05d54b4f23 Added ability to also include in playlist result from query based on albums (album_query parameter). 2014-03-08 21:24:56 +01:00
Adam M
dfe8280ff2 add format option to echosim command 2014-03-08 16:22:50 +00:00
Adam M
a0faa530f9 convert echonest bpm to value between 0-1 2014-03-08 16:12:29 +00:00
Adam M
1e7fc76817 add threshold option to echosim command 2014-03-08 15:35:20 +00:00
Adrian Sampson
ab8d008049 use OrQuery for smartplaylist (#575) 2014-03-07 14:38:40 -08:00
Adrian Sampson
f06a16819f spl mutli-query (#575): remove option, changelog 2014-03-07 14:26:49 -08:00
Bruno Tournay
ab513f7bc2 Add the ability to gather the result of ^Cveral queries into a smartplaylist 2014-03-05 21:40:24 +01:00
Pedro Silva
37ac63ccc6 remove debugging print statement inadvertently left from 6ef879f 2014-03-02 22:14:53 +01:00
Pedro Silva
6ef879ffec fix #563: split prog parts before formating in item's name 2014-03-02 22:08:45 +01:00
Pedro Silva
dc4624c1b3 specialize exception handling when doing checksums 2014-03-02 20:56:56 +01:00
Pedro Silva
5cc7cac2e7 clarify that keys are not necessarily mbids 2014-03-02 20:43:17 +01:00
Pedro Silva
6d283ecafa fix checksum problem where key was unintentionally hard-coded 2014-03-02 20:39:42 +01:00
Pedro Silva
bf7e04af0f fix #562: fail on empty code and handle analyze exceptions 2014-03-02 14:10:52 +01:00
Adrian Sampson
472571a4c6 web: fix typo in albums endpoint 2014-02-26 20:08:22 -08:00
Adrian Sampson
1253cb695d move show_model_changes to ui package
This makes it more naturally reusable for plugins.
2014-02-22 15:06:16 -08:00
Adrian Sampson
58dd5f47f5 use _show_model_changes in mbsync 2014-02-22 14:37:04 -08:00
Adrian Sampson
661e82fdec echonest: remove confusing length output (#545) 2014-02-17 22:57:37 -05:00
Adrian Sampson
007c26176e Merge pull request #535 from kljohann/last_playing
mpdstats: update last_played
2014-02-11 09:51:46 -08:00
Adrian Sampson
3dd9e4622f lastgenre: tolerate el.weight is None 2014-02-11 09:49:15 -08:00
Adrian Sampson
7190964e05 restore echonest fetch command (fix #540) 2014-02-11 09:44:02 -08:00
Adrian Sampson
4c5fc8fd76 echonest: use only one plugin class (fix #536) 2014-02-10 22:08:15 -08:00
Johann Klähn
73a43b56a0 mpdstats: update last_played
This fixes #529 and brings back the old behaviour of setting last_played
on every song change regardless of whether it is played to the end or skipped.
2014-02-10 20:55:42 +01:00
Thomas Scholtes
004e9a8144 Add query converter 2014-02-10 17:26:26 +01:00
Thomas Scholtes
dcbf7ecc36 Fix album retrieval 2014-02-10 17:26:26 +01:00
Thomas Scholtes
6663ed0c64 Use URL converters 2014-02-10 17:26:26 +01:00
Adrian Sampson
8ffe83b99e fetchart: fix #533, remote_priority ignoring local 2014-02-09 16:10:53 -08:00
Adrian Sampson
ee713d153c ihate: fix singletons (from #486, fix #411) 2014-02-08 12:11:32 -08:00
Adrian Sampson
fe5c175cc3 style fixes for ihate (#486) 2014-02-08 12:00:23 -08:00
BrainDamage
6836e9c725 updated iHate plugin to replace hardcoded regex system in favour of more flexible queries
changed config layout of iHate plugin to a simpler system
updated unit test for ihate plugin accordingly
updated docs for ihate plugin accordingly
2014-02-07 21:37:33 +01:00
Pedro Silva
ecff56fc44 Fix #522: treat copy/move args as dirs and process items accordingly 2014-02-02 20:45:57 +01:00
Thomas Scholtes
75c3b82d88 Test and fix web /item/query/<query> 2014-02-02 19:12:10 +01:00
Thomas Scholtes
f706e58409 Web API handles multiple ids 2014-02-02 19:04:04 +01:00
Adrian Sampson
318649c16c convert: fix transcode on windows (#519) 2014-02-02 09:54:33 -08:00
Johann Klähn
e78b0928b2 fix mpdstats plugin after query restructuring
BytesQuery does not handle unicode strings correctly at the moment
and PathQuery seems like a reasonable query to use.
2014-01-31 20:16:22 +01:00
Adrian Sampson
456c8a7f01 fromfilename: fix #460: crash w/ no capture groups 2014-01-30 08:19:16 -08:00
Adrian Sampson
620f0f8727 fetchart colors (#508): simplify, new colors
Also a changelog entry.
2014-01-27 22:51:58 -08:00