Rahul Ahuja
60c9201e4a
modularize Spotify ID parsing
2019-01-20 01:54:08 -08:00
Rahul Ahuja
91b2e33569
support album autotagging
2019-01-20 01:33:19 -08:00
Rahul Ahuja
e95b8a6ee0
add docstrings, separate TrackInfo generation
2019-01-20 00:41:14 -08:00
Rahul Ahuja
3309c555ed
better naming, documentation
2019-01-20 00:05:56 -08:00
Rahul Ahuja
104f6185ab
revert unnecessary double --> single quotes
2019-01-19 23:57:36 -08:00
Rahul Ahuja
337cf2a1c3
appease Flake8
2019-01-19 23:35:06 -08:00
Rahul Ahuja
dc77943da2
try oauth token mock
2019-01-19 23:21:02 -08:00
Rahul Ahuja
e6c8f79a07
resolve python2/3 bytes/str incompatibilities, simplify authentication
2019-01-19 22:55:40 -08:00
Rahul Ahuja
c1cb7a2941
address py3 compatibility later
2019-01-19 19:29:35 -08:00
Rahul Ahuja
8bdd927d20
try b64 encode/decode
2019-01-19 19:17:34 -08:00
Rahul Ahuja
160d66d05c
b64encode with bytes
2019-01-19 19:04:15 -08:00
Rahul Ahuja
3639971391
remove unused import
2019-01-19 18:48:46 -08:00
Rahul Ahuja
1a9f20edfe
unregister import_begin listener
2019-01-19 18:42:29 -08:00
Rahul Ahuja
82319734cb
black -S -l 79 autoformat
2019-01-19 18:32:41 -08:00
Rahul Ahuja
204a1453c4
Update spotify.py
2019-01-19 18:06:17 -08:00
Adrian Sampson
8cfbc8274e
Merge pull request #3099 from regagain/fetchart_respect_ignore_settings
...
Fetchart respect ignore settings
2018-12-21 11:45:40 -05:00
Reg
2ea77652a7
Fetchart: Respect ignore and ignore_hidden settings when fetching art
...
from the local filesystem.
2018-12-20 18:44:46 +01:00
Reg
21145731e4
Fixed docstring typo.
2018-12-20 18:19:00 +01:00
Jan Holthuis
d2521d9256
Fix acoustid_fingerprint type confusion
...
Since pyacoustid returns the fingerprint as bytes (and thus causes the
database to store a bytes/BLOB object), but the tag value is a string,
the acoustid_fingerprint tag always causes file change when using beet's
"write" command, even if the actual value didn't change.
Issue #2942 describes the problem.
This commit fixes that issue for newly imported/fingerprinted files. However,
you still need to change the type of all acoustid_fingerprint fields
that are already present in the database:
$ sqlite3 beets.db
SQLite version 3.26.0 2018-12-01 12:34:55
Enter ".help" for usage hints.
sqlite> UPDATE items SET acoustid_fingerprint = CAST(acoustid_fingerprint AS TEXT);
2018-12-19 10:30:50 +01:00
Adrian Sampson
17d9882389
Make the path-field-remover function more obvious
...
An amendment to #3084 .
2018-12-01 16:57:25 -05:00
Domen
5de3ee9a5f
Export plugin can now export path from library, if explicitly specified as field to export. Info plugin behaviour is unchanged.
2018-11-28 20:19:37 +01:00
milesial
d5caae12bd
Now logs both the source and the destination
2018-10-25 15:29:28 +02:00
milesial
d4e615feba
Fixed typo in convert when copying cover art
2018-10-24 19:07:12 +02:00
Patrick Heneghan
9c7a313b0d
Remove default arg for lastgenre --force flag
2018-10-16 18:51:39 +01:00
Samuel Nilsson
a928dbc470
Added contextpath configuration to subsonicupdate plugin. Fixed bug in
...
subsonicupdate port configuration.
2018-10-10 21:22:31 +02:00
Jack Wilsdon
5ad16983d4
Fix miscellaneous typos
2018-10-09 01:11:06 +01:00
Adrian Sampson
8b59b20ef8
Tiny style fix for #3028
2018-09-16 20:56:06 -04:00
Andrew Rogl
865940746c
More clean up requests
2018-09-11 18:52:55 +10:00
Andrew Rogl
308dccab95
Address requested changes from Adrian
2018-09-10 20:47:58 +10:00
Andrew Rogl
c43a957f46
Clean up flake errors
2018-09-09 15:48:07 +10:00
Andrew Rogl
919f3f9c34
mbsync no longer queries MusicBrainz when the either the mb_albumid or mb_trackid field is invalid
2018-09-09 15:20:26 +10:00
Adrian Sampson
e8ffaf9984
Merge pull request #3020 from Archer4499/master
...
chroma: Bias toward looking up more relevant releases using date/country
2018-08-31 22:39:45 -04:00
Derek King
549c115752
Return tuple of numbers instead of string for release_key
2018-09-01 04:10:29 +10:00
Adrian Sampson
eec5bfe73a
Fiddle with some whitespace
2018-08-30 14:58:12 -04:00
Derek King
7a8f980323
chroma: Allow releases to be sorted by date/country
...
Uses
match:preferred:countries/original_year:
config options to determine whether the releases should be sorted by their respective fields.
The behaviour is the same as before when the default config is used.
2018-08-31 00:39:47 +10:00
L Maffeo
7369933232
Updated documentation
2018-08-28 21:50:24 +02:00
L Maffeo
c7aa248a77
Configuration defaults review
2018-08-28 21:34:58 +02:00
L Maffeo
39e8a8389b
Code cleanup
2018-08-26 17:38:17 +02:00
L Maffeo
b747291468
Passed tox tests
2018-08-26 15:22:22 +02:00
L Maffeo
bd5ab43bc6
Removed logging (needs additional testing)
2018-08-26 14:34:47 +02:00
Io Ii
7bfb7e12e7
Minor fix in config
2018-08-26 09:13:23 +02:00
Io Ii
10c40b1575
Second review by @sampsyo
2018-08-26 08:35:16 +02:00
Adrian Sampson
1f37cb61a3
Merge branch 'master' into master
2018-08-25 06:55:12 -07:00
Martin Haaß
a3770686b4
to fix the peak calculation also delete the division
2018-08-20 23:39:34 +02:00
Martin Haaß
f58f03dbfd
replaygain: albumpeak on large collections is calculated as average, not maximum (bug 3008)
2018-08-20 23:06:11 +02:00
L Maffeo
d4cecccdac
Renamed plugin, added comments and minor fixes.
2018-08-18 14:22:25 +02:00
L Maffeo
fc1592adbe
Renamed plugin, added default configuration and comments
2018-08-18 14:17:00 +02:00
Adrian Sampson
890ba85c79
Merge pull request #3004 from thetarkus/gmusic-additions-2
...
gmusic plugin fixes and additions
2018-08-15 12:03:13 -04:00
thetarkus
e824132137
Rename oauth_filepath to oauth_file, update gmusic doc
2018-08-15 11:42:04 -04:00
Adrian Sampson
cab6910866
Merge pull request #2718 from beetbox/fix-itunes
...
fetchart: Restore iTunes Store source
2018-08-15 10:34:07 -04:00
nath@dp7510
399bfb985e
fetchart: fix itunes debug info
...
Some typos + make it more useful overall
2018-08-15 13:56:39 +02:00
nath@dp7510
0107262ed3
fetchart: restore itunes art source
...
Reimplement minimalistic itunes scraper from scratch
2018-08-15 13:55:55 +02:00
thetarkus
abffb29a3f
gmusic plugin addition: add oauth_filepath option, better device_id
...
guessing
2018-08-14 23:30:54 -04:00
thetarkus
b7354fef23
gmusic plugin: only authenticate when needed
2018-08-14 22:35:10 -04:00
Adrian Sampson
69c8684302
Revise comment
2018-08-14 10:19:13 -04:00
Adrian Sampson
4242a6b202
Merge pull request #3003 from bemeurer/master
...
Parallelize absubmit
2018-08-14 10:18:46 -04:00
Adrian Sampson
86d353717a
Merge pull request #3002 from thetarkus/gmusic-additions-1
...
Add uploader_id, uploader_name, and device_id for gmusicapi auth in gmusic plugin
2018-08-14 09:17:45 -04:00
Bernardo Meurer
4eafa40ff2
Revert to sequential behavior for Python 2
2018-08-14 00:05:00 -03:00
Bernardo Meurer
0803ba74e2
Attempt at Python2 and 3 compatibility
2018-08-13 23:58:38 -03:00
Bernardo Meurer
a9f56db11e
Attempt to use ThreadPoolExecutor
2018-08-13 23:50:51 -03:00
Bernardo Meurer
31c95482d9
Fix imports
2018-08-13 23:23:41 -03:00
Bernardo Meurer
6c2daa061e
Moved from Pool to ThreadPool
2018-08-13 23:22:40 -03:00
Bernardo Meurer
22a6a0e6ef
Parallelized absubmit
2018-08-13 22:44:45 -03:00
Adrian Sampson
bac8faad78
Resolve W605: invalid escape sequence
...
This came up in lots of regexes that weren't using "raw" literals.
2018-08-13 10:41:01 -04:00
thetarkus
b1d5cc1485
Add uploader_id, uploader_name, and device_id for gmusicapi auth.
2018-08-13 02:52:16 -04:00
L Maffeo
67568b4f4c
Passed tox tests
2018-08-12 19:37:31 +02:00
L Maffeo
5617eef6c7
Added subsonic plugin
2018-08-12 17:48:53 +02:00
Scott Carlson
a605a1ba55
Fixing Flake8 spacing complaint
2018-08-09 21:28:35 -05:00
Scott Carlson
cfe8ed9c34
Gmusic fixes based on review and changelog addition
...
* Fixes based on review and changelog addition
2018-08-06 16:41:09 -05:00
Scott Carlson
ef4490087b
Fixing Flake8 line issues
2018-08-05 00:17:19 -05:00
Scott Carlson
61363c8cd9
Fixing user messages to be more explicit
2018-08-04 23:54:58 -05:00
Scott Carlson
4fc15d2b17
Adding auto to default configs
2018-08-04 23:49:59 -05:00
Scott Carlson
69b4c68b63
Adding autoupload method to upload on import
2018-08-04 21:58:29 -05:00
Ryan Veach
1505ff071d
changed flask cors import
2018-07-10 10:32:21 -05:00
Zsin Skri
ceabc72feb
lastgenre: remove unnecessary check
...
In _resolv_genres wo do not have to explicitly check if self.c14n_branches is
not empty. The tree will have been loaded when self.canonicalize is truthy. Also
if self.c14n_branches would be empty the canonicalization is a no-op anyway...
2018-07-01 09:15:05 +02:00
Zsin Skri
cef9a3311c
LastGenre: allow prefer_specific without canonical
...
This improves lastgenre's behaviour when the configuration option
`prefer_specific` is set but `canonical` is not.
Previously it would not set any tags. Now it does apply tags, sorted using the
canonicalization tree, but not canonicalized.
For this the default tree is loaded even when `canonical` is not set.
An extra check is added to only use it for canonicalization when `canonical` is
set.
2018-06-30 22:27:29 +02:00
Mike
1d32849daa
Add ability for play plugin to emit utf8 BOM
2018-06-08 23:26:48 -06:00
Adrian Sampson
7d607b4c5d
Merge pull request #2813 from autrimpo/issue2757
...
Use NullPaddedInt for R128 tags
2018-05-31 10:13:20 -04:00
Abra
3348a466f4
Make lyrics plugin group songs by 'albumartist' rather than 'artist'
...
when writing ReST
2018-05-14 11:18:34 +04:00
Bin Jin
69d6dfe097
mbsync: fix updating album with invalid first track MBID
...
MBID of recording could become invalid after merging. The existing
code always copies metadata from first track after updating. But for
albums with invalid track MBID that happens to be the first track,
MusicBrainz changes won't be applied to whole album, only whose
tracks with valid MBID. This is particularly annoying since those
changes are actually displayed for every `beet mbsync` run, but never
get applied.
Fix this issue by finding any track that get MusicBrainz updates, and
apply it to whole album.
2018-05-10 16:38:30 +08:00
Jérémie Detrey
3b03372502
mbsync: Use release-track-id to construct track mapping.
...
Fixes #1234 by following recording MBIDs changes.
2018-05-08 16:30:07 +02:00
rachmadaniHaryono
e90a547642
chg: dev: fix list item remove error
2018-05-03 09:46:03 +08:00
Dmitry Bogdanov
a840bc700b
Merge branch 'master' into discogs_original_year
2018-05-02 17:41:07 +02:00
Jérémie Detrey
9f4c5c8096
Do not rely on positional arguments for TrackInfo.
2018-04-30 18:37:27 +02:00
Adrian Sampson
f1d5c2f398
Fix #2537 : keyfinder uses imported_items()
2018-04-29 13:45:39 -04:00
Dmitry Bogdanov
6aba118e94
Fetch original_year from master releases for Discogs ( #1122 )
...
This adds an additional Discogs API call inside get_album_info().
Assume that original_year equals to year for releases without a
master release.
2018-04-29 18:18:15 +02:00
Dmitry Bogdanov
f9b6473893
Some more code style fixes
2018-04-28 19:03:32 +02:00
Dmitry Bogdanov
7ac2aff50c
Fix a few code style issues
2018-04-28 14:06:29 +02:00
Dmitry Bogdanov
0ea5882bc0
Better comments in code explaining Discogs track IDs ( #2336 )
2018-04-28 02:32:42 +02:00
Dmitry Bogdanov
09ee194142
Make Discogs medium indexing code easier to understand
2018-04-28 02:23:46 +02:00
Dmitry Bogdanov
48140f11e7
Use releasegroup_id to store master release IDs from Discogs
...
Master releases roughly correspond to MusicBrainz' release groups.
It will be usefull to store master IDs, for example to retrieve
original release dates (#1122 ).
2018-04-27 21:56:51 +02:00
Dmitry Bogdanov
2e422122b3
Invent our own track IDs for Discogs
...
Discogs does not provide track IDs. As a workaround, invent our own
IDs by combining release ID with original track position strings
returned by Discogs (#2336 ).
2018-04-27 20:30:35 +02:00
Dmitry Bogdanov
676536efa7
Fix incorrect indexing of two-sided mediums
...
Fix incorrect split of a tracklist by medium for the case of
two-sided mediums (#2887 ).
Following the discussion in #2887 , the 'medium_total' value should
contain the number of tracks on the medium to which each particular
track belongs, not the total number of different mediums present on
a release.
Fix unit tests accordingly.
2018-04-27 19:28:35 +02:00
Tobias Sauerwein
499b3867b2
Remove unused import.
2018-04-20 08:25:08 +02:00
Tobias Sauerwein
4748a68b6b
Remove exception handling.
2018-04-20 08:16:56 +02:00
cgtobi
7d45eabb25
Merge branch 'master' into sonos
2018-04-20 07:44:21 +02:00
Tobias Sauerwein
5e084b7186
Fix exception handling and add docs to the toc.
2018-04-20 07:39:12 +02:00
Tobias Sauerwein
c420f6bf99
Add sonos updater plugin.
2018-04-19 23:58:40 +02:00
Cédric Schieli
b9bac391a9
Really fix album replaygain calculation with gstreamer backend.
...
Fixes #2845
2018-03-19 21:09:35 +01:00
Waweic
06d4fe254d
Implement recommendations by sampsyo
...
Implemented all recommendations.
2018-03-06 17:49:20 +01:00
Waweic
3c3e579dcc
Make programming style pep8 compliant
2018-03-01 20:20:38 +01:00
Waweic
d0fd41b474
Add unicode support for Python 2 and 3
...
Converts bytes to unicode using util.text_string, assuming that the
string is a UTF-8 string.
If that fails, it falls back to a hardcoded fallback filename.
2018-03-01 19:45:44 +01:00
Waweic
4df313e3ce
Fix unicode problems in web plugin
...
Added Exception to the web plugin to catch non latin-1 characters and change them to ascii chars.
Added Description to the changelog file
2018-03-01 11:56:38 +01:00
Waweic
b94227a53d
Merge https://github.com/waweic/beets into patch-2
...
Catch up
2018-02-27 22:03:50 +01:00
Adrian Sampson
453fd372a3
Flatten a config view ( #2821 )
2018-02-26 18:00:59 -05:00
Adrian Sampson
3b49da0c52
Merge pull request #2821 from Konubinix/master
...
Add a support for supports_credentials
2018-02-26 17:59:57 -05:00
Samuel Loury
e3599742b4
Add a support for supports_credentials
...
If the web plugin is behind a credential based http server and is
accessed by another in-browser client in another domain, the
specification of CORS requires the server to indicate it supports
such credentials.
2018-02-26 21:08:02 +01:00
waweic
be96c1022a
Fix album_art() in __init__.py
...
flask.send_file() expects a string, g.lib.get_album() returns bytes. Added decode() to album_art().
If g.lib.get_album() gets a non-existing id, it returns None. Python would throw an error in this case. Added check to prevent this.
2018-02-26 18:33:30 +01:00
waweic
df83516086
Fix jumping time in beets.js
...
Round was used instead of floor
2018-02-26 17:01:06 +01:00
wisp3rwind
318f0c4d16
Advanced fetchart source config: pep8
2018-02-24 11:26:50 +01:00
wordofglass
e7a3e27ed9
Advanced fetchart source config: Actually use the new syntax
2018-02-24 11:26:50 +01:00
wordofglass
2c1e4d878b
Advanced fetchart source config: add the (still unused) match_by constructor argument
2018-02-24 11:26:50 +01:00
Adrian Sampson
f2733883ef
Merge branch 'master' of github.com:beetbox/beets
2018-02-23 18:19:11 -05:00
Adrian Sampson
a6be28a65e
Fix #2817 : drop in configuration was ignored
...
This was overridden by the default CLI option. Now the default for the
config option is None, meaning no change to the config.
2018-02-23 18:18:32 -05:00
David Logie
d6b6ebbeb9
mbcollection: Make sure missing albums are removed from collections correctly.
2018-02-23 12:34:33 +00:00
Michal Koutenský
d4625bced0
Have convert plugin run early in the pipeline
2018-02-19 10:46:06 +01:00
Michal Koutenský
8350ed6baf
Unique debug messages for R128 functions
2018-02-18 20:09:58 +01:00
Kovrinic
ace7fab4d8
PlexUpdate: token redacted
2018-01-31 00:49:55 -06:00
Adrian Sampson
3f2cefd985
Merge pull request #2601 from m42i/m42i/importadded
...
Fix #1918 : ValueError on trying to import
2018-01-30 22:55:28 -05:00
Adrian Sampson
224d782c2c
Fix #2771 : handle errors in genius lyrics source
2018-01-30 22:37:44 -05:00
Adrian Sampson
277d81b4d6
lyrics: Don't write ReST by default!
2018-01-30 22:33:32 -05:00
Adrian Sampson
e7417e3683
lyrics: Don't crash when BeautifulSoup isn't found
2018-01-30 22:31:15 -05:00
Adrian Sampson
b28e0b43ff
Merge pull request #2778 from ylep/replaygain-options
...
Add --force, --write and --nowrite options to replaygain plugin
2018-01-02 14:50:27 -05:00
Yann Leprince
d9bec61e98
Merge branch 'master' of https://github.com/beetbox/beets into replaygain-options
2018-01-02 12:35:27 +01:00
Yann Leprince
499cd378b7
fix the default write behaviour to the importer configuration
2018-01-02 12:11:47 +01:00
Yann Leprince
079e167b6b
Merge branch 'master' of https://github.com/beetbox/beets into fix-bs1170gain
2018-01-02 10:54:40 +01:00
Yann Leprince
3ef4b70439
Fix coding style
2017-12-31 14:51:14 +01:00
Yann Leprince
1f6335581e
Add --force, --write and --nowrite options to replaygain plugin
2017-12-31 12:00:02 +01:00
Yann Leprince
05775ccac6
Fix fragile parsing of bs1770gain output
...
bs1770gain is sorting the filenames internally, so in some corner cases it returns the results in a different order from the command-line arguments.
This patch uses the --xml option of bs1770gain (introduced in 0.4.6) in order to read the filenames reliably.
2017-12-31 11:27:42 +01:00
Vrihub
d0af7a7bd3
Merge branch '2738-filename-tracknumber' of https://github.com/Vrihub/beets into 2738-filename-tracknumber
2017-12-21 15:20:35 +01:00
Vrihub
4ee5f2ca88
Fix "line too long" Travis CI error
2017-12-21 15:18:25 +01:00
Vrihub
9cd7473c6b
Merge branch 'master' into 2738-filename-tracknumber
2017-12-21 15:02:09 +01:00
Vrihub
84cf3361ce
Refactored some regular expressions. Added changelog entry
...
Some more changes to the regular expressions in the "PATTERNS" list.
Also allow "_" as a separator, where only "-" was allowed.
Replaced similar regexps containing different combinations of \s, "-", "."
with a single regexp using a set of characters [\s.\-_].
2017-12-21 14:47:41 +01:00
Constantine Evans
dd2b44ef20
minor fixes and changelog entry
2017-12-11 13:31:40 -08:00
Vrihub
7132ad094b
First tentative fix for issue 2738.
...
Don't ignore anymore filenames such as "01.mp3", instead use the number
in the filename as track number.
2017-12-11 19:32:53 +01:00
Constantine Evans
c9b4e9b414
only use tiebreak if tiebreak includes an entry for the kind being considered, otherwise use default (eg, if only items is specified, and -a is being used, use default order of priority
2017-12-10 12:28:47 -08:00
Adrian Sampson
d932aa4f5c
Merge pull request #2750 from woparry/master
...
Add tags configuration to acousticbrainz plugin
2017-12-02 22:19:23 -05:00
Owen Parry
1f45ea00f4
use as_str_seq and fix line length
2017-12-02 11:31:31 -08:00
Aaron Jubbal
e24f732014
Changed dont_convert to no_convert.
2017-11-29 20:08:50 -08:00
Aaron Jubbal
0998d9f8ef
Added default value for dont_convert option, addressing crashes.
2017-11-29 17:53:50 -08:00
Aaron Jubbal
7265077e75
dont_convert option implemented.
...
Local testing indicates success.
2017-11-29 16:13:38 -08:00
Owen Parry
eaa84178f7
split long line
2017-11-27 09:11:53 -08:00
Owen Parry
325ae6f0ee
Add tags configuration to acousticbrainz plugin
2017-11-27 07:55:38 -08:00
Barry Broderick
530beb6312
removed whitespaces from empty line
2017-11-22 10:10:28 -05:00
Barry Broderick
a7818027ab
replaced the exception test in convert_field with an isinstance test
2017-11-20 23:09:36 -05:00
Barry Broderick
585d4ba89d
attempted fix for #2740
2017-11-20 09:56:40 -05:00
David Logie
c10e62f212
mbcollection: Fix default 'remove' value.
...
If the default is not None the value cannot be overriden by the user's
config.yaml.
2017-11-13 15:48:22 +00:00
test
842f6afd7f
Fix indentation
2017-11-10 14:04:16 +01:00
test
8544b3a830
Fix long line and add changelog entry
2017-11-10 13:46:26 +01:00
test
54297dbab4
Tentative fix for issue 2734: also check for RETAG
2017-11-05 12:04:40 +01:00
Adrian Sampson
14476e2f8a
scrub: Handle MutagenError ( fix #2716 )
...
In older versions of Mutagen, an IOError indicated things like
permissions errors. Now, a custom MutagenError is raised. Now we handle
both.
2017-10-20 14:49:53 -04:00
Adrian Sampson
d02bef1aec
Merge pull request #2709 from lmagno/master
...
Fetch lyrics from Genius through scraper
2017-10-09 18:50:58 -04:00
Lucas Magno
fc2d379fb5
Comply with PEP8
2017-10-09 06:22:42 -03:00
Lucas Magno
1b35a5df0d
Fetch lyrics from Genius through scraper
2017-10-08 09:13:51 -03:00
konman2
578143ae12
updated to pass pep8 checks
2017-10-07 21:28:33 -07:00
konman2
fdeef05cc9
clearart asks for permission before deleting embedded albumart
2017-10-07 20:42:01 -07:00
Adrian Sampson
114a2f8bd4
Merge pull request #2707 from gdtwst/mpdstats_edits
...
mpdstats: update stats when switching from song to stream and when playing a song consecutively
2017-10-07 09:06:51 -07:00
gdtwst
e5afc5e0b3
Remove whitespaces from empty line
2017-10-07 19:00:08 +07:00
Heinz Wiesinger
bd6645d135
Fix album replaygain calculation with gstreamer backend.
...
Fixes #2636
2017-10-04 20:22:01 +02:00
gdtwst
c2770a5f6b
Enable play counts for repeated plays of the same song.
2017-10-04 19:10:59 +07:00
gdtwst
eb338d208b
Register song changes when switching from song to stream URL
2017-10-04 16:35:22 +07:00
j000
5a82c7ead1
Remove whitespaces from empty line
2017-09-27 23:31:35 +02:00
j000
77e8f21094
[Play plugin]Respect relative paths when using albums
2017-09-26 03:20:00 +02:00
Jonas Wagner
114a6f80da
Fix the --key option in the duplicates plugin.
...
During a refactoring, the "dest='keys'" parameter was lost. This caused
the option to not have any effect.
2017-09-22 20:27:47 +02:00
David Logie
bed003f97b
Use the built-in method of overriding config with cli options.
2017-09-18 18:19:51 +01:00
David Logie
61b0246651
mbcollection: Add support from removing albums.
...
Add a new ``mbcollection.remove`` configuration option (default: None)
and a new ``-r`` (``--remove``) flag which removes albums from
collections that are no longer present in the beets database.
The ``-r`` flag takes precedence over the ``remove`` configuration
option.
2017-09-14 15:49:42 +01:00
zigarrre
b376139663
Refactored move functions for clarity according to #2682
...
The move functions in library.py and manipule_files in importer.py where
changed to use a single parameter for the file operation instead of
multiple boolean flags.
A typo in the documentation of the Album.move and Item.move functions
confusing True and False when describing the store parameter was fixed
as well.
2017-09-11 17:03:44 +02:00
David Logie
7db09c6aba
Silence pep8 warning.
2017-09-09 19:13:44 +01:00
David Logie
46f7ce78f1
mbcollection: Support specifiying collection ID.
2017-09-09 18:59:25 +01:00
euri10
25fb2453b4
Modified the name of the fetchart plugin switch from missing to quiet
2017-09-05 18:27:47 +02:00
euri10
b2fd274e2c
Added a missing switch to the fetchart command so that only missing albums
...
are displayed
2017-09-05 16:34:26 +02:00
Adrian Sampson
34246a00e7
Fix #2673 : JSON file encoding in absubmit
...
First, it's best to open the file as binary so the JSON module itself
can figure out how to decode it (it will just use UTF-8). Then, we can
use `load` instead of `loads` to avoid needing to read the file
explicitly ourselves.
2017-08-27 10:20:36 -04:00
Adrian Sampson
015aee3662
Fix #2671 : missing syspath on acoustid call
2017-08-26 11:18:27 -04:00
wordofglass
8833fef249
Merge pull request #2668 from wordofglass/edit_logic
...
Edit plugin logic: Regression from previous PR; incorrect diffs
2017-08-25 15:52:40 +02:00
wordofglass
7f12cc0c88
edit, Model.copy: documentation improvements
2017-08-25 15:47:07 +02:00
wordofglass
352d99cccd
edit: Do not deepcopy objects, finally fixes the regression from #2659
...
Deepcopying fails if a database is attached as Model._db since the
sqlite connection objects it contains are non-copyable
2017-08-24 15:03:18 +02:00
wordofglass
33f7e67943
edit: Fix a regression from #2659 when re-tagging albums
2017-08-24 13:40:50 +02:00
wordofglass
989845199b
edit: Correctly reset the old object, do not reload it from the tags
...
Previously, if continuing to edit (i.e. invoking the $EDITOR) multiple
times in one invocation of EditPlugin.edit_objects, the plugin would
reload the old state from the file tags. The initial 'old state' is
usually only loaded from the database, though. As a consequence, if
database and tags were not in sync, the diffs from first and all
subsequent edits could differ unexpectedly.
2017-08-24 13:40:35 +02:00
Adrian Sampson
d87c73efb3
Merge pull request #2662 from natezb/master
...
Fix kodiupdate URL and add better error reporting
2017-08-22 12:59:19 -04:00
wordofglass
df479d686d
Fix the edit plugin displaying bogus data or even crashing on re-imports
2017-08-21 00:32:03 +02:00
Nate Bogdanowicz
f5dbb7b0c5
Make error handling and logging more detailed
2017-08-20 14:51:03 -07:00
Nate Bogdanowicz
7eb9913391
Fix kodi url
2017-08-20 13:14:48 -07:00
Adrian Sampson
51961bbba2
gmusic: Use Unicode literals ( #2660 )
2017-08-20 13:03:40 -04:00
David Logie
f909f092fc
Fix importfeeds plugin on Python 3.
2017-08-12 16:45:13 +01:00
Adrian Sampson
c06eca7e58
Merge pull request #2634 from anarcat/musixmatch-block-detect
...
lyrics: detect MusixMatch blocking
2017-07-18 17:13:31 -04:00
Antoine Beaupré
5ef68783a8
strip trailing and leading extra dashes
...
those are introduced if non-word characters are found, and are ugly
2017-07-18 16:33:22 -04:00
Antoine Beaupré
b4b5473093
add pointer to slugify in slug
2017-07-18 16:14:10 -04:00
Antoine Beaupré
a8afabea80
move slug utility function to top-level
...
it's a generic utility function that can be reused, there's nothing
class-specific about it.
2017-07-18 16:12:48 -04:00
Antoine Beaupré
5e8d17a4fc
lyrics: detect MusixMatch blocking
...
we just look for the bad string in the HTML. this has the downside
that we may consider songs that have those exact lyrics (you never
know, really) may trigger this warning as well and we would fail to
fetch those songs.
we also fail if lyrics contain another magic string that seems to come
up when you do fill in the CAPTCHA after being blocked.
2017-07-17 12:21:55 -04:00
Antoine Beaupré
458f3636f4
compare artists based on the slug
...
this is necessary because otherwise artists with different string
representations but the same slug would overwrite one another
this outlines more clearly the code duplication between the rst code
and the slugify function, something which can be fixed later.
2017-07-17 11:59:14 -04:00
Antoine Beaupré
9c36a41ea8
slight refactoring: strip album only once
2017-07-17 11:50:15 -04:00
Antoine Beaupré
9894e8752b
ignore trailing/leading whitespace when comparing artists
2017-07-17 11:49:35 -04:00
Antoine Beaupré
36f84bfedd
add missing trailing newline after lyrics block
...
this would yield a warning for every song
2017-07-17 11:44:06 -04:00
Adrian Sampson
b303d5beb0
Slightly more complete sentences in comments
2017-07-17 10:59:04 -04:00
Antoine Beaupré
93966ed4ee
strip whitespace in titles
...
this would cause problems with songs that had trailing spaces with the
index directive
2017-07-17 09:00:22 -04:00
Antoine Beaupré
b6e42ee2e8
fix another unicode error
...
the unicode strings are not binary - rely on Python to do the right
thing here instead of encoding a string we know is already properly
encoded
2017-07-17 08:55:09 -04:00
Antoine Beaupré
6d58110bd2
move heredocs to top-level globals
2017-07-17 08:50:19 -04:00
Antoine Beaupré
7e0a48a46d
s/rest/rest/
2017-07-17 08:49:40 -04:00
Adrian Sampson
9de94378b9
An even shorter metavariable
2017-07-16 10:14:49 -04:00
Adrian Sampson
813cf97686
Better metavariable for lyrics --help output
2017-07-16 10:10:41 -04:00
Antoine Beaupré
5d8c15980e
fix flake8 warning
2017-07-15 16:24:07 -04:00
Antoine Beaupré
0bcd16f1ab
deal with encoding issues in python3
...
when we encode explicitly, we return bytes, so open files as binary
2017-07-15 16:21:41 -04:00
Antoine Beaupré
f667428758
write sphinx base files
...
we write the artists files in a subdirectory, to avoid infinite
recursions or flooding the current directory needlessly.
this way, the user has a good base structure and can just chain the
command into sphinx to continue building the next format, after
possible tweaks.
2017-07-15 15:43:16 -04:00
Antoine Beaupré
e6adb5e7da
cosmetic: do not use needless heredoc
2017-07-15 15:33:35 -04:00
Antoine Beaupré
91de8aac84
move rst writer to a different function
...
this simplifies and clarifies the code, although we need to call the writerst function twice to wrap up at the end of the loop
2017-07-15 15:33:35 -04:00
Antoine Beaupré
d330353e1c
rename the skip option to local
...
skip was a misnomer: we actually skip "unfetched" lyrics. this means
it's somewhat of a double-negative and really confusing.
--local is clearer, although less in opposition with --force
2017-07-15 14:19:25 -04:00
Antoine Beaupré
ac32ae574c
optimize: write only 3 times per file
...
this makes the code more readable and reduces the number of syscalls
to write files
2017-07-15 09:23:59 -04:00
Antoine Beaupré
469c03a7bf
deal properly with empty album titles
2017-07-15 09:23:59 -04:00
Antoine Beaupré
63aa3b3165
write to separate rst files
...
this makes the ePUB easier to parse by e-readers, because they do not
need to load one giant HTML file, but one per author. it also makes
sphinx rendering more efficient and interactive
2017-07-15 09:23:58 -04:00
Antoine Beaupré
0fbfa1feae
render RST instead of HTML
...
ReStructuredText has the advantage over HTML that it can be rendered
easily to multiple formats (HTML, ePUB, PDF) and it supports indexes.
the output needs to be fed into a file and integrated into an existing
Sphinx document, of course.
2017-07-14 17:34:55 -04:00
Antoine Beaupré
9f3e5b28b4
output lyrics in HTML, allow skipping
...
the idea here is to format the lyrics output a little better so that
it can (for example) be shown as a web page or an ebook.
the new skip option allows for faster generation of the output in the
(most common) case where not all lyrics are available.
2017-07-14 15:31:22 -04:00
Michal Koutenský
70a2ad354b
fixes issue #2615
2017-07-04 15:53:02 +02:00
masi
3bea876111
Fix #1918 : ValueError on trying to import
2017-06-17 23:20:46 +02:00
Adrian Sampson
f2b6801e6c
Merge pull request #2596 from aranc23/metasync-fixes
...
do not quote the value in xml, use quoteattr to add quotes as needed
2017-06-15 21:01:46 -04:00
Adrian Sampson
8ba0060f44
Wrap a long line
2017-06-15 20:46:54 -04:00
Adrian Sampson
009c6a4f6d
Slightly clearer layout for #2593 , and comments
2017-06-15 17:51:14 -04:00
Aran Cox
f36c70c754
do not quote the value in xml, use quoteattr to add quotes as needed
2017-06-15 09:00:59 -05:00
robot3498712
cafbb2438e
fixed failing test - line too long
2017-06-15 13:27:28 +02:00
robot3498712
bc8a8ecf5f
fix /issues/2592: web: Use Unicode paths to send files on Windows under Python 2
2017-06-15 12:49:00 +02:00
Adrian Sampson
ace5656e36
Complete set of __future__ imports
2017-06-14 19:08:27 -04:00
Adrian Sampson
1f2b8cef97
Tiny code and docs fixes for gmusic ( #2586 )
2017-06-14 19:05:38 -04:00
Adrian Sampson
4563e3b6dd
Merge pull request #2586 from tigranl/gmusic
...
Add Google Music plugin
2017-06-14 18:52:20 -04:00
Tigran Kostandyan
06f86c82e5
PEP8
2017-06-11 22:36:09 +03:00
Tigran Kostandyan
28ba733ebe
Add custom exception and mark fields as redacted.
...
Remove Musicmanager global variable.
Update gmusic.rst
2017-06-11 22:27:44 +03:00
Adrian Sampson
290162a7eb
Merge pull request #2294 from anshuman73/master
...
Fixed #2200 and a small typo
2017-06-10 20:50:50 -04:00
Adrian Sampson
15a7dfccff
Merge pull request #2583 from yacoob/master
...
Fix a lastgenre crash
2017-06-10 20:47:19 -04:00
tigranl
b1d8321e40
Add Google Music plugin
2017-06-05 16:48:23 +03:00
Jakub Turski
ee46a5150f
Don't crash if non-canonical genre and prefer_specific: yes.
...
Also, add a test for this.
2017-06-02 15:48:05 +01:00
Michal Koutenský
2685f13315
replaygain: support r128
2017-05-17 21:48:01 +02:00
Nathan Musoke
c5319274ca
IPFS plugin: Add note to check hashes carefully
...
In the future, just checking that a hash begins with "Qm" and has length
46 will likely not be sufficient.
2017-05-11 18:50:29 +12:00
Nathan Musoke
ca8c557840
bugfix: Python3ify the IPFS plugin
...
Paths were being constructed in a Python 3-incompatible way by concating
bytes and strings. Do this more carefully by encoding and decoding of
binary and strings.
2017-05-11 18:50:15 +12:00
Adrian Sampson
faf8be089b
Merge pull request #2549 from Kraymer/drop-lyrics-com
...
Drop lyrics.com backend
2017-05-04 09:34:48 -04:00
Adrian Sampson
b57c49d738
Add a period to a comment, simplify one expression
...
w.r.t. #2542
2017-05-04 09:29:27 -04:00
Adrian Sampson
908b8dca97
Merge pull request #2542 from ocelotsloth/2532-web-serializer-bytes
...
web: #2532 - Decode bytes values to strings
2017-05-04 09:20:38 -04:00
Fabrice Laporte
409f070970
Remove lyrics.com source
2017-05-03 22:54:09 +02:00
Mark Stenglein
22f07b91e9
web: __init__: _rep: Make the looping more pythonic
...
As suggested, changes around the for loop to make it a bit more
pythonic by using an if loop inside a normal for loop.
Signed-off-by: Mark Stenglein <mark@stengle.in>
2017-05-03 16:36:40 -04:00
Mark Stenglein
9394e0ac63
web: __init__: _rep: change to base64 encoding
...
As suggested, this commit adds base64 encoding for the bytes
encoding.
Signed-off-by: Mark Stenglein <mark@stengle.in>
2017-05-03 16:34:30 -04:00
Fabrice Laporte
fc6b65d592
Merge pull request #2538 from Kraymer/lyrics-test
...
Tests to track whether lyrics websites are correctly fetched
2017-05-03 20:02:03 +02:00
Mark Stenglein
471d46d67e
web: __init__: _rep: Filter all bytes for serializer
...
This commit fixes issue #2532 by filtering out any byte values
added by any other extensions and decoding them to strings for the
JSON serializer.
It does not remove any of the keys, instead opting to just convert
them.
Signed-off-by: Mark Stenglein <mark@stengle.in>
2017-05-03 00:03:05 -04:00
Fabrice Laporte
7dab9f339e
Restore beets module import
2017-05-02 23:48:20 +02:00
Fabrice Laporte
07af27e44b
Lyrics are last paragraph with class 'mxm-lyrics__content'
...
Remove ‘data-reactid’ from marker.
2017-05-02 23:40:25 +02:00
Fabrice Laporte
3e38a33c4a
Fix PEP8
2017-05-02 23:37:20 +02:00
Fabrice Laporte
11eb90c758
Fix PEP8
2017-05-02 07:46:51 +02:00
Fabrice Laporte
3e3ad6974c
Fix PEP8
2017-05-02 07:30:40 +02:00
Fabrice Laporte
a165d6c00b
Fix MusiXmatch text extraction markers
2017-05-01 23:40:09 +02:00
Fabrice Laporte
2bf58a61c3
Decode string with Unicode escape
2017-04-30 23:14:23 +02:00
wordofglass
bb5629ea1d
Remove untyped except statements
2017-04-29 00:05:20 +02:00
Jakub Wilk
95a868bb50
Don't hardcode errno constant
...
The value of ENOENT is architecture-dependent, so don't assume
it's always 2.
2017-04-23 23:28:32 +02:00
Adrian Sampson
fae8fcc932
ftintitle: Clarify indexing
...
This can only be a two-element array, so just use the index 1. This matches
better with the comments, that say "right-hand side" instead of "the last
value in the list."
2017-04-19 19:08:15 -04:00
Adrian Sampson
9d42728f7f
ftintitle: Clarify control flow
...
Assigning to this variable made it hard to tell what the function was actually
returning.
2017-04-19 19:07:29 -04:00
Adrian Sampson
78f19db511
Merge pull request #2521 from tweitzel/master
...
add --yes argument to play command
2017-04-19 18:59:50 -04:00
xarph
02aa6191c1
rename --force to --yes in play plugin
...
fix some pep8 goo
2017-04-19 10:51:44 -07:00
xarph
ffcaf33845
add -f argument to play command
2017-04-18 15:30:24 -07:00
Adrian Sampson
a2eb6fae0b
Merge pull request #2518 from jwilk/re.sub
...
Fix misuse of flags in re.sub() calls
2017-04-15 12:00:09 -04:00
Jakub Wilk
d3664ad5db
Fix misuse of flags in re.sub() calls
...
The 4th argument of re.sub() is maximum number of substitutions,
not flags.
2017-04-15 14:44:19 +02:00
Adrian Sampson
c7801d4cc0
Attempted fix for #2515 (convert on Windows)
...
On Python 3, this tries to pass through the Unicode filename representation
for paths to the Windows API.
2017-04-14 09:31:30 -04:00
nath@home
920784a42d
Play: handle plural in warning output
2017-03-23 22:46:23 +01:00
Jan Solanti
7cf7bc5ff6
Change default aac encoder to FFmpeg's native one
...
FFmpeg's native aac encoder was declared stable in 3.0 (Feb 15. 2016).
Support for libfaac was removed some time later:
http://git.videolan.org/?p=ffmpeg.git;a=commit;h=dc0f711459e0c682bf9f94ba38d26736e90cff45
2017-03-20 22:15:17 +02:00
Olivier Biesmans
cf384109f0
Make falke8 happy and reference flask doc for the ReverseProxied class
2017-03-19 21:16:26 +00:00
Olivier Biesmans
aa847e52ac
Add reverse proxy support
2017-03-19 20:08:39 +00:00
Adrian Sampson
620710b3d7
Merge pull request #2481 from qlyoung/missing-albums
...
Add ability for 'missing' plugin to show missing albums by library artists
2017-03-18 19:34:28 -04:00
Quentin Young
bf87cab1d8
beetsplug: implement missing -a -t
...
Produces a count of missing albums without listing them
Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
2017-03-18 19:05:46 -04:00
Quentin Young
b013abae6b
beetsplug: cleanup for 'missing -a' code
...
* Use full name for musicbrainzngs import
* Use beets internal logging facilities
* Match releases by release id
* Convert some strings to Unicode
* Remove unnecessary MB rate-limiting
* Remove unnecessary imports
* Follow beets convention for `--album` option
* Follow beets convention for imperative docstrings
* Simplify method signatures
* Use defaultdict(list) where appropriate
* Clarify missing MBID log message
Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
2017-03-18 18:58:41 -04:00
Quentin Young
339a1ef671
beetsplug: add '-a' to show missing albums to 'missing' plugin
...
Passing -a to 'beet missing' shows albums missing by all artists
in the library.
Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
2017-03-18 17:52:01 -04:00
inytar
71aab6d743
Remove check for supported formats in absubmit
...
Also lower the logging to warning if the extractor fails
to analyse a file
2017-03-16 11:26:54 -04:00
inytar
aab84413ec
Merge remote-tracking branch 'upstream/master'
2017-03-16 11:08:17 -04:00
Adrian Sampson
5ed2798a76
Merge pull request #2422 from Stunner/master
...
Embedart plugin asks for confirmation before making changes to item’s…
2017-03-12 11:34:36 -04:00
Adrian Sampson
2dcc3cd4b2
Merge pull request #2468 from beetbox/smartplaylist-multi
...
smartplaylist: Support overlapping playlist defs
2017-03-07 22:55:36 -05:00
Adrian Sampson
74df2788c0
Merge branch 'master' into Stunner-master
2017-03-06 23:51:10 -05:00
Adrian Sampson
8ce7b49ed8
Default to confirm
2017-03-06 23:45:29 -05:00
Adrian Sampson
f0f55d11ec
Rename _confirmation to _confirm
2017-03-06 23:43:24 -05:00
Adrian Sampson
f985970b25
Simplify scope of _confirmation and formatting
2017-03-06 23:42:20 -05:00
Adrian Sampson
3a436bb33d
Remove explicit format
...
We now use the default formats from the configuration.
2017-03-06 23:38:16 -05:00
Adrian Sampson
eddbab63bd
Remove extraneous blank line
2017-03-06 23:37:33 -05:00
Adrian Sampson
430595825f
Rename parameter to be more sensible
...
We don't just take items; they're either items or albums.
2017-03-06 23:37:04 -05:00
Adrian Sampson
c8499eb56d
_confirmation does not need to be a closure
2017-03-06 23:34:53 -05:00
Adrian Sampson
1fbbcf65fd
Fix some confusing indentation
2017-03-06 23:29:09 -05:00
Adrian Sampson
ad4cd7a447
Fix #2469 : Beatport track limit
...
It looks like the API uses pagination, and the default page size is 10. An
easy fix is to just request lots of tracks per page (here, 100). A nicer thing
to do in the future would be to actually traverse multiple pages.
2017-03-06 22:58:00 -05:00
Adrian Sampson
8d14e1b6df
smartplaylist: Support overlapping playlist defs
...
See http://discourse.beets.io/t/beets-path-handling-for-delimited-fields/44
2017-03-06 19:07:06 -05:00
Adrian Sampson
d356356111
Fix #2466 : GIO returns bytes, so decode them
2017-03-03 11:59:50 -06:00
Adrian Sampson
6300d0c5a0
Merge pull request #2411 from Pauligrinder/patch-2
...
Add a plugin to update a Kodi music library
2017-03-03 10:01:00 -06:00
Pauligrinder
659c17f825
Code fixed according to flake8
2017-03-01 11:11:54 +02:00
Pauligrinder
f315a17bb2
Added the copyright header
...
Also added config['kodi']['pwd'].redact = True as suggested.
2017-03-01 10:39:40 +02:00
Teh Awesomer
1305c9407f
mbsubmit plugin : numeric sort in print_tracks (for >=10 track releases)
2017-02-25 12:01:34 -08:00
Adrian Sampson
77a6b0edf8
duplicates: Fix 2nd bug in #2444 about path types
2017-02-21 22:00:31 -05:00
Adrian Sampson
74c0e0d6e9
Fix default for user_token
...
Always match the expected type.
2017-02-21 13:56:20 -05:00
Adrian Sampson
a29b29f533
Docs improvements for #2447
2017-02-21 09:49:22 -05:00
Adrian Sampson
1373c0c7b8
Merge pull request #2447 from robbat2/discogs-simpleauth
...
discogs: support simple auth.
2017-02-21 09:47:15 -05:00
Aaron Jubbal
864aa11ec5
Merge branch 'master' into master
2017-02-21 04:43:45 -08:00
Robin H. Johnson
3e4c9b8c06
discogs: support simple auth.
...
The official OAuth authentication seems to have broken, so allow usage
of simple configuration instead.
See-Also: https://github.com/discogs/discogs_client/issues/78
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2017-02-20 20:20:20 -08:00
Jacob Gillespie
b4efecb709
Add option to hardlink when importing
2017-02-19 15:56:13 -06:00
Adrian Sampson
0a4709f7ef
lyrics: Tolerate empty Google response ( #2437 )
2017-02-13 16:54:56 -05:00
Aaron
733c1839fb
Addressed coding style issue.
2017-02-13 02:56:54 -08:00
Aaron
3e13971c54
Some code cleanup/consolidation.
2017-02-13 02:30:01 -08:00
Aaron
d1ac893915
Style changes to pass PEP8 tests.
2017-02-13 01:58:31 -08:00
Aaron
3361aaafda
Embedart plugin asks for confirmation before making changes to item’s artwork.
2017-02-13 01:58:31 -08:00
Adrian Sampson
8087e82891
lyrics: Use Requests for Google backend ( fix #2437 )
2017-02-12 10:30:22 -05:00
Adrian Sampson
86c8cffa6c
Fix some whitespace ( #2433 )
2017-02-11 19:24:47 -05:00
Adrian Sampson
e2b9a3fca6
Merge pull request #2433 from karpinski/badfiles-checkers
...
badfiles: continue execution to other files instead of stopping after a checker error
2017-02-11 19:22:15 -05:00
Marcin Karpinski
8ef9f68843
badfiles: only output corrupt files by default
...
badfiles now only outputs corrupt files by default — to get full output enable verbose mode using -v or --verbose
2017-02-10 21:51:23 +00:00
karpinski
b46fb956b7
Making logging level consistent when checker is not found.
2017-02-10 12:49:16 +01:00
karpinski
291803d49a
Fixing a small typo.
2017-02-10 12:49:16 +01:00
karpinski
ffca8f549f
Allowing the execution to continue to other files if validator is not found or exits with an error.
2017-02-10 12:49:16 +01:00
Adrian Sampson
0216ef294a
badfiles: Python 3 compatibility
...
Discovered while working on #2428 that we were using an implicit bytes-to-str
conversion on the extension. This broke dict lookup on Python 3.
2017-02-04 13:43:23 -06:00
Adrian Sampson
0131ce263d
badfiles: Better logging and error handling ( #2428 )
2017-02-04 13:42:24 -06:00
Jeffrey Aylesworth
8638157e17
Change license and email address in mbcollection plugin.
2017-01-30 23:37:01 -05:00
wordofglass
bc582701ff
fetchart: Internally pass settings in a cleaner way.
...
Dump the 'extra' dictionary which only duplicated attributes of the
plugin onject in favor of passing a reference to the plugin directly.
2017-01-25 00:01:05 +01:00
Artem Utin
40eef2056c
Add changelog entry, wrap long comment lines.
2017-01-24 11:41:55 +10:00
Artem Utin
2ab1f3ae89
More general approach to multiple on_play calls for the same song - now it ignores such calls, if time between calls was below threshold
2017-01-23 23:15:14 +10:00
Pauligrinder
ca8832809d
Removed a couple of unnecessary imports
...
json and requests.BasicAuthentication
2017-01-23 13:14:36 +02:00
Pauligrinder
77d155cdea
Add a plugin to update a Kodi music library
...
I created one for an older version before, but it didn't work since the change to Python 3. So I created a new one that works.
2017-01-23 12:43:40 +02:00
Adrian Sampson
44963598e8
Remove unused import
2017-01-21 23:32:36 -08:00
Adrian Sampson
ca904a9d0c
mpdstats: Fix Python 3 compatibility ( fix #2405 )
...
We previously needed a hack to get the client to consume and produce Unicode strings. The library has since added Unicode support, behind a constructor flag. We can remove the hack now, which was causing a crash on Python 3 because the library uses Unicode by default there, and instead use its built-in support.
2017-01-21 23:21:11 -08:00
Adrian Sampson
958ad430fc
bpd: Use integers for time values (fix 2394)
2017-01-17 11:37:10 -08:00
Steve Johnson
926dce241c
Use util.displayable_path instead of naive .decode()
2017-01-15 11:25:03 -08:00
Steve Johnson
e3707e45f3
Maybe fix code and tests for Windows
2017-01-15 11:21:59 -08:00
Steve Johnson
e2be6ba781
Query path with bytestring. Might fix tests.
2017-01-15 11:21:59 -08:00
Steve Johnson
4434569ddc
beets.library.Library adds custom bytelower function to all connections, not just one
2017-01-15 11:21:59 -08:00
Steve Johnson
866a650bc0
Rename /item/by_path to /item/path and use PathQuery instead of direct file access
2017-01-15 11:21:33 -08:00
Steve Johnson
05bc4996a8
Rename and invert new config option
2017-01-15 11:21:33 -08:00
Steve Johnson
50ea74635b
Fix tests I broke
2017-01-15 11:21:33 -08:00
Steve Johnson
f6cb46d490
Fix broken tests (no new ones yet)
2017-01-15 11:21:33 -08:00
Steve Johnson
43936cd84c
/item/at_path/ endpoint
...
More at_path
/item/by_path docs
2017-01-15 11:21:33 -08:00
Steve Johnson
29d61ca634
web.exclude_paths_from_items option
...
More exclude_paths_from_items
2017-01-15 11:21:33 -08:00
Mike Cameron
c58c49d77f
Fixed trailing whitespace issue. Changed alternate track property name.
2017-01-10 18:39:01 -05:00
Mike Cameron
24b02e8215
Merge remote-tracking branch 'upstream/master'
2017-01-10 17:33:45 -05:00
Adrian Sampson
998e6ac1c7
Remove unused import
2017-01-10 14:54:17 -05:00
Adrian Sampson
bc93a11141
Fix #2382 : replaygain backend parsing on Python 3
2017-01-10 14:45:57 -05:00
Adrian Sampson
153b01e5a6
replaygain: Don't muck with logging level
...
This is now handled by the central logging infrastructure; no need to change
it here. I think this must be a leftover from the era when plugins had to
explicitly muck with their verbosity level, but even still it doesn't make
sense to do set the level to INFO unconditionally...
2017-01-10 14:24:18 -05:00
Adrian Sampson
2706339a83
Fix #2381 : mpdupdate on Python 3
...
Communicate bytes over the socket, obvi.
2017-01-10 12:22:30 -05:00
Adrian Sampson
0b5b20d799
Robust import of distutils submodule ( fix #2376 )
...
This would fail if the `spawn` module in the `distutils` package was not
already imported somewhere else.
2017-01-07 17:15:13 -05:00
Adrian Sampson
6b9d766082
Remove compatibility with misspelled config option
...
This has been hanging around long enough; it's about time to drop the old
name.
2017-01-07 17:09:51 -05:00
Adrian Sampson
c9ec5e411c
A little fiddling with embyupdate
...
Clean up some wording w/r/t efbd58cd55 .
2017-01-07 17:07:01 -05:00
Adrian Sampson
ffa22d6ce1
Merge pull request #2360 from diomekes/importer-play
...
play: Add prompt choice to importer
2017-01-07 17:02:22 -05:00
diomekes
8d613425fd
small docstring rewrite
2017-01-06 23:46:16 -05:00
Marvin Steadfast
efbd58cd55
embyupdate: fix bug that config for password and api is needed
...
even if it only used api key it needed the password key. this is fixed
now.
2017-01-06 11:52:53 +01:00
diomekes
8d97257647
use shlex_split, clean up code and docs
2017-01-03 22:10:35 -05:00
Adrian Sampson
d389ac15e1
Use HTTPS for MS translator API (from #2247 )
2017-01-02 21:00:01 -05:00
Adrian Sampson
fbc0f322f6
Merge branch 'tigranl-https_fix'
2017-01-02 20:54:17 -05:00
Adrian Sampson
f941fd42de
Always use SSL on servers that don't require SNI
...
I did a little audit using the `openssl` command-line tool to find the servers
that don't require SNI. Here's what I found:
icbrainz.org: SNI
images.weserv.nl: inconclusive, but docs say yes SNI
coverartarchive.org: SNI
webservice.fanart.tv: *no* SNI
dbpedia.org: *no* SNI
en.wikipedia.org: *no* SNI
ws.audioscrobbler.com: *no* SNI
api.microsofttranslator.com: *no* SNI
In summary, *only* MusicBrainz and CoverArtArchive were found to require SNI.
So I'm using SSL unconditionally on all the other sites.
2017-01-02 20:39:10 -05:00
inytar
a5aee3f677
Absubmit close temporary file
...
Fix error when deleting the file under Windows
2017-01-02 14:05:59 -05:00
inytar
0975ee709b
Absubmit fix failing to load distutils.spawn
2017-01-02 14:05:17 -05:00
Adrian Sampson
f621d7f4f1
Merge pull request #1992 from jackwilsdon/add-write-bpm
...
Add write option to bpm plugin
2017-01-01 23:09:41 -05:00
Mike Cameron
8a00791ecc
Oops. Forgot to actually stage the correct file.
2017-01-01 04:52:32 -05:00
Adrian Sampson
4c1b8c2935
Merge pull request #2342 from inytar/master
...
Implement the basic AcousticBrainz Submit plugin
2017-01-01 00:45:24 -05:00
inytar
b57b3f761e
Add header to the absubmit plugin
2016-12-31 18:27:27 -05:00
inytar
cfe9c0f3d4
Remove fixed TODO comment
2016-12-31 14:11:55 -05:00
Tigran Kostandyan
1c5c74f1d7
Fix a typo
2016-12-31 18:46:01 +03:00
diomekes
ab4246c5db
add prompt choice to play items before import
...
fix line number
add comments
2016-12-30 23:51:20 -05:00
Adrian Sampson
8bb24e3134
lyrics: Set User-Agent header ( fix #2357 )
2016-12-30 10:55:24 -05:00
Diego M. Rodriguez
3f36f67940
discogs: tweak pruning of empty candidate albums
2016-12-30 11:39:19 +01:00
Diego M. Rodriguez
37cb1c295f
Merge remote-tracking branch 'upstream/master' into discogs-relax-assumptions
...
Conflicts:
docs/changelog.rst
test/test_discogs.py
2016-12-30 10:42:50 +01:00
Diego M. Rodriguez
5f83f8db1f
Merge remote-tracking branch 'upstream/master' into discogs-subtrack-handling
...
Conflicts:
docs/changelog.rst
2016-12-30 10:20:58 +01:00
Diego M. Rodriguez
072e6de3ae
discogs: add changelog for #2318 , fix typo
2016-12-30 10:17:53 +01:00
Adrian Sampson
1e215aedef
Merge branch 'master' of github.com:beetbox/beets
2016-12-29 13:31:00 -05:00
Adrian Sampson
ac41b6d6e5
Fix #2339 : scrub resets art type
...
We now use the richer `images` field instead of the more basic `art` field.
2016-12-29 13:30:17 -05:00
Diego M. Rodriguez
0a9cb1fd3d
discogs: revise subtrack merging based on subindex
...
Modify the coalescing of subtracks by taking into account the subindices
of the subtracks for deciding if they represent "logical" tracks
(merging them into one single track, as previously) or if they represent
physical tracks (treating them as individual tracks).
Add unit tests for nested logical/physical subtracks, and disc titles.
2016-12-29 18:03:54 +01:00
Diego M. Rodriguez
4364757fcc
Merge remote-tracking branch 'upstream/master' into discogs-relax-assumptions
...
Conflicts:
docs/changelog.rst
2016-12-29 13:27:06 +01:00
Diego M. Rodriguez
30f238151e
discogs: additional sanity checks parsing release
...
Add extra checks for the presence of specific field (artists, title,
id, tracklist) when parsing a Release from discogs, failing gracefully
if the fields could not be found.
Add a test for releases without required fields.
2016-12-29 13:19:01 +01:00
dopefishh
8bb703619f
use util.py3_path for web attachment filenames ( #2353 )
...
Web attachment filenames must be passed as a string for Python 3
2016-12-29 05:38:27 -05:00
Adrian Sampson
413666a825
Fix #2351 : crash in scrub on MediaFile errors
2016-12-28 16:36:51 -05:00
Diego M. Rodriguez
02666424d4
discogs: improve robustness when parsing an album
...
Improve the robustness of `get_album_info()` by preferring the use of
`get()` over accesing the dictionary keys directly for several fields,
plus adding extra checks for fields that depend on nested containers on
the Release data.
Add a test for parsing a release that contains a minimal amount of
fields.
2016-12-28 21:07:18 +01:00
Adrian Sampson
a414872430
Fix a missing parameter ( #2349 )
2016-12-28 13:36:19 -05:00
Adrian Sampson
8a62087376
Documentation tweaks for #2349
2016-12-28 12:03:57 -05:00
Adrian Sampson
2a3f3d9bfa
acousticbrainz: Make some strings into comments
...
When not in the docstring position, it's better to use "real" comments instead
of string literals.
2016-12-28 12:01:08 -05:00
Adrian Sampson
c27879edbc
Slight code formatting tweaks for #2349
2016-12-28 11:59:14 -05:00
Adrian Sampson
9db79835d6
Merge pull request #2349 from SusannaMaria/#2347
...
#2347 : First hack of ignoring already tagged items
2016-12-28 11:55:21 -05:00
Susanna Maria Hepp
7e1e31bddd
E128: continuation line under-indented for visual indent?
2016-12-28 15:30:57 +01:00
Susanna Maria Hepp
165f2e189e
Repair findings from Travis CI
2016-12-28 15:11:03 +01:00
Susanna Maria Hepp
00371de0bb
Changes suggested by @sampsyo
2016-12-27 21:56:39 +01:00
Susanna Maria Hepp
c632949b64
Changes suggested by @Kraymer
2016-12-27 21:48:06 +01:00
nath@home
8e29a3ffcb
Zero: Last minute unimportant fixes:
...
*Remove the artifact of a debug log.
*Remove meaningless version number.
*Rephrase some docstrings.
*Remove tautological comments.
2016-12-27 19:13:29 +01:00
Susanna Maria Hepp
bbaad2f17d
Introduce force option in acousticbrainz
2016-12-27 13:22:16 +01:00
Susanna Maria Hepp
f93ee3accc
First hack of ignoring already tagged items
2016-12-26 23:54:24 +01:00
Adrian Sampson
a92323945e
Merge pull request #2329 from SJoshBrown/master
...
Add manually triggered mode for zero plugin
2016-12-26 17:29:17 -05:00
Adrian Sampson
641e62f2e0
Vastly simplify main random function
...
This is the payoff from the earlier refactorings: the control flow is now
consistent and clear, and the two factors (time vs. number, equal-chance or
not) are orthogonal. See also #2322 .
2016-12-26 17:04:21 -05:00
Adrian Sampson
33eb4ff91b
Refactor time-based selection ( #2322 )
2016-12-26 17:01:02 -05:00
Adrian Sampson
d053f98e81
random: Refactor equal chance logic
2016-12-26 16:43:47 -05:00
Adrian Sampson
5bbf16c2b1
Refactor length calculation ( #2322 )
...
Also, avoid setting an unnecessary field on the album objects. :/
2016-12-26 16:32:03 -05:00
Adrian Sampson
4c2457d6ce
Refactor random plugin a bit
...
Separate the callback function from the random selection logic.
2016-12-26 16:27:31 -05:00
inytar
146516704f
Update comments for clarification
2016-12-26 16:11:48 -05:00
Adrian Sampson
9adfcbddd1
Merge pull request #2322 from diomekes/random-timelimit
...
random: add --time option, update docs
2016-12-26 16:08:14 -05:00
inytar
b86187089b
Update errors and logging of ABSubmit plugin
...
A UserError is now raised if the plugin can be started.
If an item fails to be analyzed or be submited an error is logged and
the next item is tried.
2016-12-26 16:05:10 -05:00
Josh Brown
b6577b4226
refactor long line for PEP8
2016-12-26 14:42:10 -06:00
Josh Brown
7833469261
add confirmation for empty query
2016-12-26 14:13:01 -06:00
Josh Brown
2903925e2f
Rewrite zero plugin manual mode
2016-12-26 13:34:34 -06:00
nathdwek@laptop
96d331ace0
Zero: cleanup plugin
2016-12-24 19:13:10 +01:00
inytar
f61aa7a016
Move extractor sha calculation to pluging init.
2016-12-23 17:48:29 -05:00
inytar
fd3ff917d2
Implement the basic AcousticBrainz Submit plugin
2016-12-23 17:27:46 -05:00
Adrian Sampson
a063336446
Fix #2332 : Unicode trouble in bpd
2016-12-20 15:16:46 -05:00
diomekes
1bc5456986
random: make --album work with --time
2016-12-17 17:24:58 -05:00
Kier Davis
eb85ff422b
convert plugin: fix braces in filenames causing tracebacks in "pretend" mode
...
Previously "pretend" mode (a.k.a. dry run mode) passed the command to be
printed directly to _log.info, whose first argument is technically a
format string. Thus the command string was parsed for replacement fields, such
as '{foo}', which could cause the format evaluation to fail if the filenames
contained in the command contained valid (or partially valid) replacement fields.
This fix simply inserts an argument '{0}' to the call to _log.info, which is a
format string that simply evaluates to the second argument to _log.info (the
command string). By doing this, the command string is not parsed for replacement
fields.
2016-12-16 00:21:35 +00:00
diomekes
fc8411f3b8
random: add --time option, update docs
2016-12-15 16:15:38 -05:00
tigranl
dd115b1310
Add ui import
2016-12-11 00:35:51 +03:00
tigranl
5ca664e4aa
Fix typos
2016-12-11 00:25:37 +03:00
tigranl
471f875dc1
Fix typo
2016-12-10 21:26:51 +03:00
tigranl
68b4a03ecd
Add tests for https
2016-12-10 19:54:44 +03:00
Johnny Robeson
bca6d2af01
Remove requests/urllib3 logging override in discogs
...
Discog plugin overrides the global logging for `requests` for a reason
that seems no longer valid.
I can't seem to reproduce the logging behavior mentioned in the
preceding comment, so I'm removing it.
If we do want to modify `requests` logging in the future, then we should
hook it into beets verbose logging.
2016-12-09 00:52:24 -05:00
tigranl
b65a7da8e2
Add SNI_SUPPORTED
2016-12-08 19:20:18 +03:00
tigranl
21208b8c39
Add SNI_SUPPORTED
2016-12-08 19:09:15 +03:00
tigranl
efa90416a0
Add SNI_SUPPORTED
...
Add SNI_SUPPORTED
2016-12-06 19:51:15 +03:00
tigranl
d065b33a81
Add SNI_SUPPORTED variable for https check
2016-12-06 18:42:01 +03:00
tigranl
73a7a4ff67
Add SNI_SUPPORTED variable for https check
2016-12-06 18:38:26 +03:00
tigranl
0fb19cfa10
Merge branch 'master' of github.com:beetbox/beets into https_fix
2016-12-06 16:20:54 +03:00
tigranl
6ba5099034
Python version check for lyrics.py
2016-12-06 16:17:25 +03:00
Adrian Sampson
991c9936fd
Fix #2299 : non-Unicode logging in badfiles
2016-12-03 11:20:06 -05:00
anshuman73
430369062b
Fixed a small typo
2016-11-29 00:28:38 +05:30
nath@home
147ced9eaa
acousticbrainz: latest adjustments
...
* Readability and consistency
* Better logging: warn by default for attributes that were not found,
but don't drown user with info when everything is going well.
2016-11-20 22:45:07 +01:00
nathdwek@laptop
eb1ea6177d
acousticbrainz: drop DefaultList, be explicitly careful
...
* I don't see DefaultList be really helpful in many other cases, so having
a beets.util.collections module (which could also conflict with the collections
module from standard library) with only that in it is a little silly.
* It was elegant and concise, but there are implementation issues: it is not
recommended to subclass builtin types, but the alternatives differ between python
2 and 3 (subclass sequence or container or collections.abc?), moreover,
interpreters can differ in the way they map syntaxic sugar to magic functions.
* Also, slicing and negative indexing could do weird things, so the class wouldn't
be really intuitive and simple at the same time
2016-11-20 22:03:41 +01:00
nathdwek@laptop
1d972b9907
acousticbrainz: rewrite _map_dict_to_scheme:
...
* Less lazy names
* Separate root function from childs more naturally
* Actually use defaultdict
2016-11-20 22:03:41 +01:00
nathdwek@laptop
324c67191d
acousticbrainz: log fetched attributes and values as info
2016-11-20 22:03:41 +01:00
nathdwek@laptop
3979619f9f
acousticbrainz: remove redundant comments
2016-11-20 22:03:41 +01:00
nath@home
7a676400dc
acousticbrainz: Refactor the json handling part
2016-11-20 22:03:41 +01:00
nath@home
1963b52903
acousticbrainz: Initial cleanup
2016-11-20 22:03:41 +01:00
Adrian Sampson
62e9a15f4d
Fix a copy n' paste error found by flake8
2016-11-16 12:03:07 -05:00
nath@home
2e78628507
convert: Don't ask for confirmation if query result is empty
2016-11-13 17:46:29 +01:00
nath@home
d53b677e0f
convert: initial cleanup of convert_func
...
Get cli options and configuration in a more readable, uniform way
2016-11-13 00:20:01 +01:00
michaelbub
0a88338f8b
obey style guide
2016-11-11 16:23:32 +01:00
michaelbub
0bdc621d99
sanitizing playlist name AFTER values have been filled in and updated test accordingly
2016-11-11 15:21:34 +01:00
michaelbub
5942adba01
fixed/updated test to consider sanitized playlist names
2016-11-11 10:07:25 +01:00
michaelbub
3e53d4caff
sanitize playlist names
...
Make e. g.
- name: $albumartist/$year-$album.m3u'
work when album data includes non fs-friendly characters
2016-11-10 13:05:18 +01:00
root
f37df2dbd4
Whitespace for flake8.
2016-11-08 16:56:13 -08:00
root
acd5c6404f
missing plugin, modify "missing" attribute by modifying album_types,
...
making it of type INTEGER. also changelog for above.
2016-11-08 16:23:57 -08:00
nathdwek@laptop
a0877dc092
images: Make sure all jpegs work everywhere
...
Apply #1545 to a public function used everywhere
2016-11-08 18:48:44 +01:00
Max Ammann
7242c5ed03
Revert "Expose the relative path to the library instead of omitting the 'path' variable"
...
This reverts commit 5e8ac9e4a5 , because of
a slowdown. Resolves #2182 .
2016-10-26 23:08:44 +02:00
kooimens
373cf19f8b
Fix discogs disc field is set to zero
...
Fixes #587 . The disc field is only zero when there is only one medium, so I think this will do the trick. I wasn't able to reproduce the real problem within the code. This is just a small workaround.
2016-10-17 19:51:03 +02:00
Diego Moreda
1f4bef9e61
discogs: docstring style fix
2016-10-10 20:30:21 +02:00
Diego Moreda
f4907ca5d0
discogs: handle nested subtracks, add try block
...
Modify coalesce_tracks() in order to handle the case where subtracks
are defined inside an index track (as `sub_tracks` attribute),
reorganizing the if logic to avoid duplicated code.
Add a try..catch block enclosing the call to clean_tracklist, as a
measure for avoiding side effects (and reverting to just parsing the
raw_list if there are any problems).
2016-10-10 19:59:42 +02:00
Diego Moreda
fb398c5f2c
discogs: add medium_total to tracks ( #415 )
2016-10-10 17:46:41 +02:00
Diego Moreda
1148acaaf1
discogs: revise position regexp, add tests, tox
...
Revise the regular expression used for extracting information from a
discogs position, making the subtrack_index only be matched if one of
the other groups is matched as well. Split the definition into several
lines in order to try to document it a bit more clearly.
Add unit tests for position parsing and non standard positions.
Fix the underscore on tox dependency.
2016-10-10 17:42:27 +02:00
Diego Moreda
e7f2a111e4
discogs: add test dependencies, fix spelling
2016-10-09 17:57:36 +02:00
Diego Moreda
be223d966e
discogs: coalesce subtracks ( #1543 )
...
Detect subtracks and merge them into a single track, taking into account
the index tracks if present. This includes a revision of the regular
expression used for converting a discogs "position" into medium, medium
index and subtrack index pieces, following the standard discogs
positions (12.2.9).
2016-10-07 19:09:09 +02:00
Diego Moreda
c55885c9e8
discogs: take into account two-sided media ( #1762 )
...
Revise the discogs plugin so two-sided mediums are taking into account
and each pair of consecutive *sides* is treated as single *medium*.
2016-10-07 19:01:50 +02:00
Diego Moreda
911117ef49
discogs: set media on tracks ( #1921 )
...
Set the media for all the tracks when fetching a release using discogs,
as autotag.apply_metadata requires it in order to work properly.
2016-10-06 19:49:43 +02:00
Adrian Sampson
4ae02e0d27
Merge pull request #2211 from heylookltsme/better-genre
...
Proposal: Add specificity option to lastgenre plugin
2016-09-27 09:07:39 -04:00
Corinne Hoener
a7e3bf2d0b
third time's a charm
2016-09-27 06:21:51 -04:00
Corinne Hoener
1c9202cc86
moar indents!
2016-09-26 21:21:15 -04:00
Corinne Hoener
c10fe1e126
change option name to prefer_specific
2016-09-26 19:06:34 -04:00
Corinne Hoener
be5ce3194f
better syntax; better comments
2016-09-26 19:02:10 -04:00
Corinne Hoener
288ff6ba19
Add specificity option to lastgenre in order to prefer the most specific genres
2016-09-26 16:13:04 -04:00
Fabrice Laporte
0140f2f287
Merge pull request #2206 from Kraymer/issue2205
...
Issue2205: search for lyrics using part of song title preceding ':'
2016-09-25 21:24:56 +02:00
Fabrice Laporte
7226624405
replace strip_part() by generate_alternatives()
...
Delegate the update of titles and artists lists to the helper
generate_alternatives() function.
2016-09-25 19:37:14 +02:00
Fabrice Laporte
e2703b9a7c
always yield item artist and title first
...
Rather than using an unordered set for storing pairs, append to a list
and build an OrderedDict from it to filter duplicated strings while
keeping order.
2016-09-25 15:46:22 +02:00
Johnny Robeson
3db656a685
use py3_path on gstreamer location prop setters
...
Location properties require strings, so we give them to them!
2016-09-24 01:16:56 -04:00
Fabrice Laporte
8b4f39da42
lyrics: search for song title part preceding colon. fix #2205
2016-09-23 22:23:32 +02:00
Fabrice Laporte
4b702b338e
lyrics: reduce code duplication in search_pairs()
2016-09-23 22:21:00 +02:00
Johnny Robeson
6b73aa25d2
Use b'' in discogs medium query regex
...
Since the first arg to `re.sub()` is bytes, thus must be the
replacement string.
2016-09-20 17:38:39 -04:00
Johnny Robeson
db782a2404
wrap 2 results in a list in cue and random plugin
2016-09-14 00:40:53 -04:00
Cody W. Opel
d384b07914
fromfilename: fix dict view conversion for python3 ( fix #2195 )
...
dict.values() returns a view rather than a list in python3
2016-09-12 09:29:32 -04:00
Adrian Sampson
d00c0fb5cf
Replace varargs_callback in duplicates
...
Now you just use `-k KEY1 -k KEY2`, which seems more natural to me anyway.
2016-09-10 05:13:06 -04:00
Adrian Sampson
f8a8388e0c
Avoid using None when format is unspecified
2016-09-07 21:47:31 -04:00
Adrian Sampson
15a5512ea5
Require Unicode format strings
...
Fallout from #2188 . Following @jrobeson's suggestion, I just turned the check
in LibModel.__format__ into an assert. This turned up a few badly-behaved
clients, which are also fixed.
2016-09-07 21:42:59 -04:00
Adrian Sampson
ed8d04f594
Unicode templates in duplicates ( fix #2188 )
2016-09-07 21:04:05 -04:00
Johnny Robeson
7a2bdf502f
s/utf8/utf-8/ in all encoding/decoding contexts
...
This matches up with the python documentation.
2016-09-06 23:10:24 -04:00
nathdwek@laptop
3acd44260a
Apply #2175 to mpdstats to keep consistency
2016-08-26 18:17:37 +02:00
Thiago de Arruda
9963fd0432
mpdupdate: Support $MPD_HOST environment variable.
...
This environment variable is also used by mpc. See
http://linux.die.net/man/1/mpc for details.
2016-08-26 11:36:39 -03:00
Marvin Steadfast
5592499b31
embyupdate: backwards compatible hostname
...
`host` takes `localhost`, `http://localhost ` and `https://`.
2016-08-26 12:28:48 +02:00
Marvin Steadfast
a282d4abc5
embyupdate: Fix authentication header problem
...
There was a problem with the authentication header in the latest
versions. The header creation function changed to fix that. Username and
passwort authentication should work again.
The `host` config variable takes now a full hostname. For example
`http://localhost ` instead of just `localhost`. This makes it easier to
use https hosts.
2016-08-26 10:29:08 +02:00
Johnny Robeson
6bedbd84df
removebyte conversion/literals for command args
...
Paths are obviously untouched.
We definitely don't need these as they are entirely ascii.
2016-08-25 03:37:30 -04:00
Johnny Robeson
4c4d8cff60
s/get(list)/as_str_seq() for keys in duplicates plugin
...
stolen from @sampsyo in the click branch
2016-08-17 02:18:48 -04:00
Adrian Sampson
0833c82075
web: Fix a crash related to byte paths on Python 3
2016-08-12 19:59:07 +00:00
arogl
86d2129c52
Spelling update
2016-08-12 14:48:55 +10:00
Johnny Robeson
fb78830788
fix incorrect bytes() usages in replaygain
...
We encode the method and gain offset values to ascii.
2016-08-09 05:17:53 -04:00
Johnny Robeson
d41949d326
close files we open, but forgot to close
...
This fixes all the obvious `ResourceWarning`s seen in the tests
2016-08-09 01:15:28 -04:00
Johnny Robeson
fcbfce3984
replace deprecated log.warn() with log.warning()
2016-08-09 00:33:38 -04:00
Johnny Robeson
47bddb394c
decode yaml dumped data as utf-8 in edit plugin for PY2
...
Yaml doesn't return a true unicode string even with `allow_unicode`
passed to `safe_dump_all`.
2016-08-08 23:59:54 -04:00
Johnny Robeson
303627e44f
Read and write edit plugin yaml as utf-8
2016-08-07 06:12:48 -04:00
Johnny Robeson
5b3cd44608
add coding: utf-8 magic comment to every .py file
2016-08-07 04:09:17 -04:00
Johnny Robeson
304df82361
rename/move ui._arg_encoding to util.arg_encoding
...
We use this for more than ui concerns, so it should be in util.
It is also no longer marked as a "private" method.
2016-08-04 17:16:11 -04:00
Adrian Sampson
e2981dec4a
Merge pull request #2143 from Jell-E/patch-1
...
Add BPM data with acousticbrainz
2016-07-27 14:58:10 -04:00
Adrian Sampson
c241f09bce
Tiny text tweaks for #2144
2016-07-27 14:56:55 -04:00
Adrian Sampson
6f99c4ccd9
Merge pull request #2144 from tweitzel/master
...
fix bug where $args would be included in the command output
2016-07-27 14:55:20 -04:00
xarph
be7c9d3b67
Remove unneeded if clause since .format will silently pass if the needle
...
is not found.
Add changelog note.
2016-07-27 11:23:37 -07:00
Adrian Sampson
5e3bbf2aeb
Remove remaining links to Google Code ( fix #2145 )
2016-07-27 13:32:41 -04:00
Johnny Robeson
01483f9600
change most googlecode refs to their new locations
2016-07-27 02:57:04 -04:00
xarph
349a3260f8
Apparently py34-flake8 wants whitespace around operators.
2016-07-26 16:08:52 -07:00
xarph
9fb763e151
fix bug where $args would be included in the command output if $args was
...
set in config but -A or --args was left off the beet play command.
2016-07-26 15:41:45 -07:00
Jelle Besseling
b4caa0e475
Add BPM data with acousticbrainz
...
The bpm plugin is a very slow way to add bpm data to songs, using the acousticbrainz plugin is much faster and can doesn't need a new plugin.
2016-07-26 15:42:35 +02:00
Adrian Sampson
58afaf07a5
Switch to new noqa syntax for flake8 3.0
...
Apparently, `# noqa ignore=X` worked before, but now the syntax is more terse,
like this: `# noqa: X`.
See the changelog here:
http://flake8.pycqa.org/en/latest/release-notes/3.0.0.html
2016-07-25 15:02:10 -04:00
Johnny Robeson
1b103b087b
reencode convert args on py3 for util.command_output
...
command_output requires bytestrings, so we put em back that way.
2016-07-25 04:57:02 -04:00
Johnny Robeson
e5497c7494
use stringed template vars on PY3 in convert plugin
...
We decode them with `surrogateescape`, so we avoid decoding errors
2016-07-25 03:28:02 -04:00
Adrian Sampson
039825e0e0
Only use CodingFormatter on Python 2
2016-07-24 15:01:06 -07:00
Adrian Sampson
c67fbefc4c
A little more spcificity in CodingFormatter
2016-07-24 14:59:31 -07:00
Rob McGhee
84b8cf0ab5
Merge remote-tracking branch 'refs/remotes/beetbox/master'
2016-07-20 21:13:32 +01:00
Johnny Robeson
1da919bc40
open lastgenre genres file with codecs.open()
...
This should fix an error when decoding the file on Windows. It defaults
to using the code page there and not utf-8 as intended for yaml.
2016-07-17 06:57:38 -04:00
Johnny Robeson
a1edf1928d
treat bpd command and args as strings, not bytes
2016-07-10 19:21:52 -04:00
Johnny Robeson
f82f5f51a4
use !r for command exec logging in play plugin
...
This is a bit simpler and is compatible with py2 and 3.
2016-07-10 06:00:53 -04:00
Johnny Robeson
5107f2e6d2
add missing py3_path to tempdir in convert plugin
2016-07-10 04:59:58 -04:00
Johnny Robeson
17883bc501
replace os.symlink() with util.link() in importfeeds
2016-07-09 22:44:26 -04:00
Johnny Robeson
3db81a3345
bytestringify tmpdir in convert plugin
...
This works fine in py 3.5, but not 3.4
2016-07-09 03:50:16 -04:00
Johnny Robeson
cb6efc4c22
Reorganize Gst import and version req in bpd
...
This avoids
```sh
PyGIWarning: Gst was imported without specifying a version first. Use
gi.require_version('Gst', '1.0') before import to ensure that the right
version gets loaded.
```
by silencing E401 import ordering warning
2016-07-08 05:48:26 -04:00
Rob McGhee
2dad86291e
Emby API Key
...
Corrected the use of spaces rather than tabs. Add the option to use an
Emby API key to authenticate rather than a password
2016-07-07 22:46:33 +01:00
Johnny Robeson
c9c37a8f79
adding missing b' to command name checks in replaygain
2016-07-07 03:44:19 -04:00
Johnny Robeson
1119e219b3
adjust bytestring treatment of ext in convert plugin
2016-07-07 03:44:19 -04:00
Rob McGhee
3710c139fb
Emby API Key
...
Add the option to read an API Key from the config file and submit that
instead of needing a password. Doesn't remove the use of password so is
backwards compatible with users current config file
2016-07-06 19:42:57 +01:00
Johnny Robeson
a15ae96616
add a missing text_string in play plugin
...
I don't think wanna send the cli args as bytes to the logger
2016-07-04 02:48:54 -04:00
Johnny Robeson
b9cd889ef4
decode ipfs item paths to satisy python -bb
2016-07-03 23:52:05 -04:00
Johnny Robeson
527b51147e
add py3_path to NamedTemporaryFile suffixes
2016-07-02 04:53:57 -04:00
Johnny Robeson
be08d4b129
replace unichr with six.unichr in lyrics plugin
2016-07-02 02:36:05 -04:00
Johnny Robeson
9020dc1f45
use text_string() in a few places for io output
2016-07-02 00:03:46 -04:00
Johannes Baiter
4c324fae2a
beatport: Use track numbers from API ( #2091 )
...
* beatport: Use trackNumber from API instead of enumerating the tracks
* beatport: Set medium_index to track number
* Update changelog with fixes to beatport plugin
2016-06-29 20:34:05 +02:00
Adrian Sampson
a6098928f5
Merge branch 'master' of github.com:sampsyo/beets
2016-06-29 10:33:00 -07:00
wordofglass
e2c6547635
fetchart: Clarify the deprecation of remote_priority in docs and
...
warning, closes #2092
2016-06-29 19:18:06 +02:00
Johnny Robeson
6b3cc6ff37
adapt print_() callers to send unicode strings
2016-06-29 03:17:02 -04:00
Adrian Sampson
192dd321f1
permissions: Add debug logging
2016-06-28 10:53:23 -07:00
Adrian Sampson
890b9e81e3
Fix #2089 : correct permissions configuration
...
This reverts the change in 44380db6e8 , where we
lost the ability to "reinterpret" decimals in the YAML configuration file as
octal permissions values.
2016-06-28 10:51:13 -07:00
Adrian Sampson
84bfbe95b9
permissions: More helpful logging ( #2089 )
2016-06-28 10:39:35 -07:00
Adrian Sampson
b099503a6c
permissions: Use correct path conversions
...
It looks like the original author mistook `bytestring_path` for `syspath`.
2016-06-28 10:31:57 -07:00
Adrian Sampson
e33c19a3e9
permissions: Use proper logging ( #2089 )
...
Refactored so we can use the proper logging infrastructure instead of `print`.
2016-06-28 10:29:26 -07:00
Christoph Reiter
629241efd3
mediafile: Cleanup mutagen error handling
...
Instead of the individial mutagen format exceptions use the
mutagen.MutagenError exception introduced in 1.25.
Since 1.33 mutagen will only raise MutagenError for load/save/delete
and no longer raise IOError. Translate both errors to UnreadableFileError
to support older and newer mutagen versions. Unify error handling
in __init__(), save() and delete().
Since it's no longer possible to get an IOError from MediaFile, adjust
all callers and tests accordingly.
This was tested with mutagen 1.27 and current mutagen master.
2016-06-28 16:43:34 +02:00
Max Ammann
5e8ac9e4a5
Expose the relative path to the library instead of omitting the 'path' variable
2016-06-26 19:53:57 +02:00
Max Ammann
2ae26548fc
Modified and simplified is_expand(...) method
2016-06-26 19:53:57 +02:00
Max Ammann
619344c813
Added documentation for the expand parameter
2016-06-26 19:53:57 +02:00
Max Ammann
041adf47ac
Fixed lines which are mor than 79 characters
2016-06-26 19:53:57 +02:00
Max Ammann
5831b99b9f
Adding 'expand' flag for json requests
...
This allows you to query the individual items of an album
2016-06-26 19:53:57 +02:00
Adrian Sampson
a8b039da78
Remove a spurious six use
...
I'm not sure what that `encode` was doing anyway.
2016-06-25 19:24:59 -07:00
Adrian Sampson
5efd5b21c5
Use new as_str method
...
Instead of `get(six.text_type)`, which was a surprisingly large portion of our
uses of six.
2016-06-25 19:16:14 -07:00
Adrian Sampson
de62a59d35
Remove an unnecessary six.range use
...
Ordinary `range` works fine here.
2016-06-25 18:39:29 -07:00
Adrian Sampson
e16cc58cb9
Walk back some six.iter* uses
...
In places where it doesn't much matter whether we use an iterator or the old
Python 2 list way, using the six name just hurts legibility.
2016-06-25 18:29:55 -07:00
Adrian Sampson
349a6e6c1d
Fix an erroneous six usage in fuzzy
2016-06-25 18:11:15 -07:00
Adrian Sampson
736ad66518
Merge pull request #2066 from beetbox/use-six
...
Use the six package to handle py2/p3 compatibility
2016-06-25 18:09:56 -07:00
wordofglass
5d00ca8bda
fetchart: do not unnecessarily reset Candidate.path on download failure
2016-06-25 14:10:55 +02:00
wordofglass
697291b04e
fetchart: improve error resilience of the Content-Type detection by file magic
2016-06-25 14:10:50 +02:00
wordofglass
9968288358
fetchart: update comments
2016-06-25 13:49:15 +02:00
Johnny Robeson
b6678019ea
use @six.python_2_unicode_compatible
2016-06-24 05:53:56 -04:00
Johnny Robeson
78334876c3
treat HTMLParseError as a noop when missing
...
Strict mode no longer exists in html.parser on python >= 3.5, and no longer means anything on python >= 3.3
2016-06-24 05:53:56 -04:00
Johnny Robeson
edb1cbc5fc
replace iter{items|values} with six.iter{items|values}
2016-06-24 05:53:55 -04:00
Johnny Robeson
83f6ba3ce4
handle metaclasses with six
2016-06-24 05:53:55 -04:00
Johnny Robeson
e57b7faf69
replace basestring with six.text_types
2016-06-24 05:53:55 -04:00
Johnny Robeson
e8afcbe7ec
replace unicode with six.text_type
2016-06-24 05:53:49 -04:00
wordofglass
34cdf0f3f3
fetchart: complain about unsupported images only after validating the Content-Type
2016-06-23 17:38:01 +02:00
wordofglass
d47182a3e5
fetchart: do not rely on the server-provided Content-Type, but determine the image format from the file magic
2016-06-23 17:37:55 +02:00
Johnny Robeson
8e682f14a1
replace xrange with range from six.moves
2016-06-23 04:40:18 -04:00
Johnny Robeson
31cca684f2
replace itertools.izip with zip from six.moves
2016-06-23 04:40:18 -04:00
Johnny Robeson
1f8e08d168
replace raw_input with input from six.moves
2016-06-23 04:40:18 -04:00
Johnny Robeson
4649226b9b
use urllib from six.moves
2016-06-23 04:40:18 -04:00
Johnny Robeson
1f8fe0f9a6
use _thread from six.moves
2016-06-23 04:40:18 -04:00
Johnny Robeson
129e140015
use html_parser (really html.parser) from six.moves
2016-06-23 04:40:18 -04:00
Johnny Robeson
7713be4c0f
use http_client (really http.client) from six.moves
2016-06-23 04:40:18 -04:00
Johannes Baiter
ed2580d5b1
Fix bugs in beatport plugin ( #2076 )
...
* Fix naming bug
* Fix another minor bug
* Remove debugger statement
* Another fix for developer clumsiness in beatport plugin
* Fix typo in error description
2016-06-23 08:51:26 +02:00
Johnny Robeson
ea02269dee
remove ext encode from fetchart (py3 fix for #2068 )
2016-06-23 02:29:53 -04:00
Adrian Sampson
d3928008e1
Merge pull request #2068 from beetbox/fetchart_mime_extension
...
Fix fetchart hardcoding the image extension
2016-06-22 10:19:12 -07:00
Adrian Sampson
5e7ba73f5e
Merge pull request #2067 from jbaiter/beatport
...
Revive Beatport plugin with support for OAuth API (#1989 )
2016-06-21 14:33:34 -07:00
Adrian Sampson
351b6f8c9d
Remove raw Unicode literals ( fix #2069 )
...
PEP 414 didn't add `ur"..."` literals to Python 3. So for hybrid 2/3
compatibility, these had to be replaced with ordinary Unicode string literals.
This was only painful for one string; the others were only raw strings by
convention. (All were regexes.)
2016-06-21 14:29:14 -07:00
Johannes Baiter
ae0269372c
Docstrings for beatport.BeatportClient
2016-06-21 21:39:25 +02:00
Johannes Baiter
c4835336a5
Fix PEP8 checks
2016-06-21 11:20:16 +02:00
Johannes Baiter
85d6ef4a80
Revive Beatport plugin with support for OAuth API ( #1989 )
2016-06-21 11:02:16 +02:00
wordofglass
c4617c2c1f
fetchart: do not hardcode the downloaded extension to jpg, fixes #2053
2016-06-21 10:57:45 +02:00
Philipp Beckmann
f9ed53a096
Multiple corrections as advised in the codereview
2016-06-20 18:44:37 +02:00
Philipp Beckmann
7b154cedd7
Added double line spacings between definitions
2016-06-20 18:29:46 +02:00
Philipp Beckmann
9fd227c8cc
Fixed flake8 errors
2016-06-20 18:22:07 +02:00
Philipp Beckmann
0a3d18c5c4
Merge remote-tracking branch 'upstream/master' into bpd_gst10
2016-06-20 18:11:11 +02:00
Philipp Beckmann
5613d9d4ea
bpd: Added correct error check for query_position/query_duration
2016-06-20 18:09:37 +02:00
Johnny Robeson
09322530ca
replace 2 map() calls with a list comprehension
2016-06-19 22:30:58 -04:00
Philipp Beckmann
0917e675d7
bpg: Converted gstplayer.py to GStreamer 1.0
2016-06-19 22:06:55 +02:00
Johnny Robeson
1c761c60fb
bytstringify extra cover_names in fetchart
2016-06-17 03:37:28 -04:00
Johnny Robeson
cf5ab2617a
reorient bytestring_path code in convert replace_ext
2016-06-17 01:20:42 -04:00
Johnny Robeson
fff0439b06
add missing blank line in mpdstats
2016-06-17 00:09:22 -04:00
Johnny Robeson
12136e1d32
adapt is_url checking for bytestring paths
2016-06-17 00:00:08 -04:00
Johnny Robeson
411e4957b0
bytestringify replace_ext in convert plugin
2016-06-16 23:40:59 -04:00
Johnny Robeson
b602faabb8
more bytestringification in thumbnails plugin
2016-06-16 23:11:16 -04:00
Johnny Robeson
15c07613bf
decode the filename written to .desktop file
2016-06-16 23:04:52 -04:00
Johnny Robeson
52f2ab2547
encode uri passed to hashlib in thumbnails plugin
2016-06-16 23:00:45 -04:00
Johnny Robeson
a903b57dae
encode the passwords passed to hashlib in embyupdate
2016-06-16 21:47:10 -04:00
Johnny Robeson
d3d52da012
bytestringify paths in filefilter plugin
2016-06-16 04:08:49 -04:00
Johnny Robeson
cb54955485
more bytecasting in smartplaylist plugin
2016-06-15 23:55:17 -04:00
Johnny Robeson
a02a1f0201
cast year ints to str, not bytes in bucket plugin
...
This seems to work equally well in py2/3
2016-06-15 03:34:03 -04:00
Johnny Robeson
4fbad7dd67
bytestringify path in file_filter
2016-06-14 23:17:08 -04:00
Johnny Robeson
44380db6e8
If the permission is an int, then simply return it
...
It doesn't seem necessary to convert it, and if it does, then
we're missing a test
2016-06-14 03:50:29 -04:00
Johnny Robeson
8e1bc16228
set default perms as strings in perms plugin itself
...
I originally changed them to octal in my py3 branch,
but they are gonna end up as strings anyways, so I figured we should
just use them that way by default.
2016-06-14 03:47:59 -04:00
Johnny Robeson
0a5c6ce4c0
open tempfile in edit plugin in text mode
2016-06-14 03:38:21 -04:00
Johnny Robeson
3112a18463
treat ctypes .value as bytes in thumbnails plugin
2016-06-14 00:51:12 -04:00
Johnny Robeson
8fa71f78fe
decode bytes from .encode() in lyrics plugin
2016-06-14 00:44:43 -04:00
Johnny Robeson
0f4b907ff5
wrap filter()s in a list() in replaygain plugin
2016-06-14 00:28:46 -04:00
Johnny Robeson
6745759ea5
open even more files in binary mode
...
* play plugin
* smartplaylist plugin
2016-06-13 05:18:33 -04:00
Johnny Robeson
4dd43f1081
write to the m3u file in binary mode in importfeeds
2016-06-12 20:27:01 -04:00
Johnny Robeson
a76de95183
return a bytestring path from RemoteArtSource
2016-06-12 01:19:39 -04:00
Johnny Robeson
69c9fb8b07
check dirname result against b'' in fetchart
2016-06-10 02:52:58 -04:00
Johnny Robeson
5e62b39f75
replace TEMPORARY with FIXME in discogs plugin
...
We're more likely to search for this later by FIXME.
NOTE: the bug is fixed, but the versions with the fix may not be widely
distributed yet
2016-06-10 02:30:00 -04:00
Johnny Robeson
5485bdb706
add missing b' in discogs query regex
2016-06-10 02:23:14 -04:00
Johnny Robeson
ab67727283
wrap the cover_names map with a list in fetchart
...
most `cover_names` users expect to operate on a list
2016-06-10 00:09:15 -04:00
Johnny Robeson
02165fc3a9
open lastgenre whitelist in binary mode
2016-06-09 23:53:40 -04:00
Adrian Sampson
f400a2431e
fetchart: Fix path types on Windows
2016-06-08 10:20:25 -07:00
Johnny Robeson
790b1b5153
replace some filter/map calls with list comps
...
These are places where the surrounding/calling code needs a list, not an iter.
2016-06-08 00:17:18 -04:00
Adrian Sampson
b752a58ed6
Improve a couple of docstrings
2016-06-05 12:16:41 -07:00
Adrian Sampson
0051bdb506
lyrics: Avoid a spurious warning
2016-06-02 21:33:33 -07:00
Adrian Sampson
ae7990322a
Merge pull request #2032 from pszxzsd/bs1770
...
make bs1770gain calculate sample peak instead of true peak
2016-06-02 16:17:04 -07:00
Adrian Sampson
581fba6288
lyrics: Avoid crash when enabling google
...
If you *both* haven't set an API key *and* BeautifulSoup wasn't
installed, the list.remove() call would crash. (This came up when
running the tests on a fresh machine without many dependencies.)
2016-06-02 11:58:14 -07:00
pszxzsd
8dcd50b18f
make bs1770gain calculate sample peak instead of true peak
2016-06-01 20:00:08 +02:00
Adrian Sampson
33a4767eaf
Portable mock command for testing convert plugin
2016-05-31 11:48:29 -07:00
Adrian Sampson
395877d903
Remove the Echo Nest plugin 😢 ( #1920 )
2016-05-30 22:25:58 -07:00
Johnny Robeson
81484529c9
remove b' from a few more stdlib calls
2016-05-31 00:13:09 -04:00
Johnny Robeson
330306bbe2
remove bytes casts from object/method resolution code
2016-05-30 23:21:24 -04:00
Johnny Robeson
e6ab231f72
Revert "Remove bytes casting for non-path command args/opts"
...
This reverts commit 2a6e74bc27 .
2016-05-30 22:00:42 -04:00
Johnny Robeson
2a6e74bc27
Remove bytes casting for non-path command args/opts
2016-05-30 21:42:44 -04:00
Johnny Robeson
94bab42f97
use strings (not bytes) for flask responder names
2016-05-30 21:19:15 -04:00
Adrian Sampson
71b9fd785c
Revert "Do __name__ comparison with bytes and not unicode"
...
This reverts commit 9c41c39913 .
That commit used byte strings for the `if __name__ == '__main__'` pattern,
which was necessary when we were doing unicode_literals. But it is wrong on
Python 3, and now that we're liberated from unicode_literals, we need to go
back to native strings for this comparison.
2016-05-29 19:19:59 -07:00
Adrian Sampson
59435792e9
Merge pull request #2010 from sumpfralle/web-api-unique-results
...
web: add API functions for retrieving unique values of specific keys
2016-05-27 00:15:34 -07:00
Johnny Robeson
a405a072f7
use reduce() from functools
2016-05-26 23:52:35 -04:00
Lars Kruse
d50923553d
web: add API functions for retrieving unique values of specific keys
...
the following API paths are added:
* /item/values/FIELD
* /album/values/FIELD
Both paths will deliver a json dictionary with the key 'values' containing a
list of unique values belonging to the requested table and field.
Sorting is possible by supplying the query argument "sort_key".
This feature is useful for remote clients, e.g. Mopidy-Beets:
* track genres: /item/unique/genre
* track languages: /album/unique/language
* album artists: /album/unique/albumartist?sort_key=albumartist_sort
* album years: /album/unique/year
2016-05-27 04:12:09 +02:00
Lars Kruse
be4dc227fc
web: handle missing art gracefully
2016-05-24 03:05:51 +02:00
Frederik “Freso” S. Olesen
37b9360706
acousticbrainz plugin: Access acousticbrainz.org over HTTPS.
2016-05-20 01:08:15 +02:00
Adrian Sampson
ef7cca4c12
Fix #2005 : list AIFF as a lossless format
2016-05-18 11:24:34 -07:00
Jack Wilsdon
5f3c27990d
Merge pull request #1974 from jackwilsdon/make-convert-extension-optional
...
Make convert extension optional
2016-05-08 16:30:30 +01:00
Jack Wilsdon
fcce9c02ac
Revert removal of trailing comma
2016-05-06 17:51:21 +01:00
Jack Wilsdon
2d5c68cec9
Remove write option from bpm and use import.write
2016-05-06 17:50:27 +01:00
Jack Wilsdon
2038a40fa2
Add write option to bpm plugin
...
Add write option to bpm plugin and tidy up command function.
2016-05-05 11:27:28 +01:00
Jack Wilsdon
982272deb3
Merge pull request #1981 from jackwilsdon/fix-hook-unicode
...
Fix command formatting for hook plugin
2016-05-03 17:45:38 +01:00
Profpatsch
2d36626d25
convert plugin: Change the default ogg quality
...
According to the `oggenc(1)` man page (in vorbis-tools), the default quality is 3, not 2. So we should use that.
2016-05-02 01:53:20 +02:00
Jack Wilsdon
92af723682
Format individual command pieces instead of whole command
2016-05-01 23:04:22 +01:00
Jack Wilsdon
9f0db13675
Remove unnecessary variable
2016-05-01 21:44:40 +01:00
Jack Wilsdon
63caf1fceb
Add documentation for coding formatter
2016-05-01 21:44:05 +01:00
Jack Wilsdon
ba7004de6e
Remove unneeded AutoFieldCountFormatter
2016-05-01 21:33:06 +01:00
Jack Wilsdon
e66981c4d8
Use beets shlex_split instead of shlex.split
2016-05-01 21:31:53 +01:00
Jack Wilsdon
b4715d61e1
Fix over-indentation of wrapped code
2016-05-01 21:30:20 +01:00
Jack Wilsdon
576ec92992
Fix encoding for hook plugin
...
- Add a AutoFieldCountFormatter formatter for auto field
incrementation.
- Add a CodingFormatter for formatting encoded strings.
- Fix encoding for hook plugin using CodingFormatter.
2016-05-01 21:21:40 +01:00
Adrian Sampson
04bbdede38
hook: Typed configuration accessors
2016-05-01 13:04:35 -07:00
Jack Wilsdon
b9464d1ea4
Use unicode for command formatting
2016-05-01 18:26:06 +01:00
Patrik
2f608fce0a
convert.py: Fix error message
2016-05-01 01:53:03 +02:00
Patrik
4f596725ae
convert.py: Fix error message
2016-05-01 01:27:02 +02:00
Adrian Sampson
950e1b5e85
Merge pull request #1603 from jackwilsdon/add-hook-plugin
...
Add hook plugin (fixes #1561 )
2016-04-30 15:03:42 -07:00
wordofglass
1dd6739218
lyrics: fix a bug where the lyricswiki fetcher would try to unescape an empty (None) response and crash
2016-04-30 01:25:02 +02:00
Jack Wilsdon
ae9ece1e62
Make format extension optional
...
The format extension defaults to the name of the format if it is not
provided.
2016-04-29 14:51:13 +01:00
wordofglass
c3c7da8061
lyrics: simplify source handling a little
2016-04-28 18:31:22 +02:00
wordofglass
2928a16bd5
lyrics: actually disable translation when there's no langdetect
2016-04-28 17:22:55 +02:00
wordofglass
c4b11f889f
lyrics: clean up import handling and source removal
2016-04-28 17:15:25 +02:00
Jack Wilsdon
7c9440cf13
Merge master back in to fork
2016-04-28 04:15:02 +01:00
Jack Wilsdon
48fff93e78
Merge pull request #1961 from jackwilsdon/pep8-naming
...
Add flake8 check for pep8 naming
2016-04-28 04:07:17 +01:00
Jack Wilsdon
79d602b2a0
Use correct methods for ImageMagick and PIL info
2016-04-27 20:41:09 +01:00
Jack Wilsdon
8317a20bcd
Use correct methods from art resizer
2016-04-27 20:34:28 +01:00
Jack Wilsdon
b1c58e99ec
Update code to match pep8 naming standards
2016-04-27 20:15:10 +01:00
Adrian Sampson
09bc250413
Fix #1960 : Unicode in fetchart Wikipedia source
...
The SparQL query needed to use a Unicode literal.
2016-04-26 16:59:23 -07:00
Jack Wilsdon
c5e2334fb5
Remove useless unescape
...
Remove useless unescape as _scrape_script_cruft does it for us.
2016-04-25 19:24:26 +01:00
Jack Wilsdon
1be9c3003e
Use different method to remove junk from LyricsWiki
...
Use `_scrape_strip_cruft` instead of `scrape_lyrics_from_html` so that
LyricsWiki does not depend on Beautiful Soup.
2016-04-25 19:14:30 +01:00
wordofglass
607f41be43
Fix the previous fix...
2016-04-24 00:42:31 +02:00
wordofglass
4a5b886944
Fix two non-guarded import statements in the lyrics plugin
...
These could make the import process crash with a traceback.
2016-04-24 00:35:15 +02:00
Guilherme Danno
bf1b06f0c7
don't print entire lyrics during import
2016-04-22 17:30:06 -03:00
wordofglass
ac2f7fe712
Fix the fanarttv source failing when there were images found, but no cover art
2016-04-20 12:59:18 +02:00
wordofglass
5fbca32ea4
reuse the 'sources' names from the configuration for art_source
2016-04-19 11:25:03 +02:00
wordofglass
740efc0a0e
small fixes; consistently use 'source' instead of 'origin'
2016-04-19 11:23:57 +02:00
wordofglass
c27907b043
enable fetchart to store the artworks origin in a flexible field; as of now untested
2016-04-19 11:23:42 +02:00
Jack Wilsdon
85fd60852f
Remove unused dependencies
2016-04-18 19:21:31 +01:00
Jack Wilsdon
ffa2fdd278
Merge master back in to fork
2016-04-18 19:19:08 +01:00
Jack Wilsdon
dea091ee53
Improve error handling for invalid commands
2016-04-18 19:16:31 +01:00
wordofglass
9e774fdccd
Merge branch 'master' into fetchart_almost_square
2016-04-18 19:00:45 +02:00
wordofglass
11c6ca5271
Merge remote-tracking branch 'beetbox/master'
2016-04-18 18:53:46 +02:00
wordofglass
c3be244109
remove the personal key warning altogether; it's also in the docs and rather obtrusive
2016-04-18 18:52:18 +02:00
Guilherme Danno
019d7cd2e6
fix some typos
2016-04-18 12:36:42 -03:00
Guilherme Danno
09073630e3
Merge pull request #1945 from beetbox/export-plugin
...
Export plugin: Export data from queries to a json
2016-04-18 12:24:27 -03:00
Jack Wilsdon
070469e259
Remove unicode_literals from __future__ imports
2016-04-18 16:00:13 +01:00
Jack Wilsdon
3e35660ff3
Remove unnecessary escaping on double quotes
2016-04-18 15:36:08 +01:00
Jack Wilsdon
686e069bc4
Replace double quotes with single quotes
2016-04-18 15:35:15 +01:00
Jack Wilsdon
8b4f349e27
Improve hook plugin design and configuration
...
- Remove `shell` option and split all commands using `shlex.split`
before passing them to `subprocess.Popen`.
- General refactor of hook plugin code - move hook creation function
inside `HookPlugin`.
- Add improved error handling for invalid (i.e. empty) commands or
commands that do not exist.
2016-04-18 15:04:57 +01:00
wordofglass
20235264a4
rewire logic a bit; reasonable debug messages
2016-04-18 15:23:38 +02:00
Jack Wilsdon
dd949a9488
Merge master back in to fork
2016-04-18 14:06:45 +01:00
wordofglass
30bca5c8af
fix unconditionally printing the personal key warning for in fanart.tv in fetchart
2016-04-18 11:39:09 +02:00
Guilherme Danno
228ffc91be
use sort_keys to make the data more "predictable"
2016-04-17 23:47:12 -03:00
Guilherme Danno
5e3c65d32e
change option letter
2016-04-17 23:37:51 -03:00
Guilherme Danno
10acea4efd
Remove json monkey-patching and use encoder subclassing
2016-04-17 23:35:23 -03:00
Guilherme Danno
1e3704a27e
fix NotImplementedError()
2016-04-17 21:52:09 -03:00
Guilherme Danno
c211aabd72
simplify json printing
2016-04-17 21:39:53 -03:00
wordofglass
6cbbba7dae
initial work on allowing slightly non-square images in fetchart
2016-04-18 01:47:39 +02:00
Guilherme Danno
f58d4e838a
Query data from items and export the json
...
Based on the ``info`` plugin
2016-04-17 18:26:17 -03:00
wordofglass
8169983074
fix translation of the old remote_priority option for fetchart, add a test
2016-04-17 21:18:31 +02:00
Adrian Sampson
3fb2185925
Merge pull request #1898 from beetbox/flake8-future-import
...
Add __future__ import style checker
2016-04-16 15:24:46 -07:00
wordofglass
0f89f17227
add missing division future imports
2016-04-16 18:33:54 +02:00
wordofglass
36e91fc78b
fix fanart.tv merge
2016-04-16 14:17:46 +02:00
wordofglass
9ce10c2fda
Merge branch 'master' into fetchart_unify_sources,
...
i.e. adapt the fanart.tv source
2016-04-16 13:34:46 +02:00
wordofglass
0cfddfaa8a
add missing absolute_import future imports
2016-04-16 02:28:54 +02:00
wordofglass
6b43e1204f
add missing print_function future imports
2016-04-16 01:53:39 +02:00
Adrian Sampson
4691deb5a5
Merge pull request #1941 from wordofglass/fetchart_fanarttv
...
Fetchart: add fanart.tv source
2016-04-15 11:45:00 -07:00
wordofglass
4763fec35b
fanart.tv: remove overly verbose logging left over from debugging
2016-04-15 19:42:06 +02:00
wordofglass
3a2eb03e0e
Add fanart.tv API key
2016-04-15 19:32:17 +02:00
wordofglass
87aa5dab13
fixes according to feedback by @Kraymer
2016-04-15 14:15:25 +02:00
wordofglass
d46b45861b
typo, rename project key config option
2016-04-15 02:40:52 +02:00
wordofglass
ecc6e1c3d6
fanart.tv albumart fetching, missing a project API key
2016-04-15 02:28:04 +02:00
Fabrice Laporte
05970e8a93
re-query token when it has expired
2016-04-14 22:57:41 +02:00
Fabrice Laporte
56d7e5dfa0
send as little text as possible to bing api
...
Bing API has a limit of 2M chars/month. It’s common to have repeating
sentences in lyrics so to reduce number of chars sent per song, store
sentences in a set and send it, instead of sending the whole lyrics.
2016-04-14 22:57:17 +02:00
wordofglass
7322e212a4
fetchart: adapt test to earlier config read
2016-04-14 16:49:06 +02:00
wordofglass
aaf614c869
fetchart: move config reads to __init__
2016-04-14 16:00:24 +02:00
wordofglass
6bc3fb8f67
fetchart: make Candidate a new-style class
2016-04-14 15:27:47 +02:00
Fabrice Laporte
6cfc106b8a
better docs and debug msg
2016-04-14 08:31:55 +02:00
Fabrice Laporte
58df77e2cb
langdetect conditional import
2016-04-14 08:31:14 +02:00
Fabrice Laporte
e03c3af91f
don't translate lyrics already in the target language
2016-04-14 01:11:14 +02:00
Fabrice Laporte
66a627fed8
restore module docstring
2016-04-14 00:58:42 +02:00
Fabrice Laporte
3c2479ab49
translate lyrics using Bing API
...
By subscribing to Microsoft Translator API, one can now activate the
translation of lyrics from one set of source langages to a target
langage.
Translations are appended to each original sentence using ‘/‘ as
separator.
2016-04-14 00:53:58 +02:00
Fabrice Laporte
d67950cdcc
pep8
2016-04-14 00:45:55 +02:00
wordofglass
1cc4d11baf
Fetchart: fix tests and fetachart logic
2016-04-13 22:56:18 +02:00
wordofglass
a4994d2bf8
fetchart: fix more tests
2016-04-06 01:36:32 +02:00
wordofglass
bc877a6d7f
fetchart: fix tests (mostly pep8, syntax)
2016-04-06 01:19:44 +02:00
wordofglass
bbc06e9de9
fetchart: Adapt ArtForAlbumTest
2016-04-05 23:24:30 +02:00
wordofglass
a2141c6f3a
fetchart: fix refactoring
2016-04-05 22:44:13 +02:00
Adrian Sampson
fa2aa82a0d
Fix #1927 : useful error message for failed edit
2016-04-03 17:42:25 -04:00
Adrian Sampson
3f4f077272
edit: Log the invoked command
2016-04-03 17:38:40 -04:00
wordofglass
50bf28edd4
move constants into Candidate
2016-03-23 16:46:39 +01:00
wordofglass
8356e7d33d
fix syntax
2016-03-23 00:47:11 +01:00
wordofglass
b37cc02f1a
fetchart: Introduce the Candidate class, some fixes to the previous commit.
2016-03-22 20:52:25 +01:00
wordofglass
c0a041b87e
fetchart: Unify handling of local and remote sources.
2016-03-22 19:42:16 +01:00
Cédric Tissières
e5be804802
importadded: adapt doc for new option preserve_write_mtimes
2016-03-22 06:24:09 +01:00
Cédric Tissières
8ef36198fb
importadded: preserve mtime after any write
2016-03-21 20:47:05 +01:00
Adrian Sampson
d1753b341e
lyrics: Some comments and better naming
2016-03-21 10:28:30 -07:00
Adrian Sampson
f684f29a25
lyrics: Tolerate pages without text ( fix #1914 )
2016-03-21 10:24:13 -07:00
Adrian Sampson
c9be5bc7d1
Merge pull request #1911 from jackwilsdon/fix-musixmatch-url
...
Fix MusixMatch issues
2016-03-18 11:51:27 -04:00
Jack Wilsdon
60148918d9
Fix LyricsWiki scraping code
...
LyricsWiki now escapes song lyrics using HTML entities (presumably to
prevent scraping), so we now unescape these before parsing.
LyricsWiki has also added a script tag inside the div we are scraping,
so we have to remove this using `scrape_lyrics_from_html`.
2016-03-17 17:49:41 +00:00
Jack Wilsdon
c417003184
Add missing newline
2016-03-16 21:07:28 +00:00
Jack Wilsdon
1ec06e14c5
Fix lyrics extraction from MusiXmatch
...
Remove "lyrics_" prefix from extract_text_between arguments to reflect
changes made to the MusiXmatch website.
2016-03-16 20:48:57 +00:00
Jack Wilsdon
44c799320f
Improve URL generation in lyrics plugin
...
Allow custom replacements to be defined in subclasses of
SymbolsReplaced.
Replace spaces with a hyphens when the source is MusiXmatch, instead of
(incorrectly) using underscores. This fixes #1880 .
2016-03-16 20:46:36 +00:00
Adrian Sampson
8a0b18c960
Fix #1903 : scrub sometimes ignored id3v23
2016-03-15 23:06:10 -04:00
Adrian Sampson
c18b5dbadd
Fix #1907 : redact MusicBrainz password
2016-03-11 16:50:32 -05:00
Ivan Shapovalov
4d40b058d3
treewide: add u to instances of 'singleton:true'
...
Fixes #1901 .
2016-03-06 02:12:43 +03:00
Adrian Sampson
eac7d64545
Merge branch 'master' into no_unicode_literals
2016-02-28 15:21:43 -08:00
Adrian Sampson
e54c7eec3d
Standardize __future__ imports without parentheses
...
Since the list is short enough now, we don't need parentheses for the line
wrap. This is a little less ugly.
2016-02-28 15:03:51 -08:00
Adrian Sampson
d53019f9db
Further whitespace fiddling
...
Most commonly, this sticks with:
log.debug(
'some long message here'
)
instead of placing the closing ) at the end of the string literal.
2016-02-28 14:48:10 -08:00
Adrian Sampson
031d50abbf
Human-readable message in non-pretend mode ( #1894 )
2016-02-27 09:58:05 -08:00
Ali Graham
a98bc481cd
tweaks for style, option name
2016-02-27 19:05:56 +10:30
Ali Graham
a1f80275c4
revert a chunk of the work to be the way it was
2016-02-25 21:35:14 +10:30
Ali Graham
bc21afab42
better text for artwork resize/copy logs
2016-02-25 18:51:00 +10:30
Ali Graham
1fc6efe3b4
fix indentation
2016-02-25 18:45:53 +10:30
Ali Graham
04c12a50ac
add copy_album_art_maxwidth config option to convert plugin
2016-02-25 12:44:56 +10:30
Ali Graham
e58e04f0ab
move and split fetchart valid_image
2016-02-25 12:44:09 +10:30
Peter Kessen
c2e7d59db7
Removed import of unicode_literals from plugin web
2016-02-20 14:36:56 +01:00
Peter Kessen
7155999d00
Removed import of unicode_literals from plugins
...
* thumbnails
* types
2016-02-20 14:34:49 +01:00
Peter Kessen
30cf407074
Removed import of unicode_literals from plugins
...
* rewrite
* scrub
* smartplaylist
* spotify
* the
2016-02-20 14:31:27 +01:00
Peter Kessen
456565b6f2
Removed import of unicode_literals from plugins
...
* play
* plexpudate
* random
* replaygain
2016-02-20 14:22:45 +01:00
Peter Kessen
feab3df910
Removed import of unicode_literals from plugins
...
* mpdstats
* mpdupdate
* permissions
* zero
2016-02-20 14:12:37 +01:00
Peter Kessen
48098c3741
Removed import of unicode_literals from plugins
...
* lastgenere
* mbcollection
* mbsubmit
* mbsync
* missing
2016-02-20 14:08:05 +01:00
Peter Kessen
f2fc1a78bf
Removed import of unicode_literals from plugins
...
* keyfinder
* lastimport
* lyrics
2016-02-20 13:59:58 +01:00
Peter Kessen
fc3d10d248
Removed unicode_literals from plugins
...
* fuzzy
* ihate
* importadded
* importfeeds
* info
* inline
2016-02-20 13:53:10 +01:00
Peter Kessen
7d00ab3b50
Removed unicode_literals from plugins
...
* fetchart
* freedesktop
* fromfilename
* ftintitle
2016-02-20 13:44:45 +01:00
Peter Kessen
53d2c8d9db
Removed unicode_literals from plugins
...
* echonest
* edit
* embedart
* embyupdate
2016-02-20 13:35:54 +01:00
Peter Kessen
5547a82848
Removed unicode_literals from plugin duplicates
2016-02-20 13:26:27 +01:00
Peter Kessen
40900aa1cb
Removed unicode_literals from plugins
...
* bucket
* chroma
* convert
* discogs
2016-02-20 12:10:01 +01:00
Peter Kessen
5db57bdc01
Removed unicode_literals from plugin bpd
2016-02-20 11:57:36 +01:00
Peter Kessen
6852ab5472
Removed unicode_literals from plugins
...
* acousticbrainz
* badfiles
* bpm
2016-02-20 11:49:10 +01:00
Adrian Sampson
6e3d72afa6
Merge pull request #1846 from diego-plan9/interactiveedit
...
edit: allow interactive editing during the importer
2016-02-07 14:34:54 -08:00
Adrian Sampson
314521b6ae
replaygain: Fix obvious typo ( fix #1873 , I hope)
2016-02-07 14:28:33 -08:00
Josh Brown
ea36c5a825
Allow default lastfm key to be overridden in config
2016-02-06 00:41:59 -06:00
Josh Brown
0f155ce3b9
Use beets API key for lastimport plugin.
2016-02-05 23:50:24 -06:00
Diego Moreda
8d3f9a573c
edit: revert album-field changes, use temporary id
...
* Revert the changes related to allowing the album- and item-level
fields to be edited at the same time, as the increase in complexity
was deemed excesive during review.
* Modify the interactive execution so temporary Item.id's are used,
removing the extra functionality needed for dealing with both id and
path as reference fields.
* Docstrings and comments cleanup.
2016-02-05 12:35:11 +01:00
Diego Moreda
0ba8f83929
edit: allow edit album+item fields in single yaml
...
* Add support for editing both the item fields and the album fields in
a single YAML file, by appending an Album-like object as the front of
the objects to be edited.
* The FakeAlbum class provides that object, mimicking the original
Album behaviour and including an _apply_changes() method that propagates
the changes read from the yaml onto the Items.
* Modify edit_objects() so the flattening of the objects takes into
account the type of object, using different fields for Albums and for
Items.
* Renamed apply() to apply_() to prevent an IDE warning about reusing a
reserved built-in symbol.
2016-02-03 17:34:39 +01:00
Adrian Sampson
60888274c4
lyrics: Re-disable Genius backend
...
As #1854 pointed out, the Genius API service is down *again*.
2016-02-02 08:14:22 -08:00
Adrian Sampson
0aea7e398b
replaygain: Handle missing GStreamer data ( #1855 )
2016-02-02 08:08:58 -08:00
Diego Moreda
b8ec22ca34
edit: use action.RETAG, cleanup
...
* Make the edit plugin return action.RETAG when invoked during an
interactive import session, making the importer handle the writing of
the tags to the files (if needed) properly.
* Move the logic relative to the "reference field" to
_set_reference_field(), simplifying a bit the functions that depend on
this field.
* Hide the "edit Candidates" choice if no candidates are found.
2016-02-01 18:57:03 +01:00
Diego Moreda
30927a901f
Fix flake8 error
2016-01-29 19:54:23 +01:00
Diego Moreda
98abe69520
edit: invoke editor during importer, on Items
...
* Initial draft for invoking the edit plugin during an importer session.
* Add prompt choices for editing the original file tags ("eDit") and
apply a candidate and then edit ("edit Candidates").
* Modify plugin (_get_fields, apply_data, edit_objects) so "path" can be
used as a reference field instead of "id", as the Items are not still on
the database when the plugin is invoked via the importer.
* Modify ImportTask.manipulate_files() with a temporary flag for writing
the item tags even if ASIS was selected.
2016-01-29 17:09:12 +01:00
Diego Moreda
76d7c65c1b
replaygain: refine test by subclassing exception
...
* Subclass FatalReplayGainError into FatalGstreamerPluginReplayGainError
in order to handle gstreamer plugin errors more cleanly on
test_replaygain.
2016-01-26 22:20:42 +01:00
Diego Moreda
c12e974852
Merge remote-tracking branch 'upstream/master' into mbid
2016-01-19 21:58:10 +01:00
Diego Moreda
48c92fbf5a
Allow multiple MB ids to be passed to the importer
...
* Modify the "--musicbrainzid" argument to the importer so multiple IDs can be
specified by the user instead of a single one.
* Revise autotag.match.tag_album and autotag.match.tag_item signature to expect
a list of IDs (search_ids) instead of a single one (search_id), and add logic
for handling and returning multiple matches for those IDs.
* Update calls to those functions in other parts of the code.
2016-01-19 21:43:32 +01:00
Adrian Sampson
1866264732
Docsring for #1812
2016-01-15 10:10:56 -08:00
Guilherme Danno
20e4f5d209
Info plugin: add option to print only keys
2016-01-14 18:08:22 -02:00
Adrian Sampson
8cb545b779
Possibly fix #1805 : bytes headers for requests
2016-01-11 10:30:33 -08:00
Adrian Sampson
c7045daf90
sampsyo -> beetbox ( #1730 ) 🎉
2016-01-08 20:36:16 -08:00
Adrian Sampson
0301bb517d
Update links for our new domain
2016-01-08 16:26:13 -08:00
Adrian Sampson
635052e2ff
Fix #1804 : edit plugin moves files
2016-01-08 15:22:28 -08:00
Adrian Sampson
963a66a40c
Refactor try_sync to also include moving
...
This will remove a bunch of duplication we currently have for moving files
*inside the library directory* when their metadata changes.
2016-01-08 14:56:52 -08:00
Adrian Sampson
36ad0cf70d
lyrics: Re-enable genius backend ( #1770 )
2016-01-06 14:29:51 -08:00
nath@laptop
6e2b249c54
fix-typos: Write changelog
...
Also stealth-reformulate a recent comment of mine which contained
another (!) typo
2016-01-06 11:18:39 +01:00
nath@laptop
1e72ba75c7
play: Preserve backwards compat when fixing typos
2016-01-06 10:12:45 +01:00
nath@laptop
72056e8e07
play: Fix typo treshold > threshold:
...
We should warn users that the corresponding config key changed accordingly.
2016-01-06 09:21:37 +01:00
Ben Ockmore
c074ed37f1
Album is never present in user.getTopTracks, so this is now redundant
2016-01-04 17:36:30 +00:00
Ben Ockmore
e2a8bdb23d
Changed initial value of song variable to None, which is clearer
2016-01-04 17:33:03 +00:00
Ben Ockmore
0a6983b759
Replaced custom requests in fetch_tracks with pylast
...
Also changed from using the library.getTracks API method to user.getTopTracks, since Last.fm has broken the former.
2016-01-04 17:29:18 +00:00
Adrian Sampson
15fe43219e
Merge pull request #1793 from JesseWeinstein/fix_default_command
...
Fix default command in interactive_open
2016-01-03 14:25:27 -08:00
Adrian Sampson
04618f9aef
acousticbrainz ( #1787 ): Fix typos in keys
2016-01-03 14:17:39 -08:00
Adrian Sampson
4041c3ceb2
acousticbrainz ( #1787 ): Write tags
...
Now that we modify the built-in field, this is necessary.
2016-01-03 14:14:10 -08:00
Adrian Sampson
b44601176a
Merge pull request #1787 from opatel99/AcousticBrainzP2
...
AcousticBrainz: More features (autotag)
2016-01-03 14:12:07 -08:00
Jesse Weinstein
246afda9c4
Actually, push the job off on the caller
2016-01-03 13:07:27 -08:00
Ohm Patel
a1db349bf9
ABrainz: Variable parameters
2016-01-02 19:20:20 -06:00
Ohm Patel
b5f71a88e8
ABrainz: replace lambda with operator
2016-01-02 19:05:53 -06:00
Ohm Patel
e5c46cf6ac
PEP-8 Cleanup
2016-01-02 18:59:47 -06:00
Ohm Patel
39b565d8d8
Refactor JesseW's suggestions
2016-01-02 18:52:28 -06:00
Ohm Patel
1bb55c5c13
ABrainz: Used existing initial_key variable
2016-01-02 14:55:34 -06:00
Ohm Patel
4184f9dd13
ABrainz: Chords metadata from low_level
2016-01-02 12:03:07 -06:00
Ohm Patel
17dd7496a2
ABrainz: Added low-level data and updated docs
2016-01-02 11:33:19 -06:00
Diego Moreda
75636a2503
Merge branch 'master' of github.com:sampsyo/beets into prompthook
...
Conflicts:
docs/changelog.rst
2016-01-02 13:39:42 +01:00
Diego Moreda
9bba782e9c
mbsubmit: final style fixes ( closes #1779 )
2016-01-02 13:32:52 +01:00
Ohm Patel
c5f25429e9
ABrainz: Fixed docstrings and documentation
2016-01-01 18:29:36 -06:00
Ohm Patel
52de238076
ABrainz: Removed PEP8 Whitespace violation
2016-01-01 01:32:42 -06:00
Ohm Patel
82709f1c1b
ABrainz: Added more metadata for plugin to fetch and updated docs
2016-01-01 01:28:17 -06:00
Ohm Patel
26679f891e
ABrainz: Added acousticbrainz to autotagger and updated docs
2016-01-01 01:01:14 -06:00
Adrian Sampson
b0c94f4f47
Merge pull request #1785 from sampsyo/play-fix-cleanup
...
play: remove dead code, fix error catching
2015-12-31 14:38:04 -08:00
nath@laptop
775ac4ed83
play: Log exception from os call more accurately
...
Depending on raw or not, we do not necessarily play a 'playlist'. Use 'query' generically instead.
2015-12-31 21:49:03 +01:00
Adrian Sampson
aad2cf1feb
acousticbrainz: Log an error for missing data
2015-12-31 11:38:05 -08:00
Adrian Sampson
3a3dc8b3ae
acousticbrainz: Don't write tags
...
Since we aren't updating any on-disk tags anyway.
2015-12-31 11:35:14 -08:00
Adrian Sampson
5d89b7da67
acousticbrainz: Allow filtering on a query
...
Like other, similar commands.
2015-12-31 11:33:58 -08:00
Adrian Sampson
878161bb4f
acousticbrainz: Avoid re-parsing the JSON
2015-12-31 11:31:32 -08:00
Adrian Sampson
18e5b30d19
acousticbrainz: Handle requests errors
2015-12-31 11:29:57 -08:00
Adrian Sampson
eb2b081dfd
acousticbrainz: A bit more logging
...
This way, the command shows you that it's making progress.
2015-12-31 11:28:28 -08:00
Adrian Sampson
519f86fd3a
Merge pull request #1784 from opatel99/AcousticBrainzPlug
...
AcousticBrainz Plugin
2015-12-31 11:17:44 -08:00
Ohm Patel
ad57943819
Updated Copyright Year
2015-12-31 09:35:01 -06:00
Ohm Patel
6337b7ff08
Rename commands and files
2015-12-31 08:57:19 -06:00
Ohm Patel
5201e1cde7
Rename
2015-12-31 08:56:55 -06:00
nath@laptop
f685a59e71
play: remove dead code
...
This piece of code won't ever execute because interactive open terminates python execution
2015-12-31 13:51:18 +01:00
Ohm Patel
d15d7efbf4
ABrainz: Removed repeated portion of error message
2015-12-31 00:53:05 -06:00
Ohm Patel
ed6d9087a9
ABrainz: Added error catching and renamed to abrainz
2015-12-31 00:50:49 -06:00
Ohm Patel
59a1333732
ABrainz: Renamed danceable to dance to match five character attribute
2015-12-30 23:38:19 -06:00
Ohm Patel
9daa02b5b0
ABrainz: Added write for three attributes to metadata and easier
...
dictionary traversal format.
2015-12-30 23:34:56 -06:00
Ohm Patel
29e6cbedfe
ABrainz: Added copyright header, docstrings, and followed long line
...
standards.
2015-12-30 22:27:53 -06:00
Adrian Sampson
c0dde8da28
echonest: Fix capitalization in help text
2015-12-30 20:23:29 -08:00
Ohm Patel
ff81bbf8f5
ABrainz: Added first pass of plugin. Only prints MBID and response status code to console.
2015-12-30 22:03:50 -06:00
Diego Moreda
418ad58686
Merge remote-tracking branch 'upstream/master' into prompthook
2015-12-30 20:23:44 +01:00
Diego Moreda
798dd72bb6
mbsubmit: style fixes
2015-12-30 20:19:03 +01:00
Jack Wilsdon
12cd5306b7
Update copyright dates to 2016
2015-12-30 15:42:06 +00:00
Lachlan Charlick
0d16f764f2
fetchart: Tidier google backend configuration keys
2015-12-30 13:34:58 +10:30
Diego Moreda
8746869f7c
mbsubmit: cleanup, revise logic, config options
...
* Cleanup the "mbsubmit" plugin to remove a choice ("print tracks and skip")
and make the logic depend on the strength of the Recommendation.
* Add configuration options for the Recommendation threshold that triggers
the addition of the "Print tracks" choice and for the formatting string to
be used for printing the items.
* Include link to the official-ish MusicBrainz format page on the docstring.
2015-12-29 17:26:42 +01:00
Lachlan Charlick
7b273b4310
fetchart: PEP8 fixes
2015-12-29 17:29:17 +10:30
Lachlan Charlick
b017a750d8
Merge remote-tracking branch 'upstream/master' into fetchart-google
2015-12-29 16:00:19 +10:30
Adrian Sampson
a976c371f6
lyrics: Disable Genius backend by default ( #1770 )
2015-12-28 16:35:39 -08:00
Adrian Sampson
1a2ffd0426
lyrics: Catch errors in Genius backend ( fix #1770 )
...
The HTTP requests had no error handling. Now they have lots.
2015-12-28 16:32:28 -08:00
Lachlan Charlick
be64df6409
fetchart: Handle errors when parsing malformed JSON from google
2015-12-29 01:48:33 +10:30
Lachlan Charlick
2e10b8c284
fetchart: Pass config object to backends when initialized
2015-12-29 01:37:53 +10:30
Lachlan Charlick
03a41e82da
fetchart: minor google backend refactor
2015-12-29 00:02:41 +10:30
Lachlan Charlick
99fb656f52
fetchart: Remove some debug logging from google backend
2015-12-28 23:57:38 +10:30
Lachlan Charlick
deadc4d049
fetchart: Automatically disable google backend if no API key is set
2015-12-28 23:57:03 +10:30
Lachlan Charlick
b73cfb9f8d
fetchart: Fix typo in google API config key
2015-12-28 23:53:56 +10:30
Lachlan Charlick
ff15f4af9b
fetchart: Use config singleton rather than passing object to each backend
2015-12-28 23:42:11 +10:30
Lachlan Charlick
c14abe56a5
fetchart: Add new google backend using google custom search
...
Requires an API key from google similar to lyrics plugin.
Limited to 100 queries/day.
2015-12-28 23:16:12 +10:30
Adrian Sampson
b25b4db9e1
replaygain: Dodge possible encoding issues
...
In error reporting. May avoid the error in #1774 , but it's hard to find out
exactly what the Python types of these arguments are from the GStreamer
documentation.
2015-12-26 22:40:13 -08:00
Diego Moreda
6f8a1aa40a
Prompt event documentation and mbsubmit fixes
...
* Fixes for documentation of the prompt event (missing reserved letter, typos).
* Update sample mbsubmit plugin to conform to the new PromptChoice structure.
2015-12-16 19:26:39 +01:00
Diego Moreda
f5241f7c28
mbsubmit: update to style changes, remove comments
...
* Update mbsubmit plugin in order to use PromptChoice instead of the previous
ExtraChoice.
* Remove comments as they are now present on the pull request and documentation.
2015-12-15 20:15:42 +01:00
Diego Moreda
03dea7459e
Merge remote-tracking branch 'upstream/master' into prompthook
2015-12-15 16:30:51 +01:00
Adrian Sampson
7749cba00e
scrub: Demote a log message to debug
...
This seems unnecessary in the `beet scrub` output.
2015-12-12 18:29:49 -08:00
Adrian Sampson
d5c51dd816
scrub: Restore tags & art in auto mode ( #1657 )
2015-12-12 18:28:58 -08:00
Adrian Sampson
f5448d1531
scrub: Run on import in auto mode ( #1657 )
2015-12-12 18:20:05 -08:00
Adrian Sampson
5a285cc11f
Fix #1673 : Escape regex terms in lyrics
2015-12-12 18:09:24 -08:00
Adrian Sampson
d11fe020ce
snake_case variable names
2015-12-12 18:03:12 -08:00
Adrian Sampson
6f6794f560
Merge pull request #1706 from sampsyo/editor
...
Edit plugin
2015-12-12 18:00:25 -08:00
Adrian Sampson
5597313ea0
fetchart: Remove Google backend ( fix #1760 )
2015-12-12 16:47:00 -08:00
Adrian Sampson
3314db2f77
fetchart: Better logging for iTunes ( #1760 )
2015-12-12 16:44:55 -08:00
Diego Moreda
11f4add687
mbsubmit: add example mbsubmit plugin
...
* Add example "mbsubmit" plugin, which allows the user to print the tracklist
of an unmatched album during the import process in a format understood by
MusicBrainz track parser.
* The plugin listens for the before_choose_candidate event and appends the
track printing options depending on the task status (candidates and
recommendation).
2015-12-11 16:04:13 +01:00
Peter Kessen
f1f1288b30
Merge branch 'master' into editor
2015-12-02 21:35:33 +01:00
Adrian Sampson
a333777946
Merge pull request #1737 from diego-plan9/mbtracks
...
info plugin: Allow custom formatting and human-readable lengths
2015-11-26 10:31:12 -08:00
Diego Moreda
3cdcaa45a8
info: modify emitter output, clearer path handling
...
* Make emitters produce a pair (dict, Item), in order to preserve the output
at print_data (dict is used if no custom format is specified, Item otherwise).
* Simplify the handling of the paths, printed at the top of print_data. The
path key is removed from the dict entirely and fetched from the Item.
2015-11-26 15:55:00 +01:00
Diego Moreda
ca63311101
info: revert human_length changes 2
...
* Remove human_length parameter from print_data()
2015-11-25 17:36:51 +01:00
Diego Moreda
83279ebe5b
info: revert human_length changes
...
* Remove human length changes from the plugin and the tests, as they will
eventually be handled at a higher level.
2015-11-25 16:06:19 +01:00
Diego Moreda
8d9db9ffe6
info: minor cleanups
...
* Rename filter() function to avoid warning of reserved built-in symbol.
* Remove mediafile fixture on two tests.
2015-11-24 16:41:56 +01:00
Diego Moreda
1ef407672a
info: add item format and length format arguments
...
* Add custom output formatting via a format string to InfoPlugin. The command
accepts a formatting string via the "-f" parameter, which is handled by its
CommonOptionsParser and applied during print_data().
* Modify the emitters in order to include an Item into the list of fields, that
is formatted according to the format string if specified.
* Add an argument to allow the user to choose if track lengths are displayed as
raw floats or using a human-readable form (mm:ss), defaulting to human-readable
form.
2015-11-24 16:31:01 +01:00
Adrian Sampson
c90ca1096c
fetchart: Log reasons for rejecting art
2015-11-23 17:30:09 -08:00
Adrian Sampson
1d0984a294
Slight log rewording
2015-11-21 12:54:50 -08:00
Adrian Sampson
eb68177fee
Fix #1735 : convert --pretend encoding error
2015-11-21 12:40:45 -08:00
Adrian Sampson
6c0f43cf1c
Thumbnails: Fix string memory management
...
Should fix #1433 . The problem now was that we were freeing the string memory
that Python expected to be managing in a string object held by the `uri`
variable. Now, we do a silly dance to copy the memory out of the buffer
returned by the library and return that instead.
2015-11-20 11:26:35 -08:00
Adrian Sampson
530b42156b
Thumbnails: Declare more interface types
...
Seems to address a segfault indicated in #1433 , but there are still crashes
lurking.
2015-11-20 10:55:25 -08:00
Adrian Sampson
69ffb83453
Eliminate some copypasta
2015-11-19 16:26:27 -08:00
Adrian Sampson
f995ab38db
Fix a test and a bug revealed by a test
2015-11-19 16:11:45 -08:00
Adrian Sampson
437959018c
Pass through certain "safe" types to YAML
...
This avoids some round-tripping problems with types (such as ScaledInt) that
are not represented in strings with 100% fidelity. It also makes the syntax
nicer when editing numbers and booleans: they no longer appear to be
needlessly surrounded by quotes in the YAML.
2015-11-19 16:07:20 -08:00
Adrian Sampson
0e20770cc3
Convert YAML keys and values back to strings
...
I hadn't quite realized before that the user could also change the *keys* to
be non-strings too! This also prevents against that by just reinterpreting
everything as strings.
2015-11-19 15:38:20 -08:00
Adrian Sampson
0873d31419
Catch unexpected YAML type
...
We need a sequence of dictionaries back; validate this assumption.
2015-11-19 15:34:49 -08:00
Adrian Sampson
3176b83cd7
Use type-based formatting and parsing
...
All editable values are now strings and are parsed from strings. This closely
matches the behavior of the `modify` command, for example.
2015-11-19 15:25:49 -08:00
Peter Kessen
6b408507f6
added encoding as comment in files
...
added line like
# -*- coding: utf-8 -*-
to all files without license
2015-11-19 18:52:57 +01:00
Peter Kessen
3eb8008b11
added encoding as comment in files
...
added line like
# -*- coding: utf-8 -*-
to all files with correct license in header
2015-11-19 18:41:01 +01:00