Commit graph

1755 commits

Author SHA1 Message Date
nath@home
ff4fda1bb5 play: make the many files warning configurable
The warning_treshold key in the play configuration defines the
minimum number of file before a warning is issued (default 100).
A zero value means no warning is ever issued.

This is the first commit for this feature, and this should fully
implement it.
2015-09-03 22:19:51 +02:00
Adrian Sampson
854a4539cb Fix #1588: fetchart gets PNGs, not GIFs 2015-09-02 12:45:35 -07:00
nath@home
b9bc06d9d8 play-raw: Rename the command target:
passed_to_command -> open_args
2015-09-01 23:42:43 +02:00
nath@home
9c663432bd Refactor util/interactive_open: multiple targets
interactive_open should now be invoked with at least the list of
targets and optionally the command to open the targets with.
This allows beets-play to pass multiple file paths directly to
the configured command.

The changes to the existing invocations are pretty trivial in
order to comply to this refactor.
2015-09-01 23:42:42 +02:00
nath@home
4eb563a08c pep8: Correct camelCase to snake_case 2015-09-01 23:42:42 +02:00
nath@home
a23c5d4f67 play-raw: Call vlc with one file par arg 2015-09-01 23:42:42 +02:00
nath@home
18d5c3b0a0 play-raw: Add the option to play the raw queried pathes
I slightly rewrote the play plugin in order to improve
the readability and to introduce the "raw" play config
option which makes beet simply pass a list of pathes
to the play command rather than a playlist.
2015-09-01 23:42:42 +02:00
Adrian Sampson
e32744a66a Fix extra parameter introduced for #1581 2015-08-30 11:55:06 -07:00
Adrian Sampson
9ce49b7ef0 fetchart: Do not emable Wikipedia by default
Because DBpedia seems to be down (it's responding very slowly with errors),
this seems like a good defensive action. It narrows the default sources to
those that resolve quickly, with only a couple of HTTP requests. We can
re-enable this again in the future if things seem to stabilize over at
DBpedia.
2015-08-29 12:52:57 -07:00
Adrian Sampson
e249fcb06f fetchart: Fix #1581, splitting in Wikipedia source 2015-08-29 12:45:10 -07:00
Adrian Sampson
b5cb4e4cc4 Slightly more efficient image streaming 2015-08-29 12:41:54 -07:00
Adrian Sampson
3d20f25f06 fetchart: Fix bungled Requests API 2015-08-29 12:27:37 -07:00
Adrian Sampson
75e810409b fetchart: Use a mixin for even more logging 2015-08-29 12:13:28 -07:00
Adrian Sampson
608e4ffbef fetchart: Lots more logging 2015-08-29 11:59:46 -07:00
Adrian Sampson
2b1d7fc3aa fetchart: Logging, naming, remove unused option 2015-08-29 11:31:59 -07:00
Adrian Sampson
f899ed93ac lastimport: Log error responses
For debugging #1574.
2015-08-24 11:09:45 -07:00
Adrian Sampson
cde509a638 Merge pull request #1570 from fxthomas/badfiles
Badfiles: Easier default configuration, docs update and color output
2015-08-16 09:27:08 -07:00
Adrian Sampson
759c79c426 play: Insert arguments anywhere (#1532) 2015-08-16 09:23:09 -07:00
François-Xavier Thomas
c54105d272 badfiles: Fix unicode error on some queries 2015-08-15 15:37:47 +02:00
François-Xavier Thomas
ded73354a9 badfiles: Added color output 2015-08-15 15:19:04 +02:00
François-Xavier Thomas
e8cb1241f5 badfiles: If not configured, use default checkers 2015-08-15 14:39:37 +02:00
François-Xavier Thomas
27075ea037 badfiles: Fixed weird use of sum 2015-08-15 14:39:35 +02:00
Adrian Sampson
ecf677ae41 Reorganize up some badfiles documentation 2015-08-14 20:50:29 -07:00
Adrian Sampson
c756b3eedb badfiles: Clean up for beets style
Use {} formatting, 80 character wrap, ___future__ imports.
2015-08-14 20:37:36 -07:00
Adrian Sampson
82484be232 Add badfiles plugin as-is 2015-08-14 20:32:19 -07:00
Adrian Sampson
ab7e9d4db2 Simplify #1532: CLI only, append to end 2015-08-14 19:52:49 -07:00
Adrian Sampson
7b6c773a3f Cleanup for #1532 2015-08-14 19:44:11 -07:00
Adrian Sampson
217a8126bc Merge pull request #1532 from pheerai/play_opt_arg
Added optional argument for play-plugin
2015-08-14 19:23:34 -07:00
Adrian Sampson
4038f191da Fix #1564 (regression from #1559) 2015-08-08 11:23:55 -07:00
Oliver Rümpelein
94258110a7 Forgot to remove an if-statement. 2015-08-03 17:01:56 +02:00
Oliver Rümpelein
69377291ff Try to fix TravisCI-errors. 2015-08-02 21:08:44 +02:00
Oliver Rümpelein
d05e251a14 Merge branch 'master' into play_opt_arg,
to make AppVeyor-builds possible.
2015-08-02 20:51:26 +02:00
Oliver Rümpelein
90bb4081fe Implemented --args-feature
* as discussed in #1532, with args-parameter, and optionally
   inserted config-key
 * updated changelog/docs
2015-08-02 20:44:56 +02:00
Adrian Sampson
96c5121f65 Documentation for #1555/#1556 2015-08-01 15:00:13 -07:00
Ben Ockmore
4818264a36 Added TypeError to the list of caught exceptions in fetachart._fetch_image
requests/urllib3 is throwing an exception due to an internal problem triggered
by some sort of timeout. This change catches the TypeError so that beets
reports "error fetching art" instead of crashing when this happens.
2015-08-01 16:50:59 +01:00
Oliver Rümpelein
5f9068cb50 Implemented Idea 2 from #1532
* New argument `--optargs` reads string from option
 * If "{}" is present in the given string, the `optargs`
   from config-file get inserted at that point.
2015-08-01 13:55:17 +02:00
Sven Oos
74f58e7b3c Bugfix:
Items had not been filtered. Converting the tags' weight into an integer solves it.
2015-08-03 23:46:50 +02:00
Adrian Sampson
7d55126070 Merge pull request #1397 from multikatt/ipfs
Ipfs plugin
2015-08-02 18:39:55 -07:00
Adrian Sampson
f6ecbf659f Silly oversight in fix for #1551 2015-07-28 22:39:53 -07:00
Adrian Sampson
ebf98d7bf0 duplicates: Avoid Unicode-to-bytes comparison
Fix #1551.
2015-07-28 22:36:27 -07:00
Adrian Sampson
5420599839 New all_keys() method on dbcore.Model
Rather than the ad-hoc one on library classes. This also avoids some confusing
duplication in the `beet fields` output, at the cost of turning off the plugin
distinction.
2015-07-28 22:27:43 -07:00
David Logie
71d3be238b zero: optionally update tags in the database. 2015-07-21 16:54:23 +01:00
Adrian Sampson
493fbab1a5 replaygain: Fix #1518, GStreamer missing plugins 2015-07-06 16:23:04 -07:00
Oliver Rümpelein
3b6373541a Fixed Errors indicated by travis-ci
See https://travis-ci.org/sampsyo/beets/jobs/69335554
2015-07-05 15:00:46 +02:00
Oliver Rümpelein
3b2c3a5b31 Renamed options, corrected small typos. 2015-07-02 20:46:10 +02:00
Oliver Rümpelein
0a995c218a Added optional argument for play-plugin
* New config key "play -> optargs"
 * New Subcommand argument "-o", "--optargs"
 * Set position using "{}" within "play -> command"-string
2015-07-02 20:25:54 +02:00
Kylie McClain
c7cdadfd49 fetchart: Use text_highlight_minor for color rather than text_success 2015-06-22 02:15:49 -04:00
Kylie McClain
b8d6c37fec fetchart: Use success coloring if album art is found 2015-06-19 20:36:50 -04:00
multikatt
cdef5fd473 Speed up import 2015-06-11 01:19:09 -04:00
multikatt
4d0d1ebc7a Dont refetch already existing libs 2015-06-11 00:08:01 -04:00
multikatt
10bf15da1d Adding logs 2015-06-11 00:06:48 -04:00
multikatt
2105fb9e1f Rename argument lib to album in ipfs_add() 2015-06-10 11:32:55 -04:00
multikatt
8ad22749ea Unset item.id to avoid double add items to albums
This hugely improves publishing times
2015-06-10 11:09:56 -04:00
Adrian Sampson
ce91a0c929 keyfinder: Fix #1502 (unicode paths) 2015-06-09 16:34:02 -07:00
multikatt
15f17116c5 Dont readd albums to ipfs 2015-06-07 17:38:31 -04:00
multikatt
0fa02519a7 Adding auto add support 2015-06-07 16:55:36 -04:00
David Logie
85ffe444dc mpdupdate: Improve error message
When beets can't connect to mpd, display the underlying error instead of
dying with an ugly exception.
2015-06-05 11:45:38 +01:00
Ed Carroll
865fb0a25f Updated docs and changelog
Updated the append function to be a bit safer when adding the token
parameter. Updated docs and changelog
2015-06-04 10:48:38 +01:00
Ed Carroll
1db1edfb42 Fixed line lengths 2015-06-04 01:33:17 +01:00
Ed Carroll
b7d75e1d18 PlexUpdate plugin updated for Plex Home
PlexUpdate plugin updated to allow Plex Tokens to be provided with the
server details so that beets can update a Plex library that requires
authentication.
2015-06-04 00:49:17 +01:00
multikatt
f64df80974 Catch failed folder creation 2015-06-03 08:08:02 -04:00
multikatt
163b049f41 Tidying up 2015-06-02 23:02:00 -04:00
multikatt
5c3459e2a6 Make create_new_album a new function 2015-06-02 22:23:38 -04:00
Fabrice Laporte
72075dde5d fix #1490 don't overwrite basename argument 2015-06-02 22:12:00 +02:00
multikatt
fe29397fcc typo 2015-06-01 22:54:25 -04:00
multikatt
0f0329abb9 Add --play flag 2015-06-01 22:47:04 -04:00
multikatt
46202a3cf0 Properly add albums to published library 2015-06-01 22:45:49 -04:00
multikatt
0fcea289f7 Log notification 2015-05-31 20:46:07 -04:00
multikatt
4f3a228a23 Use beets.util.command_output instead of subprocess 2015-05-31 20:45:39 -04:00
multikatt
9771d899db remove dulicate ui.decargs 2015-05-31 20:17:05 -04:00
multikatt
4dc3299dc8 Fix E226 2015-05-31 01:47:09 -04:00
multikatt
5bb976d8f4 Better error handling when theres nothing imported
yet
2015-05-31 00:46:43 -04:00
multikatt
a80b402f2f -l actually queries the libraries 2015-05-31 00:46:06 -04:00
multikatt
d0dc2014f6 typo 2015-05-31 00:35:56 -04:00
multikatt
d3ec311721 Dont fail if theres no imported albums 2015-05-31 00:32:03 -04:00
Adrian Sampson
90178ab380 Always log a template literal (fix #1481)
Otherwise, we risk the user-provided string looking like a format string! If
it contains curly braces, it can behave unexpectedly.
2015-05-28 23:44:41 -04:00
Adrian Sampson
3b43b78b67 Merge pull request #1479 from glogiotatidis/flagsfix
[convert] Fix dest and format flags help text.
2015-05-25 11:34:51 -07:00
Pedro Silva
3be593693d add merging functionality to duplicates plugin
This patch depends on %aunique not being present in config.paths
for behavior as intended.

The logic surrounding moving/copying a track from a duplicated album to
the original one could probably be extracted out and put into
library.Album.

This is based on the ordering imposed by the tiebreaking facility
introduced in 6be98b0a36. Once a natural
duplicate ordering is in place, then the strategies for merging are:

Items:

Iterate through each available field:
    Iterate through each duplicate:
        If current duplicate has a field not set in the original, set it there
        Break

Albums:

Iterate through each duplicate:
    Iterate through each item in duplicate:
        If current item is not present in original, copy it there
        Continue
2015-05-25 18:12:06 +02:00
Giorgos Logiotatidis
4a8f978f4c [convert] Fix dest and format flags help text. 2015-05-25 14:37:38 +03:00
Old T. Man
acd0a902bb Fix search term encoding. 2015-05-23 13:19:28 -06:00
Adrian Sampson
07242f65e2 Convert always uses bytestring args (#1461) 2015-05-19 16:38:08 -07:00
Tom Jaspers
a7eace81d4 fetchart: improve Wikipedia art source
Artists with non-typical casing (e.g., alt-J, dEUS) would not get matched on
DBPedia, as the RDFS:label uses arbitrary casing, and SPARQL provides only exact
matches. The FOAF:name attribute is always title-cased (e.g., Alt-J, Deus).

Due to a bug in DBPedia, the cover filename is truncated when it contains
parentheses, (e.g., 'Foo bar (band).jpg' gets truncated to 'Foo bar .jpg').
To work around this, an additional Wikipedia call gets made for all its
images, in which we try to match our truncated image.

The Wikipedia art source now catches the correct exceptions, instead of
a broad catch-all.

Wikipedia album images can be gifs, so these are now added to the list of
accepted content types.
2015-05-19 09:57:54 +02:00
Tom Jaspers
a82dee35cb fetchart complains if no imaging backend available
The `enforce_ratio` and `minwidth` options depend on PIL or ImageMagick.
Previously it silently fails. Now it will log a warning, and accept the
image.

Tests concerning these options are skipped when no imaging backend is available.

Fix #1460
2015-05-18 19:44:40 +02:00
Pedro Silva
0377510522 handle albums during default attribute set completeness sorting 2015-05-17 23:56:10 +02:00
Pedro Silva
684f4deadc fix typo during tagging: option -t now actually works 2015-05-17 15:01:48 +02:00
Pedro Silva
6be98b0a36 add tiebreaking facility 2015-05-16 19:25:47 +02:00
multikatt
b336e5f195 Get remote albums from query 2015-05-15 15:48:07 -04:00
multikatt
b123e8259d Remove implemented TODO comment 2015-05-15 14:14:29 -04:00
multikatt
0c596fd163 Break out query into its own function 2015-05-15 14:13:01 -04:00
multikatt
a091f9e71a Add support for naming remote libraries 2015-05-15 13:25:50 -04:00
multikatt
4109d825d1 Clearing local paths from published libs 2015-05-15 11:51:18 -04:00
Pedro Silva
834418de6d fix #1457: enforce correct config typing 2015-05-15 11:48:27 +02:00
multikatt
3990ac185e adding list command, listing remote albums 2015-05-15 00:34:52 -04:00
multikatt
8cb262cbd1 Join all remote libraries albums into a single lib 2015-05-15 00:20:58 -04:00
multikatt
538a99599e Put all remote libs in a directory 2015-05-14 22:54:55 -04:00
multikatt
17e81b6d6c strip newlines from lines 2015-05-14 20:18:28 -04:00
multikatt
7927cb5f47 remove unused variable 2015-05-14 19:34:15 -04:00
multikatt
b3011fed6e Only publish albums/items added to ipfs 2015-05-14 19:05:22 -04:00
multikatt
835e58fa16 Add right files when adding folders with[...]
non music files.
2015-05-14 18:34:23 -04:00
Adrian Sampson
71d7c0b004 Merge pull request #1450 from tomjaspers/metasync-itunes
MetaSync: more OO structure +  iTunes support
2015-05-13 15:04:36 -07:00
Tom Jaspers
94edc7a2a4 MetaSync: minor improvements for iTunes source
- Use path as an key to find items (over artist/title/album tuples)
- Sensible default library location
2015-05-13 20:02:34 +02:00
Tom Jaspers
02bec1bdd7 MetaSync: Remove auto-discovery of sources
In favor of simpler, hard-coded, list of sources, to avoid unneccesary magic.

Also: check to see if query has results before instantiating the meta sources
2015-05-13 11:01:52 +02:00
multikatt
56d671745c Add support for importing remote libraries 2015-05-11 16:51:00 -04:00
multikatt
7be8765ee3 pep8 2015-05-11 15:59:23 -04:00
multikatt
da344c84fd Support for publishing library 2015-05-11 15:58:50 -04:00
multikatt
db641dccf2 Change print to self._log 2015-05-11 15:56:12 -04:00
multikatt
a3990e0b62 remove non empty directories 2015-05-11 15:33:45 -04:00
multikatt
b08ccb5d37 saving ipfs hashes in database 2015-05-11 15:27:03 -04:00
David
36bf49aa8d typo: thumnails -> thumbnails 2015-05-11 14:26:49 -04:00
Tom Jaspers
abd02052b9 MetaSync: small refactoring + enhancements
- `sync_data` -> `sync_from_source`
- properly catch ConfigValueError
- avoiding iterating through library if we couldn't instantiate any meta sources
- fix create_temporary_copy to actually make a tempdir
2015-05-10 14:44:37 +02:00
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