ybnd
3f896ab281
Make Tekstowo scraper more specific
2022-01-10 19:03:36 +01:00
J0J0 T
e35c767e2c
Skip Discogs query on insufficiently tagged files
...
- When files are missing both, album and artist tags, the Discogs metadata
plugin sends empty information to the Discogs API which returns arbitrary
query results.
- This patch catches this case and states it in beets import verbose output.
2022-01-10 08:27:18 +01:00
mousecloak
438262844a
Fixed style violation
2022-01-07 21:39:19 -08:00
Adrian Sampson
c38f10e16e
Merge branch 'master' into convert-logging-respect-quiet
2022-01-07 21:34:19 -08:00
mousecloak
ec06694097
Makes the import converter respect the quiet and pretend flags.
...
When the delete_originals was set, beets would print the following, regardless
of the presence of the quiet parameter:
convert: Removing original file /path/to/file.ext
This commit ensures that the log is only printed when quiet is not present.
2022-01-07 21:29:43 -08:00
Lars Kruse
a09c80447a
beetsplug/web: fix translation of query path
...
The routing map translator `QueryConverter` was misconfigured:
* decoding (parsing a path): splitting with "/" as tokenizer
* encoding (translating back to a path): joining items with "," as separator
This caused queries containing more than one condition (separated by a
slash) to return an empty result. Queries with only a single condition
were not affected.
Instead the encoding should have used the same delimiter (the slash) for the
backward conversion.
How to reproduce:
* query: `/album/query/albumartist::%5Efoo%24/original_year%2B/year%2B/album%2B`
* resulting content in parsed argument `queries` in the `album_query` function:
* previous (wrong): `['albumartist::^foo$,original_year+,year+,album+']`
* new (correct): `['albumartist::^foo$', 'original_year+', 'year+', 'album+']`
2022-01-06 22:00:26 +01:00
Adrian Sampson
5d0442f094
Merge pull request #4190 from patrick-nicholson/limit-plugin
...
Limit plugin
2021-12-27 17:01:09 -08:00
patrick-nicholson
a3754f7592
Test failing due to unidentified argument processing issue; replacing with API calls gives expected results.
...
Fixed some linting issues.
2021-12-27 13:26:38 -05:00
patrick-nicholson
6c64ab6df1
Noticed GitHub linter wanted a docstring.
2021-12-27 12:11:18 -05:00
patrick-nicholson
24bc4e77e2
Being more careful about truthiness and catching negative values (they could be supported, but it's probably not intuitive).
...
Moving command into single plugin as suggested.
Fixing linter objections.
2021-12-26 21:56:57 -05:00
Adrian Sampson
17410cdbb5
Merge branch 'master' into deezer-paginate
2021-12-19 07:32:12 -08:00
Dominik Schrempf
969f045610
fix deezer pagination
...
See #4180 , and #4198 .
2021-12-19 00:55:20 +01:00
Dominik Schrempf
fd761cb1e6
fix spotify pagination
...
Basically, keep fetching tracks until there are no more available for
the specified album.
Fixes #4180 .
2021-12-19 00:16:07 +01:00
Adrian Sampson
3fcedba5c9
Merge branch 'master' into pr_deezer_tolerate_missing_fields
2021-12-12 14:33:30 -05:00
ybnd
82a2a22365
deezer: Tolerate missing fields when searching for singletons
2021-12-12 15:49:29 +01:00
ybnd
ca37c94337
kodiupdate: Support multiple instances
2021-12-12 13:39:18 +01:00
Patrick Nicholson
cdb6b21f1a
Adding limit and its documentation
2021-12-07 18:47:55 -05:00
tummychow
74522b41a9
Add default for unimported.ignore_subdirectories
2021-12-01 10:54:33 -08:00
Ramon Boss
69fe1d1baf
fix: use query param for genius search
2021-11-30 20:10:56 +01:00
Adrian Sampson
c03e0ebef0
Merge pull request #4160 from beetbox/filter-img-filename
...
aura: Sanitize filenames in image IDs
2021-11-26 15:50:32 -05:00
Adrian Sampson
1fad3d01ae
aura: Sanitize filenames in image IDs
...
When constructing paths to image files to serve, we previously spliced
strings from URL requests directly into the path to be opened. This is
theoretically worrisome because it could allow clients to read other
files that they are not supposed to read.
I'm not actually sure this is a real security problem because Flask's
URL parsing should probably rule out IDs that have `/` in them anyway.
But out of an abundance of caution, this now prevents paths from showing
up in IDs at all---and also prevents `.` and `..` from being valid
names.
2021-11-26 15:35:07 -05:00
Arsen Arsenović
0b578a3384
fetchart: add option to force cover format
2021-11-03 13:31:33 +01:00
Piotrek Kochański
4d94bf8fad
Merge branch 'master' of github.com:beetbox/beets into deinterlace
2021-11-01 21:33:27 +01:00
Benedikt
82285052b1
Merge pull request #4130 from wisp3rwind/pr_rm_gmusic
...
remove the gmusic plugin
2021-11-01 18:40:34 +01:00
Piotrek Kochański
1a130059e8
deinterlace option to affect when no other processing
...
remove interlacing by default when resizing/down-scaling, the
`deinterlace` option is to remove interlace when otherwise no processing
would have happened.
2021-11-01 13:51:57 +01:00
Piotrek Kochański
417ef0d453
Merge branch 'master' of github.com:beetbox/beets into deinterlace
2021-10-31 13:27:00 +01:00
Tianon Gravi
6e434934d4
Remove completed TODO item
2021-10-30 11:19:21 -07:00
wisp3rwind
786236f046
remove the gmusic plugin
2021-10-30 14:46:14 +02:00
Tianon Gravi
9ddc75035a
Fix duplicated output in "beet export"
2021-10-27 09:06:27 -07:00
Tianon Gravi
7bd36ed6ca
Add "beet export --album" (matching "beet info --album")
2021-10-27 08:55:36 -07:00
Tianon Gravi
a5b5831d28
Switch "beet info --album" approach to use a named argument instead
...
These functions are also used by the export plugin, so it's useful if the signature stays backwards compatible.
2021-10-27 08:27:39 -07:00
Tianon Gravi
d8cff030a6
Add a basic "--album" flag to "beet info"
...
This currently implies "--library" because I'm not sure what "album info" of the tags of individual files would mean.
2021-10-26 09:00:31 -07:00
maffo999
c824d4d773
Fix for 4108
2021-10-21 16:32:23 +02:00
Jay DesLauriers
b05432aed0
feat(unimported): support excluding subdirectories
2021-10-12 17:28:43 +00:00
Andrew Rogl
b880e2db8a
Final clean up
2021-10-05 13:00:38 +10:00
Andrew Rogl
f7539b3ec3
Update to extract regex testing from album_for_id
2021-10-04 17:38:35 +10:00
Andrew Rogl
db0431deed
Updated as per feedback from @wisp3rwind
...
I think I have the match.group correct
I'll also try and look at tests to make sure we can check
2021-10-04 10:53:06 +10:00
Andrew Rogl
a8b8d05ac5
Update comment around Discogs-ID
2021-10-03 10:23:10 +10:00
Andrew Rogl
ade9978f7e
Updated after feedback from @wisp3rwind
2021-10-02 21:39:26 +10:00
Andrew Rogl
39def81d1c
Fix lint error
2021-10-02 14:20:17 +10:00
Andrew Rogl
c4f2fffb63
Fix #4080
...
Tested with
https://www.discogs.com/SHOUSE-Love-Tonight-Robin-Schulz-Remix/release/20356324
https://www.discogs.com/release/20356324-SHOUSE-Love-Tonight-Robin-Schulz-Remix
2021-10-02 14:12:01 +10:00
Adrian Sampson
a0365e6f1c
Merge branch 'master' into pr_fix_lyrics_bs
2021-09-28 16:04:06 -04:00
Andrew Rogl
237bd07508
Address feedback from @sampsyo
2021-09-28 18:05:44 +10:00
wisp3rwind
a23857fc64
lyrics: fix crash when beautifulsoup4 is not installed
...
Fixes #4027
2021-09-28 00:31:42 +02:00
Andrew Rogl
ac6cc2ffa4
Fix up invalid master merges
2021-09-26 17:33:15 +10:00
Andrew Rogl
ed07bb5b7e
Merge branch 'master' into pyupgrade
2021-09-26 17:22:15 +10:00
Andrew Rogl
fc4d65a387
Missed a few unicode strings
2021-09-26 16:51:01 +10:00
Andrew Rogl
5859d31405
Commit #4036
2021-09-26 16:41:13 +10:00
Andrew Rogl
6cd7998c3d
Forgot to pyupgrade new file
2021-09-26 16:27:20 +10:00
Andrew Rogl
8205b901db
Commits #4048 & #4050
2021-09-26 16:03:00 +10:00
Duncan Overbruck
f5e336747a
Add permissions test case for set_art event
2021-09-12 16:40:58 +02:00
Duncan Overbruck
264e771e7c
permissions: set album art permissions
2021-09-12 16:40:44 +02:00
Edgars Supe
d40f0c8860
Fill default config for albumtypes plugin
2021-09-10 14:48:28 +03:00
Edgars Supe
131befa132
Improve albumtypes plugin code
2021-09-10 10:23:47 +03:00
Edgars Supe
bee35885bb
Add albumtypes plugin
2021-09-09 23:05:12 +03:00
Andrew Rogl
9106b41a50
Remove as many as possible sys.version tests
2021-08-27 10:24:27 +10:00
Piotrek Kochański
d30c8b32b5
Remove unnecessary line break.
2021-08-26 15:02:51 +02:00
Andrew Rogl
ee4268dabb
Remove unused imports
...
Fix imports
Fix formatting
2021-08-26 20:59:48 +10:00
Andrew Rogl
1ec87a3bdd
pyupgrade beetsplug and tests
...
All tests working
More tidy up to be done
2021-08-26 19:12:51 +10:00
Piotrek Kochański
0a0719f9ed
Add plugin option to store cover art non-progressive.
2021-08-25 22:56:46 +02:00
Adrian Sampson
fd81d65c4b
Undo string type inversion in convert
2021-08-21 13:24:18 -04:00
Adrian Sampson
e6a1f5a3dc
convert: Split command in str form
...
...with yet another round-trip conversion. :/
2021-08-19 17:24:01 -04:00
Adrian Sampson
2f5f9ea174
Remove shlex_split utility
...
This works around a bug that does not exist in Python 3.x, and the
workaround (by calling the underlying shlex.split function with bytes)
was causing crashes on some versions of Python 3. Seemed to work fine on
3.10-dev, though, oddly.
2021-08-19 17:14:16 -04:00
Adrian Sampson
75c41c0546
Remove most six.PY2 checks
2021-08-19 16:45:11 -04:00
Kirill A. Korinsky
b0f7418372
Stream-friendly smart playlists
...
This commit introduced a way to generate a stream-frienldy playlists.
2021-08-14 02:41:22 +02:00
maffo999
5dbc7f9f33
Moved logging to debug and fixed empty line. Updated changelog to include new option.
2021-07-15 20:13:18 +02:00
maffo999
653181a296
Fix subsonicupdate plugin
2021-07-14 20:10:04 +02:00
wisp3rwind
0c285753fb
lyrics: Add some missing None-checks to the Tekstowo source
...
The previous code had the potential to crash if (when?) Tekstowo changes
their website structure sufficiently.
The new code is rather ugly due to the explicit checks after each and
every function call. Unfortunately, the alternative would be to catch a
bunch of very generic Exceptions (AttributeError, ...), since there's no
such thing as a `BeautifulSoupNotFoundError`.
2021-07-04 10:38:00 +02:00
wisp3rwind
09be82bd75
lyrics: slightly more consistent white space in Tekstowo source
2021-07-04 00:35:42 +02:00
Martin Atukunda
efcc5b3fae
return None for lyrics if Tekstowo fails to extract lyrics
...
I experienced a failure to parse Tekstowo for song lyrics.
This patch allowed the lyrics plugin to fetch the lyrics from another provider as opposed to failing.
2021-07-01 09:39:42 +03:00
wisp3rwind
d6ca1cc242
duplicates: fix crash when query return empty results
2021-06-18 17:18:50 +02:00
wisp3rwind
316b79f72f
lyrics: slightly refactor beautifulsoup checks
...
instead of having a global list of sources that require the package,
indicate the dependency using an attribute of the source class
2021-06-18 17:16:04 +02:00
wisp3rwind
038cebfa9b
lyrics: remove duplicate check for beautifulsoup
...
The plugin already disables these sources entirely when beautifulsoup is
not available
2021-06-18 17:16:04 +02:00
wisp3rwind
867d383544
lyrics: wrap BeautifulSoup() constructor to centralize error handling
...
also ensure that the return value is always checked for None
2021-06-18 17:16:04 +02:00
wisp3rwind
b34442f5d1
lyrics: always check for fetch_url() returning None
2021-06-18 17:16:04 +02:00
wisp3rwind
f8a4c661fa
lyrics: return None explicitly
2021-06-18 17:16:04 +02:00
wisp3rwind
76aa97827d
lyrics: rename html -> soup for consistency
2021-06-18 17:16:04 +02:00
Andrew Rogl
51d922df27
Merge branch 'master' into fix_#2873
2021-05-24 16:21:27 +10:00
Andrew Rogl
81e50cb630
Too quick to delete
2021-05-23 15:43:14 +10:00
Andrew Rogl
39ca5b7be6
Changes as requested
2021-05-23 14:45:02 +10:00
sandersantema
f3e1d90470
Avoid usage of walrus operator which is only compatible with > 3.8
2021-05-13 12:58:26 +02:00
sandersantema
2cd15a7434
Add itunes_dateadded to itunes metasync plugin
2021-05-13 12:32:42 +02:00
Andrew Rogl
923e3bacd6
Attempt to fix duplicates #2873
2021-05-03 16:03:40 +10:00
Sam Thursfield
2fa3717731
Optimise FormattedMapping when querying a specific set of fields
...
This changes greatly improves the speed of `beet export` and `beet info`
when the `--include-keys` option is used. It also removes the globbing
feature of `--include-keys` that was added in #1295 . (See #3762 for
discussion).
Listing all fields for an item requires querying the database to find
any flex attributes. This is slow when done for every item being
exported. We already have a way for the user to specify a fixed set
of keys, but we previously queried everything and filtered it afterwards.
The new approach is more efficient.
Code that iterates through all fields now have to handle invalid field
names. The export and info plugins output invalid fields as None.
Timings before:
> /usr/bin/time beet export -i title,path,artist -l Bob Dylan
13.26user 20.22system 0:34.01elapsed 98%CPU (0avgtext+0avgdata 52544maxresident)k
> /usr/bin/time beet export -l Bob Dylan
12.93user 20.15system 0:33.58elapsed 98%CPU (0avgtext+0avgdata 53632maxresident)k
Timings after:
> /usr/bin/time beet export -l Bob Dylan
13.33user 20.17system 0:34.02elapsed 98%CPU (0avgtext+0avgdata 53500maxresident)k
> /usr/bin/time beet export -i title,path,artist -l Bob Dylan
0.49user 0.07system 0:00.56elapsed 98%CPU (0avgtext+0avgdata 50496maxresident)k
Notice the dramatic speedup in the last example!
2021-05-01 23:41:09 +02:00
Xavier Hocquet
8b979f2a50
Review comments
2021-04-11 18:38:01 -05:00
Xavier Hocquet
31f4df3ff3
Fix falso positive lyric pages for Tekstowo
2021-04-11 17:30:45 -05:00
Evgeniy Gurevich
afc072801c
Simplify Musixmatch multi-part lyrics parser
2021-04-02 10:35:53 +08:00
Evgeniy Gurevich
a8fe8ce9a7
Fix for Musixmatch multi-part lyrics
...
Sometimes Musixmatch lyrics come in 2 parts.
Also, sometime non-existent lyrics return some content
2021-04-01 14:21:49 +08:00
Adrian Sampson
eab4372a58
Merge pull request #3900 from Lanny/master
...
badfiles: Optionally run checkers during import
2021-03-29 19:28:30 -04:00
Ryan Lanny Jenkins
79616b42ed
Use simpler approach of asserting that at most one handler of import_task_before_choice returns an action.
2021-03-28 16:53:01 -05:00
Xavier Hocquet
6081e6a8df
CR comments
2021-03-28 13:08:00 -05:00
Xavier Hocquet
8c6530369d
Merge branch 'master' into tekstowo-lyrics
2021-03-28 12:05:42 -06:00
Ryan Lanny Jenkins
6c4cb82c03
badfiles: Respect any previous decision to skip an import and don't re-prompt the user.
2021-03-27 12:03:56 -05:00
Ryan Lanny Jenkins
1d4a2c3e2a
Add a new hook for badfiles pre-import user interaction, instead of flagging the task.
2021-03-27 11:37:26 -05:00
Ryan Lanny Jenkins
9c17d9a924
linting
2021-03-24 17:29:16 -05:00
Ryan Lanny Jenkins
3e1fe88053
Merge branch 'master' of https://github.com/beetbox/beets
2021-03-24 16:59:24 -05:00
Ryan Lanny Jenkins
2c9f3d6464
Add check_on_import config for badfiles.
2021-03-24 16:51:58 -05:00
Ryan Lanny Jenkins
e96b5a7eba
Check files during import, show checker warnings and errors along with tagging choices.
2021-03-23 21:55:51 -05:00
wisp3rwind
9a6b65351b
Merge pull request #3560 from davidswarbrick/master
...
Album Art Resize to filesize
2021-03-23 12:15:51 +01:00
wisp3rwind
af70b75670
fetchart/artresizer: Improve comments & docstrings, avoid os.stat if
...
possible
slight enhancements on top of https://github.com/beetbox/beets/pull/3560
2021-03-23 12:04:30 +01:00
David Swarbrick
07b5e69f40
fetchart/artresizer: add max_filesize support ( #3560 )
...
Squashed from the PR, relevant commit messages follow below:
Added file size option to artresizer
- In line with comments on PR, adjusted the ArtResizer API to add
functionality to "resize to X bytes" through `max_filesize` arg
- Adjustment to changelog.rst to include max_filesize change to ArtResizer
and addition of new plugin.
Added explicit tests for PIL & Imagemagick Methods
- Checks new resizing functions do reduce the filesize of images
Expose max_filesize logic to fetchart plugin
- Add syspath escaping for OS cross compatibility
- Return smaller PIL image even if max filesize not reached.
- Test resize logic against known smaller filesize (//2)
- Pass integer (not float) quality argument to PIL
- Remove Pillow from dependencies
- Implement "max_filesize" fetchart option, including
logic to resize and rescale if maxwidth is also set.
Added tests & documentation for fetchart additions.
Tests now check that a target filesize is reached with a
higher initial quality (a difficult check to pass).
With a starting quality of 95% PIL takes 4 iterations to succeed
in lowering the example cover image to 90% its original size.
To cover all bases, the PIL loop has been changed to 5 iterations
in the worst case, and the documentation altered to reflect the
50% loss in quality this implies. This seems reasonable as users
concerned about performance would most likely be persuaded to
install ImageMagick, or remove the maximum filesize constraint.
The previous 30% figure was arbitrary.
2021-03-23 12:00:14 +01:00
Adrian Sampson
d7c556f7d1
Remove stray cue plugin ( fix #3892 )
2021-03-20 09:04:03 -04:00
Benedikt
e5f1cca8a3
Merge pull request #3890 from wisp3rwind/pr_rg_import_fixes
...
replaygain: fix write/force flags on import
2021-03-18 22:42:42 +01:00
Benedikt
c8c73cc789
Merge pull request #3891 from wisp3rwind/pr_rg_de-nest
...
replaygain: don't nest functions when there's no need to
2021-03-18 22:41:13 +01:00
wisp3rwind
d3ec2106cd
replaygain: fix write/force flags on import
...
This restores old behaviour.
2021-03-18 18:37:15 +01:00
wisp3rwind
0125fdf415
replaygain: don't nest functions when there's no need to
2021-03-18 18:31:00 +01:00
Benedikt
eea5c6d1f0
Merge pull request #3888 from wisp3rwind/pr_rg_cleanup
...
replaygain: remove debugging leftovers
2021-03-18 18:00:41 +01:00
wisp3rwind
feb5041f57
replaygain: remove debugging leftovers
2021-03-18 14:29:28 +01:00
Adrian Sampson
42d9a54ae6
Merge pull request #3885 from nicksellen/fix/no-ascii-encode
...
Remove ascii encode step
2021-03-17 07:58:48 -04:00
Nick Sellen
6dc1f6414d
Remove ascii encoding step now library is fixed
2021-03-17 09:06:35 +00:00
Graham R. Cobb
c3485b5b04
Remove unnecessary call to format.
...
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-16 22:36:42 +00:00
Graham R. Cobb
b0110fa224
Try again to fix unidecode_list for python2 support
...
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-16 16:40:43 +00:00
Graham R. Cobb
cad2c055c5
Make unicode handling explicit, to support python 2 and 3.
...
Add link to Unidecode library in docs.
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-16 16:29:57 +00:00
Graham R. Cobb
0078b02085
Python2 support for bareasc command
...
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-16 14:50:51 +00:00
Graham R. Cobb
d1ec7b4b70
Add `bareasc` command to display entries with the unidecode transformation
...
applied.
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-16 11:57:52 +00:00
Graham R. Cobb
fab7a27e9f
Add a couple more tests and make lint happy.
...
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-15 12:43:58 +00:00
Graham R. Cobb
dcbe622b76
Oops, use in for matching! (It was late last night!)
...
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-15 10:25:19 +00:00
Graham R. Cobb
7dd1ee3fab
Remove debugging print.
...
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-15 01:09:50 +00:00
Graham R. Cobb
0c612f408b
Create plugin for "bare-ASCII" matching query
...
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-15 00:55:14 +00:00
Adrian Sampson
c4347960ea
Merge pull request #3877 from GrahamCobb/web-readonly
...
Web readonly
2021-03-12 17:51:57 -05:00
Graham R. Cobb
4ffe9a2c45
Fixed bug where readonly value was not being read from config file.
...
Also simplified the setup of the `readonly` value in the tests which
fixes a test ordering issue found using --random-order.
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-12 17:58:35 +00:00
Benedikt
feb305f8fc
Merge pull request #3873 from akshgpt7/chore-refactor-issues
...
Refactor code quality issues
2021-03-12 01:00:43 +01:00
Graham R. Cobb
51d22b765e
Add tests for delete operations
...
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-11 18:02:38 +00:00
Graham R. Cobb
4a9652a9e4
Only allow DELETE or PATCH operations if "readonly" is set to true.
...
Note: default is false which is a **NOT BACKWARDS COMPATIBLE** change.
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-11 18:02:38 +00:00
Aksh Gupta
79858975a9
chore: refactor code quality issues
2021-03-11 08:45:42 +05:30
Adrian Sampson
84f6d374c4
Merge pull request #3869 from GrahamCobb/web-regex-fix
...
Web regex fix
2021-03-10 20:36:03 -05:00
Graham R. Cobb
553e38fc11
Do not do backslash substitution on regex queries
...
As discussed in bug #3867 , backslash replacement in query strings is a bit of a
hack but it is useful (see #3566 and #3567 for more discussion). However,
it breaks many regular expressions so this patch stops the replacement if the
query term contains '::', indicating it is a regex match.
This commit fixes #3867 .
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-08 16:58:05 +00:00
govynnus
debd382837
Merge pull request #3758 from beetbox/aura
...
AURA: Add aura plugin and docs
2021-03-08 07:24:53 +00:00
Callum Brown
a24a094562
AURA: Small updates to docs and set server version
2021-03-07 18:24:57 +00:00
Callum Brown
a54ee43d57
AURA: Allow '-' character in filter attribute
2021-03-07 14:23:17 +00:00
Adrian Sampson
09a6ec4f74
Merge branch 'master' into pr/item-album-fallback
2021-03-07 09:20:50 -05:00
Callum Brown
9b9ff46e7d
Merge branch 'master' into aura
...
Ensure aura branch has updated configuration to eliminate spurious
linter errors from the style checker.
2021-03-07 11:08:37 +00:00
Callum Brown
477eed3b25
AURA: Use py3_path rather than displayable_path
...
displayable_path may remove 'bad' characters, yielding a wrong path.
Also use track.path rather than track.destination() as that is where
the file is actually located rather than where it should be located
according to the beets path system.
2021-03-07 10:25:20 +00:00
Graham R. Cobb
9986b9892c
Fix bug where album artpath not returned when INCLUDE_PATHS is set
...
Track item paths and album artpaths should be removed from results unless
INCLUDE_PATHS is set. This works for items but for albums the artpath is always
removed.
This patch makes the artpath removal conditional on INCLUDE_PATHS not being set
and includes a regression test. Note: the default value for INCLUDE_PATHS is
False so no changes will be seen by users unless they already have
INCLUDE_PATHS set.
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-06 15:25:48 +00:00
Callum Brown
2fe2f4f31e
AURA: Ensure CORS allowed origins are strings
2021-03-06 13:30:31 +00:00
Callum Brown
fbc76887ad
AURA: Fix styling when formatting error strings
2021-03-06 13:22:28 +00:00
Callum Brown
07cfaaa3b3
AURA: Simplify if statements
...
Get rid of ` is not None`
Change `len(x) == 0` to `not x`
Change `x is None` to `not x`
2021-03-06 12:44:32 +00:00
Callum Brown
b1baeb37f1
AURA: replace translate_attribute with a dict.get
2021-03-06 12:08:35 +00:00
Callum Brown
7e819d2a2e
AURA: Update artist-mbid attribute to use '-'
2021-03-06 12:01:02 +00:00
George Rawlinson
00252ab28f
Fix #3608 : Replace discogs-client with python3-discogs-client
...
discogs-client has been deprecated since June 2020, the replacement
is actively developed by the community and does not have any breaking
API changes.
Signed-off-by: George Rawlinson <george@rawlinson.net.nz>
2021-02-27 10:09:23 +13:00
Andrea Mistrali
1a65501cee
Clean up strip_path and logging
2021-02-23 10:40:59 +01:00
Andrea Mistrali
48e7d2964e
Style changes
2021-02-23 05:45:53 +01:00
Andrea Mistrali
0e67b6801c
ARGH! Wrong variable
2021-02-22 14:50:30 +01:00
Andrea Mistrali
921bc424cd
Better handling of strip_path
2021-02-22 14:47:58 +01:00
Andrea Mistrali
99de85b5c2
Only leftmost subpath is replaced
2021-02-22 14:33:01 +01:00
Andrea Mistrali
ce974d4fc7
One line :)
2021-02-22 14:30:50 +01:00
Andrea Mistrali
414b682123
Add strip_path to mpdstats
2021-02-22 11:19:23 +01:00
Samuel Cook
ff4cec2e69
Removes support for bs1770gain.
...
References in the documentation to this plugin were removed in
beetbox/beets#3127 (beetbox/beets#3130 ) but no actual code
changes were made.
This PR removes support for this dependency entirely.
2021-01-27 17:42:18 -08:00
John Hamelink
77ce69fe77
Fixes #3834 :
...
This PR fixes a bug (#3834 ) where tracks which have already been fingerprinted do not return to be used by `beet submit` (part of the Chroma plugin). This results in submission errors, as the fingerprint is omitted from the resultant payload sent to acoustID.
2021-01-19 22:05:34 +00:00
wisp3rwind
02ec2cfd57
style: whitespace fix, remove unnecessary parenthesis
2021-01-19 19:09:30 +01:00
Benedikt
6680f692f6
Merge pull request #3832 from vincentDcmps/master
...
Automatically choose subsonic authentication algorithm based on server version
2021-01-19 19:00:10 +01:00
Martin Haaß
9587caf916
convert: uses new par_map to work in parallel ( #3830 )
...
Squashed 5 commits:
* convert: uses new par_map to work in parallel
* linting
* code review: remove unneeded list syntax
* linting
* changelog addition
2021-01-19 18:47:02 +01:00
vincent
8af088c785
manage case of supysonic off
2021-01-18 18:24:25 +01:00
vincent
9b496e5027
change comparaison version method
2021-01-13 17:50:37 +01:00
Vincent Ducamps
03a665861d
reformating subsonicupdate.py
...
Co-authored-by: Jef LeCompte <jeffreylec@gmail.com>
2021-01-12 18:31:43 +01:00
Vincent Ducamps
b37c55bc0b
pass get_version to private
...
Co-authored-by: Jef LeCompte <jeffreylec@gmail.com>
2021-01-11 21:19:52 +01:00
vincent
375c158fc7
implement version check
2021-01-11 18:29:27 +01:00
vincent
54748ad4c9
change auth option enc by password
2021-01-11 17:56:09 +01:00
vincent
93bb114175
update doc
2021-01-11 17:55:23 +01:00
vincent
c1cc91c5e9
add old password option
2021-01-10 12:30:05 +01:00
vincent
0d5ad875d4
add .view to endpoint
2021-01-10 12:19:43 +01:00
FichteFoll
5ace2b626b
Merge remote-tracking branch 'upstream/master' into pr/item-album-fallback
2021-01-08 18:47:18 +01:00
Andrew Simmons
73a7723a15
Add python version check
2021-01-06 10:33:50 -05:00
Auguste Olivry
34c38f41bd
Cosmetic fix
2021-01-05 16:15:50 +01:00
Auguste Olivry
345cf6e39b
Move index handling inside coalesce_tracks
2021-01-05 16:14:36 +01:00
Auguste Olivry
c61d18bed3
Remove semicolon when prefix is empty
2021-01-05 14:15:22 +01:00
Auguste Olivry
8bda9f991a
Keep index tracks in coalesced tracklist
2021-01-05 14:15:22 +01:00
Adrian Sampson
53dcb24d10
Merge pull request #3671 from dosoe/beets_test_parentwork
...
first try at mocking get_work_by_id
2020-12-22 12:01:17 -05:00
ybnd
eb8ba838e5
Check 'auto' on import_begin
2020-12-22 12:45:28 +01:00
ybnd
93101e7ea6
Disable replaygain parallelism during import
2020-12-21 19:19:20 +01:00
ybnd
12db40fa67
Remove .get() when checking config values
2020-12-21 08:50:39 +01:00
ybnd
1dfd79e658
Fix logic for replaygain auto-compute on import
2020-12-20 19:38:21 +01:00
Adrian Sampson
48222153ae
Merge pull request #3812 from billyjanitsch/fix-fish-completions
...
Fix escape helper in fish completion plugin
2020-12-16 08:10:48 -05:00
Billy Janitsch
c94809f6da
Fix escape helper in fish completion plugin
2020-12-16 02:15:26 -05:00
sentriz
95677c8626
lastgenre: Make TitleCasing optional
2020-12-15 23:37:16 +00:00
ybnd
e3205aacbd
Merge remote-tracking branch 'origin/master' into parallel-replaygain
2020-12-14 22:19:28 +01:00
ybnd
363f71af2e
Move OperationalError handler to test_replaygain.py
2020-12-14 22:10:54 +01:00
Adam Miller
c1d93165f0
Fix line length
2020-12-07 22:11:08 -05:00
Adam Miller
e11687f80a
keyfinder: Catch output from keyfinder-cli with no key
2020-12-07 22:04:05 -05:00
Benedikt Tissot
020c082f3f
make CI happy
2020-11-09 17:12:44 +01:00
Benedikt Tissot
57a1b3aca8
escape using helper function
2020-11-09 17:07:00 +01:00
Benedikt Tissot
8f8fd4231a
escape ? in fish completion
2020-11-09 15:55:21 +01:00
AnonTester
ecfafb5041
Adjust comment to pass lint test
2020-11-07 21:48:21 +00:00
AnonTester
176fa55bf6
lyrics: Strip \u2005 (four-per-em space) in lyrics (Issue 3789)
...
https://github.com/beetbox/beets/issues/3789
2020-11-07 21:41:16 +00:00
FichteFoll
701cd6c42b
Merge remote-tracking branch 'upstream/master' into pr/item-album-fallback
2020-11-02 00:10:46 +01:00
Callum Brown
e067298224
Add default config values in create_app()
...
So if not run through beet aura then default values will be available
2020-10-28 18:56:45 +00:00
Jack Wilsdon
580495f1d6
Simplify MusiXmatch backend and remove unused code
2020-10-05 22:56:01 +01:00
Jack Wilsdon
d115f3679b
Remove LyricWiki source
...
LyricWiki was shut down on 2020/09/21 and no longer serves lyrics.
2020-10-05 22:15:40 +01:00
Sam Thursfield
d9582f4bea
export: Add --format=jsonlines option
...
This adds support for the JSON Lines format as documented at
https://jsonlines.org/ .
In this mode the data is output incrementally, whereas the other
modes load every item into memory and don't produce output until
the end.
2020-10-02 12:41:29 +02:00
Callum Brown
e8aa96ef72
AURA: Add argument info to docstrings
...
Follows the google docstring style:
https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings
2020-09-27 18:58:39 +01:00
Callum Brown
51c3f310e9
AURA: Fix docstrings for tox -e lint
2020-09-27 18:09:16 +01:00
Callum Brown
5c875c50de
AURA: Add aura plugin and docs
2020-09-21 20:24:41 +01:00
Cadel Watson
d1f93a26a6
Fix lint errors
2020-09-20 11:30:12 +10:00
Cadel Watson
a18b317240
Add PATCH method to item queries
2020-09-20 10:46:48 +10:00
Cadel Watson
afcde697e0
Add PATCH method to Items
2020-09-20 10:45:12 +10:00
Cadel Watson
29672a434f
Add DELETE method to resource queries
2020-09-20 10:23:25 +10:00
Cadel Watson
76220fb148
Add DELETE method for items and albums
2020-09-20 10:18:07 +10:00
djl
33b10d60fb
fetchart: Improve Cover Art Archive source. ( #3748 )
...
* fetchart: Improve Cover Art Archive source.
Instead of blindly selecting the first image, we now treat all "front"
images as candidates.
This is useful where some digital releases have both an animated cover
and a still image and the animated image is the first image returned
from the API.
2020-09-13 20:27:12 +01:00
Jef LeCompte
f2a4864ab0
Merge pull request #3731 from jef/jef/fix-subsonic
2020-09-04 08:06:55 -04:00
Jef LeCompte
3c8419dbe0
fix(plugin): subsonicupdate rest call
...
Signed-off-by: Jef LeCompte <jeffreylec@gmail.com>
2020-09-04 00:51:03 -04:00
PotcFdk
2039f26f96
Update file metadata after generating fingerprintsthrough the submit command.
2020-08-26 13:36:40 +02:00
ybnd
e1876590ba
Fix replaygain.py to pass test_replaygain.py
2020-08-12 12:49:16 +02:00
ybnd
72710cd8c7
Merge branch 'master' into parallel-replaygain
2020-08-12 11:59:32 +02:00
ybnd
50757d34ad
Fix conflicts
2020-08-12 11:42:18 +02:00
Aidan Epstein
fce27e6fa9
mpdstats: Don't record a skip when stopping MPD.
...
MPD keeps the current track in the queue when stopping, so it's not
really like a skip, and I use it so that I can stop the music, and later
start at the beginning of a track.
I do this by keeping track of the current song id, and then comparing
them when we receive a stop signal.
2020-08-10 07:07:17 -07:00
soergeld
d748cc7744
small problem with parent composer
2020-08-09 18:56:52 +02:00
Samuel Cook
b89a2650cc
Delete after convert ( #3700 )
...
* If import move is true, files will be deleted after converting.
Fixes #2947
* Removed trailing whitespace to comply with W293, fixing build
* Add period to the end of the comment
Co-Authored-By: Adrian Sampson <adrian@radbox.org>
* Added changelog entry for this fix.
* Added delete_originals option to remove source files after transcode
* Added unit test, removed redundant syspath call
Co-authored-by: Logan Arens <logan-arens@users.noreply.github.com>
Co-authored-by: Logan Arens <heresmygithub@protonmail.com>
Co-authored-by: Adrian Sampson <adrian@radbox.org>
Co-authored-by: Logan Arens <logan.arens@protonmail.com>
2020-08-03 20:20:20 -05:00
Gunther Schmidl
48d39ea11e
fix regex, add test and changelog entry
2020-07-30 22:42:31 +02:00
FichteFoll
eda9930c59
Merge remote-tracking branch 'upstream/master' into pr/item-album-fallback
2020-07-27 19:32:44 +02:00
jtpavlock
335776ff30
Merge pull request #3666 from jtpavlock/flake8-errors
...
Unignore flake8 E221, E226, E242, E704
2020-07-20 12:24:52 -07:00
José Albornoz
dc7e433768
Fix thumbnail plugin pathlib bug ( #3360 )
...
PathlibURI.uri() would fail if given a path as bytes instead of as string.
Co-authored-by: Jacob Pavlock <jtpavlock@gmail.com>
2020-07-15 21:00:50 -05:00
Adrian Sampson
8537d1e36d
Merge pull request #2554 from musoke/python3-plugin-ipfs
...
compatibility of IPFS plugin with Python 3
2020-07-14 06:58:20 -04:00
soergeld
770664f27d
typo
2020-07-13 23:05:53 +02:00
wisp3rwind
44e4d558c9
lyrics: fix bad_triggers in the google plugin
...
regression from 117d16f
2020-07-12 22:23:17 +02:00
Jacob Pavlock
124c882b4d
un-ignore E221
2020-07-11 18:33:08 -07:00
Adrian Sampson
32e54a29fa
Merge pull request #3655 from aereaux/add_parentwork_date
...
Get the date of the parentwork, which may be different from the date of the child work.
2020-07-07 07:48:23 -04:00
jtpavlock
45abc9ed7a
Clean up code and tests for Genius Lyrics plugin backend ( #3641 )
...
* clean-up code & add tests for genius lyrics backend
* add genius fetch tests
* organize imports: standard lib -> pip -> local
* check in sample genius lyrics page
* fix mock import
* force utf-8 encoding for opened files
* use io.open to force utf-8 encoding w/ python2.7
2020-07-06 08:41:27 -05:00
Aidan Epstein
27199abac8
Get the date of the parentwork, which may be different from the date of the child work.
...
Also add a changelog entry and docs.
2020-07-03 09:35:15 -07:00
Mark Trolley
0f767ffa66
fetchart: Use Cover Art Archive thumbnails
...
The Cover Art Archive API offers pre-resized thumbnails of cover
art. If the `maxwidth` option of `fetchart` matches one of the
supported Cover Art Archive thumbnail sizes, and a thumbnail of
that size exists in the Cover Art Archive, fetch it directly
instead of fetching the full size image then resizing it.
2020-06-28 17:18:42 -04:00
Adrian Sampson
533cc88df2
Merge pull request #3639 from trolley/topic/coverart-fallback
...
Revert Cover Art Archive thumbnails
2020-06-27 19:46:45 -04:00
Adrian Sampson
3e32a4fb87
Merge pull request #3635 from jtpavlock/master
...
Fix genius lyrics backend artist matching with hyphens
2020-06-27 19:38:26 -04:00
Mark Trolley
a4c647be46
Revert "fetchart: Use Cover Art Archive thumbnails"
...
This reverts commit 2131f6f7d9 .
2020-06-27 16:26:52 -04:00
Mark Trolley
3232a5b8b7
Revert "Indentation fix"
...
This reverts commit 1e527ed4e5 .
2020-06-27 16:26:20 -04:00
Adrian Sampson
1e527ed4e5
Indentation fix
2020-06-27 12:49:32 -04:00
Mark Trolley
2131f6f7d9
fetchart: Use Cover Art Archive thumbnails
...
The Cover Art Archive API offers pre-resized thumbnails of cover
art. If the `maxwidth` option of `fetchart` matches one of the
supported Cover Art Archive thumbnail sizes fetch it directly
instead of fetching the full size image then resizing it.
2020-06-27 12:34:43 -04:00
Jacob Pavlock
7220c91d2a
generalize genius artist matching to use slug()
2020-06-26 18:56:20 -07:00
Jacob Pavlock
bb5740d63c
better debug message for no genius artist match
2020-06-26 16:41:20 -07:00
Jacob Pavlock
ae175e156b
fix genius lyrics artist matching when artist contains a hyphen
2020-06-26 16:10:33 -07:00
Mark Trolley
6d41f31309
Rename use_secure to secure and add to changelog
2020-06-08 20:19:19 -04:00
Mark Trolley
22d74a3b8a
feat: support secure Plex connections
2020-06-08 18:05:43 -04:00
Adrian Sampson
3aad6f42ce
Merge pull request #3602 from jef/jef/github-actions
...
feat: added github actions
2020-06-05 09:56:59 -04:00
ybnd
d1f3d664d7
Implement comments & add to changelog
2020-06-04 16:43:42 +02:00
ybnd
b239a0b3d2
Fix item == None issues when writing lyrics ReST
...
* Skip ReST writing & sphinx info messages if query doesn't yield anything
* `writerest` into `appendrest` and `writerest`, don't call `writerest(item=None)` to flush state at the end.
2020-06-04 11:15:34 +02:00
Jef LeCompte
42e5844564
fix: revert flake8 change
2020-06-04 02:09:04 -04:00
Jef LeCompte
9f8bd4cd3f
style: flake8 linting
2020-05-25 20:06:43 -04:00
Jef LeCompte
0c3201930c
feat: added github actions
...
only working with linux for now. exact replica of travis basically.
should probably try to implement the rest of tox or deprecate some
functionality.
2020-05-25 19:35:15 -04:00
Jef LeCompte
66e6b11404
refactor: moved static methods inside class
...
made them static private class methods
2020-05-22 21:23:25 -04:00
Jef LeCompte
d9603788bc
fix: use endwith() instead of endWith()
2020-05-22 21:23:25 -04:00
Jef LeCompte
1374aa2aea
feat: uses new subsonic format as default
...
also gets rid of warning that port must be `int` when it's default was a `string`
2020-05-18 10:23:26 -04:00
Adrian Sampson
485abb08c0
Merge pull request #3594 from stlutz/master
...
Scrape new Genius song page html
2020-05-17 14:44:57 -04:00
stlutz
5d306d6fd9
Remove debugging statement and conform to line length.
2020-05-16 17:48:56 +02:00
stlutz
15402f6aa7
Add alternative scraping algorithm to deal with Genius's new song page html layout.
2020-05-16 17:15:45 +02:00
stlutz
46143d9762
Remove unnecessary intermediate web request to genius.com when fetching lyrics.
...
The search results already include the correct song page url, making it superfluous to do another request via the /song api just to get it.
2020-05-16 16:28:17 +02:00
Adrian Sampson
d4a82b1fa5
Merge pull request #3592 from thenktor/patch-2
...
Update genres-tree.yaml
2020-05-16 10:03:44 -04:00
stlutz
ac043f9be0
When fetching lyrics from Genius, search for title and artist.
...
Searching only for the title and just verifying the artist afterwards leads to songs with very common titles not being found, since Genius limits the amount of returned hits.
An example would be 'Saviour' by 'Circa Waves'.
2020-05-16 13:26:09 +02:00
Thorsten
852cdb6dfa
Update genres-tree.yaml
...
Added more heavy metal genres: https://en.wikipedia.org/wiki/Heavy_metal_genres
2020-05-16 00:34:37 +02:00
Thorsten
05d202760b
Update genres.txt
...
Added more heavy metal genres: https://en.wikipedia.org/wiki/Heavy_metal_genres
2020-05-16 00:34:10 +02:00
soergeld
fe418b946e
forgot one mb_workid_current occurence
2020-05-14 22:40:37 +02:00
Adrian Sampson
b3656bcab9
Merge pull request #3586 from dosoe/beet_update_parentwork
...
Fetching parentwork if changed, even if not force
2020-05-14 08:26:30 -04:00
Adrian Sampson
1dcfa03b5b
Merge branch 'master' of github.com:beetbox/beets
2020-05-13 08:21:09 -04:00
Adrian Sampson
5db2b4ccaa
Fix new flake8 warnings
2020-05-13 08:20:50 -04:00
soergeld
918fea5eca
small changes, documentation
2020-05-12 16:05:08 +02:00
Adrian Sampson
4ea69da745
Merge pull request #3588 from MrNuggelz/subsonicplaylist
...
Fix: subsonicplaylist wrong song selection
2020-05-11 19:11:19 -04:00
MrNuggelz
fd1fd2182b
changed "SubstringQuery" to "MatchQuery" to prevent wrong song selection
2020-05-11 20:09:04 +02:00
soergeld
1f93ce5a49
small changes, docs
2020-05-11 16:14:52 +02:00
soergeld
c948530279
Fetching parentwork if changed, even if not force
2020-05-10 13:05:55 +02:00
Adrian Sampson
a907dac16c
Merge pull request #3568 from dosoe/beet_test_new_albuminfo
...
First try adding new albuminfo and trackinfo class
2020-05-09 10:53:43 -04:00
Adrian Sampson
31a264b299
Merge pull request #3425 from MrNuggelz/subsonicplaylist
...
Subsonic Playlist Plugin
2020-05-09 10:52:10 -04:00
MrNuggelz
5d90296a20
fixed flake8 issues
2020-05-09 13:16:56 +02:00
Dorian Soergel
d07c1dece9
Merge branch 'master' into beet_test_new_albuminfo
2020-05-09 12:45:13 +02:00
MrNuggelz
4933671c10
review: updated subsonicplaylist.py
2020-05-08 21:37:05 +02:00
soergeld
7c71bb87a2
cleaning up, renaming dup_XXInfo() to copy()
2020-05-08 16:32:12 +02:00
pants108
1a79ae5a9f
code review 1
2020-05-05 18:39:05 +00:00
pants108
a553693677
fetchart: clean up invalid tmp files
2020-05-03 17:58:44 +00:00
MrNuggelz
5c3debe236
removed unused imports
2020-05-03 16:07:27 +02:00
Joris
08180f2b5d
Merge branch 'master' into subsonicplaylist
2020-05-03 14:59:22 +02:00
MrNuggelz
13b4a1413d
update all songs in one transaction
2020-05-03 14:58:34 +02:00
MrNuggelz
cb7dfe3f6f
review: updated subsonicplaylist.py
2020-05-03 14:05:22 +02:00
Sören Tempel
6a03afc65d
web plugin: support path queries by separating them with a backslash
...
Without this change the web plugin does not support path queries as
slashes are currently used for joining keywords in the QueryConverter.
Moreover, flask cannot distinguish between an URL encoded and a plain
'/' character during routing [0]. To work around this issue without
introducing a breaking change (i.e. removing the QueryConverter) use the
backslash character for path queries and convert it later on.
Fixes #3566
[0]: https://github.com/pallets/flask/issues/900
2020-04-27 13:36:36 +02:00
soergeld
f507f04639
reintroduce default arguments, adapt all occurences of TrackInfo and AlbumInfo to the absence of positional arguments
2020-04-27 11:21:13 +02:00
Adrian Sampson
47deb2f084
Switch log level for #3563 , fix #3533
2020-04-23 08:03:51 -04:00
Michal Koutenský
5143e630d8
Fix #3533 - crash when calculating RG/R128 mix
2020-04-23 11:05:33 +02:00
Adrian Sampson
99dbe93f85
Merge pull request #3559 from somasis/master
...
fetchart: improve description of -q flag
2020-04-19 20:47:32 -04:00
Kylie McClain
1c03f58e0d
fetchart: improve description of -q flag
2020-04-19 14:56:15 -04:00
Ashhar Hasan
625e9253c0
Add tests for artist_sort as lyrics search fallback
...
Adjust doc comment to highlight that artist_sort is used as a fallback
2020-04-19 19:19:07 +05:30
Ashhar Hasan
45c8e51d6c
Fix redundant requests for artist == artist_sort
2020-04-19 19:14:00 +05:30
Ashhar Hasan
a5ef8c7b09
Add artist_sort as the last entry in the artists to search
...
This will handle cases where the artist name includes some
characters which can cause a search failure for some
websites - mainly unicode.
Fixes https://github.com/beetbox/beets/issues/3340 .
2020-04-19 00:50:14 +05:30
Adrian Sampson
269e309513
Slight simplification for #3554
2020-04-17 18:28:21 -04:00
lijacky
9ec0d725e5
Changes given feedback on https://github.com/beetbox/beets/pull/3554 and trimmed sample html
2020-04-17 17:14:21 -04:00
lijacky
8e28f0b694
added null check for genius lyrics scrape
2020-04-16 19:06:17 -04:00
Jack Wilsdon
333d5d1dd3
fetchart: Add Last.fm artwork source
2020-03-30 20:20:59 +01:00
Xavier Hocquet
38ea35aa5e
Lint
2020-03-28 11:44:56 -06:00
Xavier Hocquet
58bfe4567e
Code review
2020-03-28 11:34:03 -06:00
Andrew Rogl
f306591a99
add the extra_tags option to all required plugins
2020-03-28 17:36:02 +10:00
Xavier Hocquet
1266a04998
Docs, lint, and cleanup beautifulsoup source check
2020-03-19 21:10:52 -06:00
Xavier Hocquet
306571883e
Implement tekstowo lyrics provider
2020-03-18 23:00:51 -06:00
Justin Mayer
f465c90e78
Enforce PEP-8 compliance on Fish completion plugin
2020-03-04 07:15:46 +01:00
Justin Mayer
05db0d18eb
Don't escape question marks in Fish completions
...
Fish shell previously interpreted question marks as glob characters, but
that behavior has been deprecated and will soon be removed. Plus, the
completion for `help` and its alias `?` does not currently seem to behave
as expected anyway and is thus, at present, of limited utility.
2020-03-04 07:15:46 +01:00
Justin Mayer
82c3867fc0
Rewrite Fish completion plugin docs & code comments
2020-03-04 07:15:46 +01:00
jmwatte
d2d2b646c1
Add plugin for Fish shell tab completion
2020-03-02 09:51:36 +01:00
Daniel Barber
fe8ba17ced
Add quality setting to fetchart plugin
2020-02-22 13:36:35 -05:00
Daniel Barber
96b0e8a33e
No longer need to pass a default quality here
2020-02-18 16:44:45 -05:00
Daniel Barber
036202e1c5
Default quality to 0 which means don't specify
...
From the ImageMagick docs: "The default is to use the estimated quality
of your input image if it can be determined, otherwise 92."
In order to get the original behaviour we need to conditional add the
quality parameter to the `magick` call. The quality range can be
anything from 1 to 100, which gives us the convenience of using 0 to
specify no specific quality level.
2020-02-18 14:50:57 -05:00
Daniel Barber
86946ad4b7
Allow the quality to be set for embedded/fetched cover art
2020-02-17 21:12:20 -05:00
Aidan Epstein
535af4bdb2
parentwork: Only call store when the metadata has changed.
...
Otherwise, this rewrites all your files every time.
2020-02-17 09:05:52 -08:00
Adrian Sampson
d43d54e21c
Try to work around a Werkzeug change?
2020-02-06 22:22:54 -05:00
Adrian Sampson
91be732bf4
Fix whitespace ( #3453 )
2020-02-06 22:18:15 -05:00
Adrian Sampson
f9088a3eb7
Merge pull request #3453 from faulkt/master
...
added merge_environment_settings call
2020-02-06 21:54:14 -05:00
Tyler Faulk
964a6c2e63
restored whitespace to please style checker
2020-02-06 12:10:38 -05:00
ybnd
63ea17365a
Modify patched stdout in test_malformed_output
2020-02-05 09:04:24 +01:00
ybnd
7005691410
Add comment to clarify unexpected AttributeError handling
2020-02-05 08:52:50 +01:00
ybnd
1ab46c69be
Merge remote-tracking branch 'origin/master' into bs1770gain-v0.6.0-parsing
...
# Conflicts:
# docs/changelog.rst
2020-02-05 08:45:30 +01:00
ybnd
9bd78424c1
Handle keyboard interrupts more cleanly
2020-02-04 19:16:33 +01:00
Adrian Sampson
95e0f54d7c
Fix too-long lines ( #3448 )
2020-02-02 21:04:55 -05:00
Adrian Sampson
d4d04c61aa
Merge pull request #3448 from xhocquet/genius-lowercase-artist-fix
...
Genius lyrics fix for API capitalization behaviors
2020-02-02 20:46:24 -05:00
Xavier Hocquet
9f43408f1b
Changelog and cleanup
2020-02-02 15:57:43 -07:00
ybnd
4970585b0a
Remove temporary workaround for silent exceptions
2020-01-31 14:08:28 +01:00
ybnd
4a427182cd
Handle exceptions in pooled threads
...
* ExceptionWatcher instance running in parallel to the pool, monitoring a queue for exceptions
* Pooled threads push exceptions to this queue, log non-fatal exceptions
* Application exits on fatal exception in pooled thread
* More front end info logs in the CLI
2020-01-31 13:50:38 +01:00
ybnd
bef473c8e8
Remove spliced progress regex and add --suppress-progress flag
2020-01-31 07:42:50 +01:00
ybnd
506be02597
Remove packaging dependency
2020-01-30 20:11:09 +01:00
ybnd
f51a68c7e1
Implement comments
2020-01-30 19:53:05 +01:00
ybnd
c3817a4c06
Implement review comments
...
* safer version comparison
* regex bytes directly
* handle b'\x08 ...' case
* test_replaygain.py: injected command output should match the type of the actual output
2020-01-30 19:21:53 +01:00
ybnd
65ffca215a
Exception handling in main & worker threads
...
* With `bs1770gain` installed the `Bs1770gainBackend` tests fail, but this should be fixed by https://github.com/beetbox/beets/pull/3480 .
2020-01-30 18:04:20 +01:00
ybnd
c1cb78c908
Small fixes in replaygain.Bs1770gainBackend and test_replaygain.py
...
* Fix unspecified `gain_adjustment` when method defined in config
* Fix difference between dB and LUFS values in case of mismatched `target_level`/`method`:
```
db_to_lufs( target_level <dB> ) - lufs_to_dB( -23 <LUFS> )
```
* Ignore single assertion in case of bs1770gain
(cherry picked from commit 2395bf224032c44f1ea5d28e0c63af96a92b96df)
2020-01-30 17:59:57 +01:00
ybnd
c78afb1a97
Don't call bs1770gain outside of try statement
2020-01-30 17:02:28 +01:00
ybnd
53820c0a98
Handle bs1770gain v0.6.0 XML output
...
* Remove `0%\x08\x08` from output (backspace code doesn't resolve; progress percentages get spliced in)
* Handle changed attributes/fields:
* `sample-peak` attribute `factor` is called `amplitude` instead
* Album summary is not included in a `summary` tag now, but in two separate `integrated` and `sample-peak` tags
* Handle `lu` attribute
* Get bs1770gain version
* If v0.6.0 or later, add `--unit=ebu` flag to convert `db` attributes to LUFS
* May be useful later on
### Output examples
Track:
```
<!-- analyzing ... -->
<bs1770gain norm="-18.00">
<track total="1" number="1" file="02 tïtle 0.mp3">
<integrated lufs="-70.00" lu="52.00"/>
<sample-peak spfs="-72.28" amplitude="0.00"/>
</track>
<integrated lufs="-70.00" lu="52.00"/>
<sample-peak spfs="-72.28" amplitude="0.00"/>
</bs1770gain>
<!-- done. -->
```
Album:
```
<!-- analyzing ... -->
<bs1770gain norm="-18.00">
<track total="2" number="1" file="02 tïtle 0.mp3">
<integrated dbfs="-70.00" db="52.00"/>
<sample-peak dbfs="-72.28" amplitude="0.00"/>
</track>
<track total="2" number="2" file="02 tïtle 1.mp3">
<integrated dbfs="-70.00" db="52.00"/>
<sample-peak dbfs="-72.28" amplitude="0.00"/>
</track>
<integrated dbfs="-70.00" db="52.00"/>
<sample-peak dbfs="-72.28" amplitude="0.00"/>
</bs1770gain>
<!-- done. -->
```
2020-01-30 16:13:29 +01:00
ybnd
b903584163
Fix --threads argument handling
2020-01-30 13:31:14 +01:00
ybnd
b126ecafdd
Clean up single/multithreaded execution selection logic
...
As suggested in https://github.com/beetbox/beets/pull/3478#discussion_r372467445
2020-01-30 12:38:20 +01:00
ybnd
0fede91bbd
Workaround to pass ReplayGainLdnsCliMalformedTest.test_malformed_output ~ Python 3.8
2020-01-30 12:07:42 +01:00
ybnd
79c5535cf6
Open/close pool at begin/end of import session
2020-01-30 09:35:22 +01:00
ybnd
388d2d2c0d
Consolidate ThreadPool checking, opening and closing into methods
2020-01-30 09:35:22 +01:00
ybnd
42e895c239
Match --jobs default & signature to that of convert plugin (--threads)
...
And change local function `func` to `ReplayGainPlugin` method `replaygain_func` so that `self` is passed explicitly
2020-01-30 09:35:22 +01:00
ybnd
d95bb5683b
Analyze replaygain in parallel with multiprocessing.pool.ThreadPool
...
* Add `--jobs` or `-j` to `replaygain`-> set the pool size
* Single-threaded execution by default, if `--jobs` is unset
* If multithreaded, calls `Backend.compute_album_gain` or `Backend.compute_track_gain` asynchronously with metadata storing/writing in the callback
2020-01-28 21:20:21 +01:00
BrainDamage
f118314682
support for keyfinder-cli, which doesn't want the -f flag for paths
2020-01-14 05:07:33 +01:00
MrNuggelz
6d69d01016
added database changed event to subsonicplaylist
2020-01-13 15:43:20 +01:00
Adrian Sampson
a08f2315ea
Simplify Confuse usage ( #3463 )
2019-12-26 20:44:14 -05:00
Mat
2593a5be34
Use a local var to use high resolution option
2019-12-26 21:55:48 +00:00
Mat
3570f5cd56
New high_resolution config option in fetchart
2019-12-26 17:36:56 +00:00
Cole Miller
e945ed894d
Add trailing comma
...
Co-Authored-By: Adrian Sampson <adrian@radbox.org>
2019-12-18 14:31:59 -05:00
Cole Miller
6c948764fe
Wrap comment lines
2019-12-17 17:56:56 -05:00
Cole Miller
614289af5f
Remove use of `list.clear()' for compatibility
2019-12-17 17:46:43 -05:00
Cole Miller
3ccafa2495
Fix `str.join' usage
2019-12-17 17:40:16 -05:00
Cole Miller
8805ba28fd
Add comments
2019-12-17 16:33:41 -05:00
Cole Miller
02e03be93d
Incorporate divisions into track titles
2019-12-17 15:38:54 -05:00
Cole Miller
e31695b606
Trace hierarchy of index tracks
2019-12-17 15:27:26 -05:00
Cole Miller
6889b9ffdc
Add `index_tracks' configuration option
2019-12-17 13:43:53 -05:00
Tyler Faulk
a1af5d280e
added merge_environment_settings call in fetchart plugin to handle connections with proxy servers
2019-12-10 22:54:31 -05:00
Adrian Sampson
9739e9be9b
Docs tweaks for #3449
2019-12-09 15:55:31 -05:00
Jef LeCompte
89f21d9601
Updated documentation
2019-12-09 07:13:25 -05:00
Jef LeCompte
5a38e1b35c
Refactored token generation and updated comments based on suggestions.
...
Also updated documentation to note the password options.
2019-12-06 18:30:52 -05:00
Jef LeCompte
1690c08e77
Added URL to config and deprecated old configuration
2019-12-06 15:05:36 -05:00
Xavier Hocquet
c8e8e587f8
Add debug logger for Genius lyrics no-match
2019-12-05 20:06:49 -07:00
Xavier Hocquet
d43cf35ad2
Strip and lowercase Genius lyrics artist comparison
2019-12-05 20:06:46 -07:00
Aidan Epstein
9c479659b2
Increment playlist_version when a track is consumed.
...
This fixes the playlist not updating when in consume mode, at least in
ncmpcpp.
2019-11-24 19:27:09 -08:00
MrNuggelz
e9dee5dca8
added flag to delete old tags
2019-11-16 20:30:53 +01:00
MrNuggelz
bb305b17e1
set tags instead of creating m3u
2019-11-16 14:37:41 +01:00
Joris
ec696f5e58
Removed unused sanitize_path import
2019-11-11 10:48:29 +01:00
MrNuggelz
0191794285
subsonicplaylist plugin
2019-11-10 22:34:12 +01:00
msil
1f665b0290
adding discogs_labelid and discogs_artistid fields
2019-10-24 10:13:37 +00:00
Adrian Sampson
a7671e16a6
Merge pull request #3409 from jackwilsdon/hook-check-call
...
hook: switch to using check_call
2019-10-17 11:12:06 -04:00
Jack Wilsdon
430eab2cf0
Switch to using check_call for hooks
2019-10-17 11:00:59 +01:00
Austin Marino
c1b646ff27
Merge branch 'master' into Extended_Export_Plugin_Support
2019-10-15 15:35:42 -07:00
Austin Marino
7f6630c006
removed xml configs from doc and code
2019-10-15 14:16:23 -07:00
Adrian Sampson
3aa2c33ac6
Merge pull request #3406 from MrNuggelz/unimported
...
unimported files plugin
2019-10-15 17:13:31 -04:00
MrNuggelz
d11e14b1a0
improvements from review #2
2019-10-15 21:54:35 +02:00
Austin Marino
eb6055eeca
Cleaned up comments and code
2019-10-15 11:45:01 -07:00
Joris
3d15eaff2e
Removed unused import
2019-10-15 16:35:21 +02:00
MrNuggelz
6be6ded022
don't list album art paths as unimported
2019-10-15 16:03:12 +02:00
MrNuggelz
c7e81d8b81
improvements from review
2019-10-15 15:32:50 +02:00
MrNuggelz
b6588edac5
unimported files plugin
2019-10-15 12:04:04 +02:00
Austin Marino
4251ff70dc
updated the way in which xml is outputted
2019-10-15 00:15:45 -07:00
Austin Marino
0d818eced5
Ran test to ensure it works
2019-10-14 17:02:39 -07:00
Austin Marino
fa2c9ba259
Aligned export related code with flake8 standards
2019-10-13 11:36:33 -07:00
Austin Marino
ec705fae1e
Updated documents and comments to reflcet recent code changes. Cleaned up code to better follow PEP-8 conventions and just work more efficiently all around.
2019-10-12 15:41:06 -07:00
Austin Marino
0e2c1e0d56
Made changes to reflect comments and suggestions made by sampsyo
2019-10-12 14:47:44 -07:00
Austin Marino
c31b488e54
Updated class fields to allow for easier unit testing
2019-10-10 19:35:49 -07:00
Austin Marino
a8a480a691
Updated config formats
2019-10-10 16:33:46 -07:00
Jack Wilsdon
d91da56745
Fix various typos
2019-10-10 08:50:09 +01:00
Austin Marino
e5b43d4bf4
Extended the file type export options to include not only JSON but also XML and CSV
2019-10-09 00:52:49 -07:00
Rahul Ahuja
32ea225fad
Guard against "empty" albums
2019-10-05 23:12:53 -07:00
Rahul Ahuja
ce90b2aae5
Improve documentation
2019-10-05 15:07:20 -07:00
Rahul Ahuja
a7cdaac5f8
Consistent naming
2019-10-03 22:57:28 -07:00
Rahul Ahuja
0685305efb
Only sync tracks in library
2019-10-03 22:53:35 -07:00
Rahul Ahuja
6c49afaf22
Better naming
2019-10-03 22:49:32 -07:00
Rahul Ahuja
ea03c7fac2
Better readability
2019-10-03 22:16:32 -07:00
Rahul Ahuja
5e6b8f5264
DRY album/track distances
2019-10-03 22:04:30 -07:00
Rahul Ahuja
14b8f30ead
Appease flake8
2019-10-03 19:13:40 -07:00
Rahul Ahuja
a1885a571b
Add documentation, fix circular import
2019-10-03 19:03:04 -07:00
Rahul Ahuja
f14137fcc2
Add BPSyncPlugin
2019-10-03 18:04:12 -07:00
Rahul Ahuja
3ffaaa1f37
Default bpm to None
2019-09-28 11:37:58 -07:00
Rahul Ahuja
7b9ebcbf2f
Properly guard against None key
2019-09-27 17:48:28 -07:00
Rahul Ahuja
13792bd8ab
Always set musical_key
2019-09-27 17:33:49 -07:00
Rahul Ahuja
4bc057fd5e
Exclude invalid musical keys
2019-09-27 17:11:47 -07:00
temrix
dfb6fc3f5b
Test for presence and non-emptiness in one go.
2019-09-21 21:14:11 +02:00
temrix
9a4175dcd0
Return value directly.
2019-09-21 21:13:41 +02:00
temrix
f98010ad23
Add 'look before you leap' defensive code.
2019-09-21 16:09:08 +02:00
temrix
b4edc1f832
Add bpm, musical_key and genre to plugin.
2019-09-19 00:29:43 +02:00
Rahul Ahuja
ca5806fb6e
Restrict country code to alpha characters
2019-09-15 16:34:20 -07:00
Rahul Ahuja
01e8643cec
Revert to optional capturing group
2019-09-15 16:24:32 -07:00
Rahul Ahuja
a5fadf0dcc
Integrate MetadataSourcePlugin
2019-09-15 15:59:24 -07:00
Rahul Ahuja
0b2837dd4f
Revert Spotify, Discogs changes
2019-09-11 00:37:23 -07:00
Rahul Ahuja
6cfe7adb6c
Use qualified import
2019-09-11 00:26:48 -07:00
Rahul Ahuja
ed80e915fe
Move get_distance --> beets.plugins
2019-09-11 00:07:43 -07:00
Rahul Ahuja
876c0f733f
Appease flake8
2019-09-10 23:52:35 -07:00
Rahul Ahuja
dfdf8ded33
Add missing import
2019-09-10 22:55:41 -07:00
Rahul Ahuja
84b13475e0
Move get_distance to beets.autotag
2019-09-09 19:13:24 -07:00
Rahul Ahuja
c531b1628e
Avoid circular import
2019-09-09 18:28:20 -07:00
Rahul Ahuja
68e91b18b0
Fix discogs.py MetadataSourcePlugin refs
2019-09-09 17:33:42 -07:00
Rahul Ahuja
732e372ed2
Rename/move to plugins.MetadataSourcePlugin, fix formatting
2019-09-09 17:31:42 -07:00
Rahul Ahuja
0a700c75a2
Optional capturing groups
2019-09-07 01:07:44 -07:00
Rahul Ahuja
bdb7565500
Avoid nested capturing groups
2019-09-07 00:48:19 -07:00
Rahul Ahuja
4a6fa5657b
Formatting
2019-09-06 13:11:28 -07:00
Rahul Ahuja
12a8e0a792
Fix Spotify API error formatting
2019-09-06 12:41:24 -07:00
Rahul Ahuja
0d6df42d5f
Use Abstract Base Class
2019-09-06 12:08:26 -07:00
Rahul Ahuja
a3fb8ebfff
Formatting
2019-09-04 22:56:09 -07:00
Rahul Ahuja
f7c6b5ba7f
Fix str format arg order
2019-09-04 22:32:55 -07:00
Rahul Ahuja
30cfd7ff80
Use positional str.format arg
2019-09-04 21:18:07 -07:00
Rahul Ahuja
8010488f37
Modularize distance
2019-09-04 21:03:22 -07:00
Rahul Ahuja
1b05912ab9
Appease flake8
2019-09-04 20:39:46 -07:00
Rahul Ahuja
f64bd65ddb
Remove unnecessary indexing
2019-09-04 20:11:30 -07:00
Rahul Ahuja
bd0cea9f1b
Factor out APIAutotaggerPlugin
2019-09-04 19:50:04 -07:00
Rahul Ahuja
4a552595df
Simplify regex match
2019-09-02 14:27:51 -07:00
Rahul Ahuja
9babce582d
Fix track data enumeration idx
2019-09-01 21:24:56 -07:00
Rahul Ahuja
2ab883a20e
Fix track.index assignment
2019-09-01 21:23:16 -07:00
Rahul Ahuja
70264ee6ee
Handle empty deezer_id upfront
2019-09-01 21:18:08 -07:00
Rahul Ahuja
cd1aa3e8aa
Avoid empty deezer_id string
2019-09-01 20:10:34 -07:00
Rahul Ahuja
43f09296c9
Fix AlbumInfo.album_credit assignment
2019-09-01 19:50:55 -07:00
Rahul Ahuja
2177c7695a
Stringify Deezer ID
2019-09-01 19:44:27 -07:00
Rahul Ahuja
790ca805d5
Formatting
2019-09-01 18:34:06 -07:00
Rahul Ahuja
2cf55ee893
Add deezer.rst doc, remove unused options
2019-09-01 18:33:27 -07:00
Rahul Ahuja
804397bb12
Appease flake8
2019-09-01 18:13:19 -07:00
Rahul Ahuja
6e5e8a9cb0
Add Deezer plugin
2019-09-01 17:53:56 -07:00
Vexatos
7aab50b7b8
convert: Reduce amount of duplicate code for linking.
...
Also slightly reworded documentation.
2019-08-21 12:19:47 +02:00
Vexatos
aeb7d8846e
convert: disable album-art embedding for linked files.
...
Fixed flag precedence of link and hardlink over their options.
Fixed formatting issue.
2019-08-20 16:40:02 +02:00
Vexatos
a61aa74061
convert: add option to hardlink instead of copying.
...
Overrides the --link option.
As proposed in #2324 .
2019-08-20 16:07:01 +02:00
Kier Davis
4820cee35c
convert: add option to symlink instead of copying
...
As proposed in #2324 .
Updated commit from #2326 .
Co-authored-by: Vexatos <stuarzt@gmx.de>
2019-08-20 14:50:44 +02:00
Sebastian Pucilowski
a2ee8da8d6
Refactor magic values in discogs_client
2019-08-11 11:21:22 +10:00
Rahul Ahuja
7ec3632309
Fix year assignment with year-only release date
2019-08-03 19:07:56 -07:00
Samuel Nilsson
6e24669d61
Fix #3341
2019-08-03 22:51:40 +02:00
Guilherme Danno
4908028985
Use the 'resource_url' from discogs_client
2019-07-30 16:46:59 -03:00
Samuel Nilsson
60c174101f
ffmpeg replaygain backend: Only calculate replaygain for audio stream. Fixed documentation for backend option.
2019-07-29 10:32:19 +02:00
Zsin Skri
e3645dfd59
Merge branch 'master' into r128-targetlevel-config
2019-07-25 23:22:32 +02:00
Zsin Skri
a9f70f8151
apply suggested improvements
...
Apply improvements suggested in GitHub PullRequest #3065 :
- be idiomatic
- 0 is falsy
- check enum equality, not identity
- mutate list by constructing a new one
- improve documentation
- fix a typo
- do not mention deprecation of a config option
2019-07-26 01:02:03 +02:00
Adrian Sampson
84032e56e2
Merge pull request #3334 from MartyLake/martylake_add_forward_slash_option
...
Add option to force forward slashes in paths
2019-07-24 22:11:59 -04:00
Paul Malcolm
5f9a394ca9
Issue #2860 Fetch more acousticbrainz fields
2019-07-23 20:25:26 -04:00
MartyLake
076a82daa6
Review: Rename method
2019-07-24 00:09:52 +02:00
MartyLake
ee7f939336
Review: Remove stray blank line
2019-07-23 23:53:50 +02:00
MartyLake
aa1da3166f
Review: Remove unnecessary parens
2019-07-23 23:53:17 +02:00
MartyLake
dd9de05968
Review: Remove unnecessary split of concat
2019-07-23 23:50:20 +02:00
MartyLake
da864402d5
Review: Remove unnecessary get
2019-07-23 23:49:17 +02:00
MartyLake
d1ba309f36
Add a new method that copied pathlib.path.as_posix
2019-07-23 17:17:40 +02:00
Zsin Skri
e7e2c424e7
replaygain: targetlevel and peak_method depends on tag format
...
Allow to configure the target level for R128_* tags separately from REPLAYGAIN_*
tags and skip peak calculation for R128_* tags if possible.
2019-07-22 13:42:22 +02:00
Zsin Skri
0c8eead459
replaygain: pass target_level and peak to backends
...
Configure the replaygain analysis by passing arguments to the Backends. This
avoids the difference between ReplayGain and EBU r128 backends; every Backend
can now fulfil both tasks. Additionally it eases Backend development as the
difference between the two tag formats is now completely handled in the main
Plugin, not in the Backends.
2019-07-22 12:58:54 +02:00
Zsin Skri
e5f2fe6fd3
avoid test failure
...
Use the POSIX character class instead of `\s` to match all whitespace in a
regular expression describing the language of valid inputs, in order to avoid a
test failure for the invalid escape sequence `\s` in Python strings.
2019-07-21 01:28:16 +02:00
Zsin Skri
f9ff56f496
improve wording in the ffmpeg replaygain backend
...
This commit mostly addresses feedback:
- remove some unused parenthesis
- fix a typo
- expand some docstrings
- document that ffmpeg is usually easy to install
2019-07-21 01:18:49 +02:00
Zsin Skri
271a3c980c
replaygain: ffmpeg: increase parser readability
...
Use keyword arguments to make the ffmpeg parser more readable.
2019-07-19 21:54:47 +02:00
Zsin Skri
c3af5b3763
replaygain: add ffmpeg backend
...
Add replaygain backend using ffmpeg's ebur128 filter.
The album gain is calculated as the mean of all BS.1770 gating block powers.
Besides differences in gating block offset, this should be equivalent to a
BS.1770 analysis of a proper concatenation of all tracks.
Just calculating the mean of all track gains (as implemented by the bs1770gain
backend) yields incorrect results as that would:
- completely ignore track lengths
- just using length in seconds won't work either (e.g. BS.1770 ignores
passages below a threshold)
- take the mean of track loudness, not power
When using the ffmpeg replaygain backend to create R128_*_GAIN tags, the
targetlevel will be set to -23 LUFS. GitHub PullRequest #3065 will make this
configurable.
It will also skip peak calculation, as there is no R128_*_PEAK tag.
It is checked if the libavfilter library supports replaygain calculation. Before
version 6.67.100 that did require the `--enable-libebur128` compile-time-option,
after that the ebur128 library is included in libavfilter itself. Thus we
require either a recent enough libavfilter version or the `--enable-libebur128`
option.
2019-07-19 21:54:47 +02:00
Zsin Skri
7a7314ee3f
Allow other ReplayGain backends to support R128.
...
Previously using EBU R128 forced the use of the bs1770gain backend.
This change adds a whitelist of backends supporting R128. When the configured
backend is in that list it will also be used for R128 calculations. Otherwise
bs1770gain is still used as a default.
This should not change the overall behaviour of the program at all, but allow
for further R128-supporting backends to be added.
2019-07-19 21:54:47 +02:00
Zsin Skri
30395911e2
util.command_output: return stderr, too
...
Return a namedtuple CommandOutput(stdout, stderr) instead of just stdout from
util.command_ouput, allowing separate access to stdout and stderr.
This change is required by the ffmpeg replaygain backend (GitHub
PullRequest #3056 ) as ffmpeg's ebur128 filter outputs only to stderr.
2019-07-14 18:32:59 +02:00
Adrian Sampson
e39341b282
Merge pull request #3322 from thedevilisinthedetails/master
...
465 discogs: Fetch a few more metadata fields
2019-07-01 17:22:50 -04:00
Peter
0cd46dab77
fixing per review comments
2019-07-01 21:04:35 +02:00
Peter
dd7e932a9a
removing print log
2019-06-30 14:34:13 +02:00
Peter
e196c1dae6
fixing test
2019-06-30 13:54:38 +02:00
Peter
510276f653
fixing test
2019-06-30 13:44:13 +02:00
Adrian Sampson
73f8edd116
Simplify force check ( #3318 )
2019-06-27 22:44:57 -04:00
Adrian Sampson
0726123e41
Move PROBE_FIELD to module scope ( #3318 )
2019-06-27 22:43:18 -04:00
Susanna Maria
b20516e552
Small improvement of code doc
2019-06-26 20:29:17 +02:00
Susanna Maria
cab97c58d4
Pep8 drives me sometimes crazy
2019-06-25 20:57:43 +02:00
Susanna Maria
932d18a838
Pep8 error ...
2019-06-25 20:37:12 +02:00
Susanna Maria
f254b33c6e
Findings from PR
2019-06-25 20:22:26 +02:00
Susanna Maria
6e179d86e6
Pep8 bugfix
2019-06-23 17:43:40 +02:00
Susanna Maria
0242176b40
Why binary import of json?
2019-06-23 16:59:33 +02:00
Susanna Maria
1643eea3f5
Parameter handling
2019-06-23 13:04:17 +02:00
Zsin Skri
f645400c5e
replaygain: adapt to mediafile commit 95e569a
...
Since commit 95e569a, mediafile takes care of the float -> Q7.8 conversion in
R128 GAIN tags by itself.
From `store_album_r128_gain` this conversion was already missing, remove it from
`store_track_r128_gain`, too.
fixes #3311
2019-06-18 23:17:38 +02:00
Peter
90cf579ee3
adding genre, released_date and discogs_release_id
2019-06-16 21:55:35 +02:00
Adrian Sampson
7dd0ed77f9
Merge pull request #3302 from Holzhaus/fix-3301
...
beetsplug/importadded: Add missing path kwarg to update_after_write_time()
2019-06-11 11:50:36 -04:00
Adrian Sampson
ed30a7aed2
Merge pull request #3251 from thedevilisinthedetails/master
...
#2579 Adding styles to discogs plugin
2019-06-10 13:26:09 -04:00
Peter
7ec1fc934b
removing unneeded condition
2019-06-10 15:54:19 +02:00
Peter
9bdadc5c73
removing extra line
2019-06-10 09:33:10 +02:00
Peter
55e003a3d4
fixing per review comments
2019-06-10 09:11:38 +02:00
Peter
f0c91b8f45
fixing per review comments
2019-06-09 20:01:55 +02:00
Peter
2c49c12166
fixing per review comments
2019-06-09 15:44:37 +02:00
Peter
5fc21a1e21
fixing per review comments
2019-06-09 15:39:49 +02:00
Peter
851c413976
adding config option for seperator and addressing review comments
2019-06-09 10:37:33 +02:00
Adrian Sampson
9fcb66b3c8
Nicer string wrap
2019-06-08 21:35:56 -04:00
Adrian Sampson
c2fdf04539
Merge pull request #3279 from dosoe/beets_parentwork_3
...
add parentwork plugin
2019-06-08 21:35:05 -04:00
Dorian Soergel
9d184e3cad
docstrings and style
2019-06-08 22:58:05 +02:00
Dorian Soergel
fd14b5b649
docstrings and style
2019-06-08 22:55:05 +02:00
Dorian Soergel
c96dcfffb6
docstrings and style
2019-06-08 22:44:33 +02:00
Adrian Sampson
f865fc00cd
replaygain: Fix py3 crash in audiotools backend
...
Fixes #3305 .
2019-06-08 16:23:49 -04:00
Samuel Nilsson
b8b99d9396
Merge branch 'master' into replaygain
2019-06-08 16:15:27 +02:00
Dorian Soergel
070f50e1e7
docstring
2019-06-07 17:16:03 +02:00
Dorian Soergel
eacdb0d0e4
refetching works moved to new PR
2019-06-07 17:15:04 +02:00
Dorian Soergel
9c3c538dfb
alternative way to refetch parent works
2019-06-07 16:51:33 +02:00
Dorian Soergel
765f7dc12d
first try to implement event handler
2019-06-07 14:57:38 +02:00
Jan Holthuis
2b00e1de24
beetsplug/importadded: Add missing path kwarg to update_after_write_time()
...
This resolves #3301 .
2019-06-07 14:17:39 +02:00
FichteFoll
728203e15a
beets.io now supports HTTPS
...
See https://github.com/beetbox/beets/pull/3297 .
2019-06-06 15:34:15 +02:00
FichteFoll
9631616b53
Replace a couple URLs that don't point to anything
...
I'm unsure regarding the pygst tutorial, so I just added another URL
of the best resource I could find with a quick web search.
2019-06-05 23:08:18 +02:00
FichteFoll
c144141e9a
Update a few more http URLs to https that I missed
...
Should really be all now (pending the next commit).
2019-06-05 23:07:11 +02:00
FichteFoll
1a23eab8b6
Use https for lyrics.wikia.com, when supported
2019-06-05 23:00:52 +02:00
FichteFoll
670046dd9a
Build https URLS for beatport releases
...
I'm not sure where these are used, but the website supports https and
the API url already uses https, so this should be a safe call and not
require a util.SNI_SUPPORTED check.
2019-06-05 22:55:12 +02:00
Dorian Soergel
1d9e42567b
flake8
2019-06-05 13:40:04 +02:00
Dorian Soergel
fae0656935
still dealing with cases where no parent composer
2019-06-05 13:39:13 +02:00
Dorian Soergel
8363dedaeb
logging and minor comments
2019-06-05 11:10:11 +02:00
FichteFoll
aa31fea037
Update a lot of URLs to use HTTPS
...
*All* URLs were checked manually, but only once per domain!
I mostly concerned myself with URLs in documentation rather than source
code because the latter may or may not have impactful changes, while the
former should be straight forward.
Changes in addition to simply adding an s:
- changed pip and pypi references as their location has changed
- MPoD (iOS app) url redirects to Regelian, so I replaced those
- updated homebrew references
Notable observations:
- beets.io does have HTTPS set up properly (via gh-pages)
- beatport.py uses the old HTTP url for beatport
- as does lyrics.py for lyrics.wikia.com
- https://tomahawk-player.org/ expired long ago, but the http page
redirects to https regardless
- none of the sourceforge subdomains have https (in 2019!)
2019-06-05 03:11:49 +02:00
FichteFoll
e17c478f74
Cache an item's album with a property
...
Use Album.load() whenever the album is requested, which causes it to be
reloaded from the database.
Drawback: This adds a slowdown of 100% (6.2s to 12.6s) to `beet list`
on my setup.
2019-06-05 02:39:56 +02:00
Dorian Soergel
92d005ab30
renaming functions
2019-06-03 20:05:34 +02:00
Dorian Soergel
1177222c6f
flake8
2019-06-03 17:45:57 +02:00
Dorian Soergel
369629bea5
clarifying docstrings
2019-06-03 17:20:36 +02:00
Dorian Soergel
feafc66f96
fixing parentwork but no parent composer
2019-06-03 16:58:07 +02:00
Carl Suster
62aa358ce7
bpd: bump protocol version to 0.16
2019-06-02 23:37:07 +10:00
Carl Suster
d8be83bc0d
bpd: support ranges in playlistid
2019-06-02 23:37:07 +10:00
Carl Suster
dc7e3b9b6a
bpd: support nextsong in status
2019-06-02 23:37:07 +10:00
Carl Suster
fdd809fd36
bpd: support more tagtypes
2019-06-02 23:37:07 +10:00
Carl Suster
cc2c35221d
bpd: avoid sending playlist events on navigation
2019-06-02 23:37:07 +10:00
Carl Suster
5187100294
bpd: accept all idle events
2019-06-02 23:37:07 +10:00
Carl Suster
27c462d287
bpd: make noidle a no-op outside idle mode
...
The real MPD ignores `noidle` when the client is not idle. It doesn't
even send a successful response, just ignores the command. Although
I don't understand why a client would fail to keep track of its own
state, it seems that this is necessary to get ncmpcpp working.
2019-06-02 23:37:07 +10:00
Carl Suster
e708d28f85
bpd: allow fractional seconds in seek
...
The documented type is float, not integer, and clients like mpDris2 send
fractional seconds, causing them to crash if these values ar enot
accepted.
2019-06-02 23:37:07 +10:00
Carl Suster
1a5263b68f
bpd: support volume command for real
2019-06-02 23:37:07 +10:00
Carl Suster
59c506990a
bpd: fix bug in playlistid
...
The playlistid command is supposed to list the whole playlist if no
argument is provided, but we were accidentally trying to look up an
impossible negative id in that case causing an error to always be
returned.
2019-06-02 23:37:07 +10:00
Carl Suster
64ed54330b
bpd: mention control socket address in log
2019-06-02 23:37:07 +10:00
Adrian Sampson
81b1faa053
inline: Fix a ridiculously subtle flexattr bug
...
As detailed here:
https://github.com/beetbox/beets/issues/2406#issuecomment-274423601
In a *function-style* definition, we didn't properly *un-define* the
values for a given item after each function invocation. So when a field
wasn't defined, it would get the value for the previously-formatted
object instead. It now properly throws a NameError.
2019-06-01 12:28:47 -04:00
Carl Suster
6382c364e2
confit: replace with confuse in plugins
2019-06-01 10:03:41 +10:00
Dorian Soergel
a10ad548c9
logging if no parent composer
2019-05-31 20:54:15 +02:00
Dorian Soergel
e6da3e1498
move _command into command
2019-05-31 18:28:53 +02:00
Dorian Soergel
acf447b4b0
adapt tests, correct docstrings
2019-05-31 17:52:39 +02:00
Dorian Soergel
638e9d5dc8
style changes, docstrings
2019-05-31 17:17:06 +02:00
Dorian Soergel
6d6c1a1647
fixes for disambiguation
2019-05-31 15:04:00 +02:00
Dorian Soergel
080680c950
add parentwork plugin, first try
2019-05-31 14:35:51 +02:00
Carl Suster
546bf3af7e
mediafile: import from standalone module
2019-05-29 09:35:14 +10:00
Adrian Sampson
d77a13eb34
gmusic: Fix compatibility with gmusicapi>=12.0.0
...
Fixes #3270 .
2019-05-18 16:32:56 -04:00
Adrian Sampson
d6dc1b7c4e
gmusic: Use as_filename for oauth_file ( #3270 )
2019-05-18 16:27:13 -04:00
Peter
6ffbd5af45
adding styles to hook and returning Style not Defined if no style set
2019-05-05 11:44:24 +02:00
Peter Koondial
8fcff5ddc7
Adding styles to discogs plugin
2019-05-05 11:11:27 +02:00
Jack Wilsdon
f09088df43
replaygain: Handle invalid XML output from bs1770gain
2019-05-02 01:24:19 +01:00
Rainer Hihn
62c1d37bcc
Formatting
2019-04-27 17:58:48 +02:00
Rainer Hihn
941dd6e48f
Formatting
2019-04-27 17:58:26 +02:00
Rainer Hihn
36dc105dc9
undid quotes in log messages
2019-04-27 17:57:48 +02:00
Rainer Hihn
55fe077e54
Removed PaddedFloat in favour of adding a constructor parameter
2019-04-24 20:39:05 +02:00
Rainer Hihn
07b617b307
Converted all float types to PaddedFloat
2019-04-24 19:55:44 +02:00
Rainer Hihn
7676d2ae5a
PaddingInt -> PaddingFloat
2019-04-24 19:54:12 +02:00
Rainer Hihn
3f3b102885
added PaddingFloat
2019-04-24 19:53:01 +02:00
Rainer Hihn
76e333c054
Added item_types
2019-04-23 19:20:55 +02:00
Rainer Hihn
a60935ed1c
Prevent scientific notation
2019-04-22 19:50:11 +02:00
Adrian Sampson
5f9b28124d
Merge pull request #3220 from rain0r/3219
...
Update __init__.py
2019-04-21 20:39:46 -04:00
Rainer Hihn
b7d3ef6274
- Improved doc and changelog
...
- Cleaner implementation of mutual excursion of the command line
arguments.
2019-04-21 18:32:41 +02:00
Jack Wilsdon
f5f9aed641
Add loadext plugin
2019-04-21 15:10:28 +01:00
Carl Suster
063e4f259b
Merge pull request #3222 from arcresu/bpd-decoders
...
bpd: support decoders command
2019-04-21 09:20:42 +10:00
Adrian Sampson
1edd21fab1
Merge pull request #3223 from arcresu/mpd-port
...
mpdupdate, mpdstats: use MPD_PORT env variable
2019-04-20 14:21:20 -04:00
Louis Sautier
4d98088cc1
Replace more instances of unsafe calls to yaml.load
2019-04-20 01:14:15 +02:00
Rainer Hihn
ddd7b4b3b4
Removed empty line
2019-04-19 21:17:15 +02:00
Rainer Hihn
5c643a8f16
Removed ipdb import
2019-04-19 21:08:26 +02:00
Rainer Hihn
e4b2e7b476
Made -a and -A mutually exclusive.
2019-04-19 20:58:13 +02:00
Carl Suster
21cba304bd
mpdupdate: use MPD_PORT env variable
2019-04-19 17:35:42 +10:00
Carl Suster
dc5f110844
mpdstats: use MPD_PORT env variable
2019-04-19 17:35:42 +10:00
Carl Suster
3da23167ca
bpd: support decoders command
...
This uses GStreamer APIs to extract a list of audio decoders and the
relevant MIME types and file extensions. Some clients like ncmpcpp use
this command to fetch a list of supported file extensions.
2019-04-19 16:08:05 +10:00
Rainer Hihn
0b2334f8e8
Added command line options to query explicit for albums and / or tracks.
2019-04-18 22:31:49 +02:00
rain0r
fc95fb86a1
Update __init__.py
...
Also fetch genres for single tracks via query.
2019-04-17 20:57:58 +02:00
Carl Suster
9182f18e6f
bpd: support short form of list command for albums
...
Some clients list the albums belonging to an artist by issuing the
command `list album <ARTIST NAME>`. This change inserts the tag `artist`
before the artist name so that this succeeds. Fixes #3007
2019-04-15 13:25:02 +10:00
Carl Suster
826244777e
bpd: minor control socket refactor
2019-04-10 15:52:47 +10:00
Carl Suster
d55f061f0b
bpd: add control socket
...
A new `ControlConnection` is created each time a client connects over
a new control socket. This is used to forward events from the player,
and also for debugging utilities that are not part of the real MPD
protocol.
This new feature reuses as much infrastructure from the normal protocol
handling as possible (e.g. `Command` for parsing messages). While the
normal connection delegates to server `cmd_*` methods which are string
generators, the control connections delegate to `ctrl_*` methods defined
on the connection itself that are full coroutines.
2019-04-09 12:19:15 +10:00
Carl Suster
fa3813844c
bpd: reimplement idle without polling
2019-04-08 16:33:34 +10:00
Carl Suster
6fbf3853f2
bpd: bump protocol version to 0.14.0
2019-04-08 11:40:24 +10:00
Carl Suster
699de94f4f
bpd: send all relevant idle events
2019-04-08 11:40:24 +10:00
Carl Suster
7105c800aa
bpd: implement the idle command
...
Getting this command puts the connection into a special mode where it
awaits MPD events (like the player changing state or the playlist
changing due to other clients interacting with the server.
The MPD specification states that events should queue while a client is
connected, and when it issues the `idle` command any matching events
should be sent immediately if there are any, or as soon as they happen
otherwise.
2019-04-08 11:40:24 +10:00
Carl Suster
ee0c31ba6a
bpd: track and log client session details
...
Keep track of a list of currently-connected clients.
Use `socket.getpeername()` to get an identifier for each connection and
include this in each log message. This function is documented as not
being available on all systems, but it's unclear which systems this
involves.
Also log a message on client connect and disconnect events. If the
disconnection reason is because the client sent a blank line, match MPD
by returning a protocol error then hanging up. Escape curly braces.
2019-04-08 11:28:56 +10:00
Carl Suster
5b0a02eb31
bpd: don't send volume if zero in status
2019-04-08 10:52:15 +10:00
Carl Suster
f8a2c22e8d
bpd: fix typo in comment
2019-04-08 10:52:15 +10:00
Adrian Sampson
362722c87c
Merge pull request #3206 from arcresu/random-util
...
random: move functionality into beets.random
2019-04-07 11:59:39 -04:00
Carl Suster
9147fabb97
random: beets.util.random -> beets.random
2019-04-07 18:46:11 +10:00
gdtwst
c41197cc5c
Re-add fixes from #2707
2019-04-07 10:07:38 +07:00
Adrian Sampson
ebed21f319
Merge pull request #3207 from arcresu/mpd-currentsong
...
mpdstats: use currentsong instead of playlist
2019-04-06 13:51:18 -04:00
Adrian Sampson
63b7ede4f7
Merge pull request #3054 from discopatrick/2704-lastgenre-force
...
WIP: Remove `default` arg for `lastgenre --force` flag
2019-04-06 13:49:07 -04:00
Rainer Unseld
ce5981b885
mpdstats: use currentsong instead of playlist
...
Improved the method to get the path of the current song. Before, the complete playlist was fetched from the server. Now, the command "currentsong" is used for this purpose. This improves performance when a huge playlist is active.
2019-04-06 15:23:34 +11:00
Carl Suster
f35944f49c
random: move implementation to beets.util.random
2019-04-06 11:06:19 +11:00
Carl Suster
95dd513b25
bpd: add flake8 exception for test command
2019-04-02 14:25:56 +11:00
Carl Suster
20e2f8beec
bpd: output an info-level message when ready
2019-04-02 13:38:43 +11:00
Carl Suster
d074dac771
bpd: add comments to the error handling code
2019-04-02 13:37:40 +11:00
Carl Suster
28db7d3d33
bpd: provide precision time in status
2019-04-02 11:15:00 +11:00
Carl Suster
4be2e1b5e6
Remove beets.util.inspect wrapper
2019-04-02 10:22:47 +11:00
Carl Suster
36c85a8aeb
Fix beets.util.inspect for Python 3
...
Under the original compatibility shim we weren't correctly inclusing
`self` in the argument list for bound methods.
2019-04-02 10:11:43 +11:00
Carl Suster
9622e7433b
bpd: return real audio data
2019-04-02 09:44:34 +11:00
Carl Suster
e839e4ea19
bpd: improve exception handling
...
Check function signature instead of using TypeError to crudely guess
that the wrong number of arguments were provided.
Prevent bpd from crashing when trying to log a traceback. The
`traceback.format_exc` function takes an optional argument which is
supposed to be an integer restricting the length of the backtrace to
show. Instead we were passing the exception object to this function and
causing a new exception to be raised.
2019-04-02 09:39:07 +11:00
Carl Suster
146c5f5e13
bpd: fix repeat, consume and single in reverse
...
These flags are all relevant to the 'previous' command as well as the
'next' command.
2019-04-01 18:05:10 +11:00
Carl Suster
12e49b3c88
bpd: skipping backwards through zero keeps playing
...
Previously issuing the 'previous' command when at position 0 on the
playlist would cause bpd to stop playing. MPD instead just restarts the
currently playing song instead, so we now match this behaviour.
2019-04-01 17:51:21 +11:00
Carl Suster
a4fe6875a1
bpd: fix bug in bounds check of current song index
...
The songs are indexed starting from zero for the play command, however
the bound check was off by one. An index matching the length of the
playlist would crash the server instead of responding with an error
message over the protocol.
2019-04-01 17:41:25 +11:00
Carl Suster
0c3a63ef9f
bpd: fix repeat mode behaviour
...
The repeat flag indicates that the entire playlist should be repeated.
If both the repeat and single flags are set then this triggers the old
behaviour of looping over a single track.
2019-04-01 17:39:35 +11:00
Carl Suster
b245c0e755
bpd: test fields returned by status command
2019-04-01 16:42:39 +11:00
Carl Suster
bae9c40600
bpd: support the single command
...
This command instructs bpd to stop playing when the current song
finishes. In the MPD 0.20 protocol this flag gains a value 'oneshot' but
for now we just support its older version with a boolean value.
2019-04-01 16:30:02 +11:00
Carl Suster
71e7621642
bpd: no-op support for persistent playlists
...
The real MPD offers persistent playlist manipulation, storing the
playlists in a directory set in the config file. If that directory is
not available then the feature is disabled and the relevant commands all
respond with errors. Based on this, the initial support in bpd just
returns errors matching the MPD server in the disabled mode.
For playlistadd, extend the _bpd_add helper to work with playlists other
than the queue in order to support testing the real implementations of
these commands in the future.
2019-04-01 16:30:02 +11:00
Carl Suster
859e16d1e3
bpd: support consume command
2019-04-01 16:30:02 +11:00
Carl Suster
e5851866d7
bpd: add replay_gain_* commands
...
There's a special status command for checking the replay gain mode,
which can be set to one of a short list of possible values. For now at
least we can ignore this feature, but track the setting anyway.
2019-04-01 14:49:27 +11:00
Carl Suster
67a0b38d20
bpd: add dummy command for volume
...
MPD supports a deprecated command 'volume' which was used to change the
volume by a relative amount unlike its replacement 'setvol' which uses
an absolute amount. As far as I can tell 'volume' always responds with a system
error message "No mixer".
2019-04-01 14:49:27 +11:00
Carl Suster
1511e313f7
bpd: add mixramp commands
...
These are a more sophisticated version of crossfade so we're free to
ignore them, at least for now. We now track the values of the two
settings, and show them in the status output. Like MPD, we suppress the
mixrampdb value if it's set to nan, which is how it signals that the
feature should be turned off.
2019-04-01 14:49:27 +11:00
Carl Suster
0f53ae9a87
bpd: error instead of crashing on extra argument
...
If an MPC client is expecting a command to take an argument that bpd
isn't expecting (e.g. because of a difference in protocol versions) then
bpd currently crashes completely. Instead, do what the real MPD does and
return an error message over the protocol.
2019-04-01 14:49:27 +11:00
Carl Suster
d94a5393b2
bpd: fix crossfade command
...
Although crossfade is not implemented in bpd, we can store the setting
and repeat is back to clients. Also log a warning that the operation is
not implemented.
The real MPD doesn't show the crossfade in status if it's zero since
that means no crossfade, so now we don't either.
2019-04-01 14:49:27 +11:00
Adrian Sampson
c74a7059b4
Merge pull request #3192 from translit/yaml-safe-load
...
Fix PyYAML yaml.load(input) Deprecation
2019-03-31 21:46:29 -04:00
Adrian Sampson
0208ec69ef
Merge pull request #3197 from arcresu/deprecation
...
Fix several deprecation warnings
2019-03-31 21:44:37 -04:00
Adrian Sampson
0042f3205e
Merge pull request #3196 from arcresu/bpd-log
...
bpd: use plugin logger instead of global logger
2019-03-31 21:41:22 -04:00
Carl Suster
b4c4f3ca19
bpd: use plugin logger instead of global logger
2019-03-31 22:06:43 +11:00
Carl Suster
a6305c36e1
Fix deprecated plistlib function
...
https://docs.python.org/3.7/library/plistlib.html#plistlib.readPlist
2019-03-31 19:53:17 +11:00
Carl Suster
e4c03fd63f
Fix deprecated placement of inline regex flags
...
https://bugs.python.org/issue22493
2019-03-31 19:44:49 +11:00
Carl Suster
ca60555ffa
Fix deprecated call log.warn -> log.warning
...
https://bugs.python.org/issue13235
2019-03-31 19:44:40 +11:00
Carl Suster
7557bb06d6
bpd: use log instead of stdout
2019-03-31 18:43:18 +11:00
Carl Suster
0b4293de6e
the: log a debug only when text is changed
...
Previously the `the` plugin would log a debug message when the text _didn't_ get changed by the plugin, whereas I think what was intended was the opposite. With this change the logged messages show the actual transformations made by the plugin.
2019-03-31 18:19:09 +11:00
Alexei Datskevich
be12a89372
Fix PyYAML yaml.load(input) Deprecation
2019-03-30 08:34:13 +01:00
Adrian Sampson
6ee824fb0f
Fix #3184 : AttributeError in error handler
2019-03-14 09:53:32 -04:00
Jack Wilsdon
9bb6c29d22
Always use custom formatter for formatting hook commands
2019-02-25 14:41:59 +00:00
Adrian Sampson
80f4f0a0f2
badfiles: Fix decoding for command output
...
Probably fixes #3165 . There were several things going wrong here:
1. For some reason, this was using the *filesystem* encoding, which is
what you use to decode filenames. But this was general command
output, not filenames.
2. Errors in decoding threw exceptions, even though all we do with this
output is show it to the user.
3. The prints were using `displayable_path`, even though the lines are
*already* Unicode strings.
Hopefully this cleans up that mess.
2019-02-24 16:06:36 -05:00
Jan Holthuis
3e10d5d39f
badfiles: Fix #3158 by calling superclass __init__ method
2019-02-21 12:40:54 +01:00
Adrian Sampson
be118b922a
Merge pull request #3155 from Holzhaus/fetchart-error-handling
...
fetchart: Add some error handling to prevent crashes
2019-02-20 08:45:22 -05:00
Bernardo Meurer
9374983e9d
Fixed import order
2019-02-19 18:49:29 -08:00
Bernardo Meurer
e209fe5886
Parallelized beet bad
2019-02-19 18:47:47 -08:00
Jan Holthuis
c07903ed66
fetchart: Add some error handling to prevent crashes
...
Today I had some network problems regarding dbpedia.org, which made
beets crash because a requests.exceptions.ConnectionError was raised
("[Errno 113] No route to host"). This commits adds some error handling
around network requests to prevent further crashes in the future.
2019-02-19 16:16:56 +01:00
Bernardo Meurer
1dad5ded03
Move absubmit plugin parallelization to util.par_map
2019-02-18 22:42:20 -08:00
Adrian Sampson
81c5ae3fdf
Merge pull request #3151 from Holzhaus/playlist-plugin-additions
...
playlist: Add auto-update functionality and more tests
2019-02-18 08:40:55 -05:00
Jan Holthuis
4ba5dfaa43
playlist: Remove leftover print call and fix 'auto' option access style
2019-02-18 09:13:39 +01:00
Jan Holthuis
7bca5cf549
playlist: Don't use syspath() when checking if path is absolute
2019-02-17 22:28:39 +01:00
Jan Holthuis
ee2cce4280
playlist: Work around Windows' Mandatory File Locking on playlist updates
2019-02-17 22:12:13 +01:00
Jan Holthuis
d991e2a7d8
playlist: Normalize path before lookup in changes dict
2019-02-17 21:51:09 +01:00
Adrian Sampson
9320db21eb
Merge pull request #3150 from beetbox/named-query
...
Add support for "named queries" and use them in the playlist plugin
2019-02-17 15:08:31 -05:00
Adrian Sampson
55ef2ffd39
Add future imports to playlist plugin
2019-02-17 14:02:26 -05:00
Adrian Sampson
7efc67eb03
playlist: Use new "named query" functionality
2019-02-17 13:52:00 -05:00
Jan Holthuis
6d42028057
playlist: Add playlist auto-update functionality
2019-02-17 19:38:21 +01:00
Adrian Sampson
00667bda0f
Merge pull request #3145 from Holzhaus/playlist-plugin
...
Playlist plugin
2019-02-17 13:16:26 -05:00
Jan Holthuis
4f1a468aa9
playlist: Restore case sensitivity in col_clause method
2019-02-17 17:34:36 +01:00
Jan Holthuis
055f2d3702
playlist: Also catch IOErrors to restore Python 2.7 compatiblity
2019-02-17 16:00:04 +01:00
Jan Holthuis
f9f2fa0e26
playlist: Restructure playlist reading code and add error handling
2019-02-17 15:17:10 +01:00
Jan Holthuis
19b92e1199
playlist: Improve speed in PlaylistQuery class
...
Implement the col_clause method for faster, sqlite-based querying. This
will only make a difference if the "fast" kwarg is set to True.
2019-02-17 14:38:36 +01:00
Jan Holthuis
a80a07f093
playlist: Add playlist plugin
...
Adds M3U playlist support as a query to beets and thus partially
resolves issue #123 . The implementation is heavily based on #2380 by
Robin McCorkell.
It supports referencing playlists by absolute path:
$ beet ls playlist:/path/to/someplaylist.m3u
It also supports referencing playlists by name. The playlist is then
seached in the playlist_dir and the ".m3u" extension is appended to the
name:
$ beet ls playlist:anotherplaylist
The configuration for the plugin looks like this:
playlist:
relative_to: library
playlist_dir: /path/to/playlists
The relative_to option specifies how relative paths in playlists are
handled. By default, paths are relative to the "library" directory. It
also possible to make them relative to the "playlist" or set the option
or set it to a fixed path.
2019-02-17 14:38:36 +01:00
Adrian Sampson
69fbba1eed
Merge pull request #3144 from Holzhaus/add-id3v23-to-convert
...
Add id3v23 option to convert plugin
2019-02-15 09:51:46 -07:00
Jan Holthuis
7afeb9b2ac
convert: Add id3v23 config option to convert plugin
2019-02-14 23:42:36 +01:00
Adrian Sampson
f54042f194
Make a comment into a full sentence
2019-02-08 18:18:30 -08:00
jan
5ace667757
add forgotten request_finished
2019-02-08 01:09:07 +01:00
jan
9bc3898951
add request_finished function, rename wait_for_rate_limiter to request_start, add doc and changelog
2019-02-08 01:02:33 +01:00
jan
77fd5ee548
keep discogs requests below rate limit
2019-02-08 00:05:07 +01:00
Samuel Nilsson
93007bfdd5
ReplayGain: fixed error caused by per_disc option
2019-02-06 13:17:34 +01:00
Samuel Nilsson
24f02cb5cd
ReplayGain refactoring
2019-02-06 10:12:06 +01:00
Samuel Nilsson
31326ebb20
Simplified album ReplayGain code
2019-02-06 10:06:48 +01:00
Samuel Nilsson
d910ed3ecf
Merge branch 'master' of github.com:beetbox/beets into replaygain
2019-02-06 09:27:45 +01:00
Samuel Nilsson
3d842db8d8
Added per disc album_gain support
2019-02-06 09:27:24 +01:00
Adrian Sampson
c7c90a51c6
Merge pull request #3135 from wildthyme/master
...
Support ipfs add --nocopy in ipfs plugin
2019-02-01 10:04:00 -05:00
Jack Wilsdon
2bc04bb605
Use "==" when comparing strings
2019-01-31 00:15:55 +00:00
Jack Wilsdon
768770d561
Fix incorrect indentation
2019-01-31 00:15:42 +00:00
Iris Wildthyme
2b82831b7b
added --nocopy support
2019-01-30 16:36:46 -05:00
Rahul Ahuja
5fbb28637d
Set Spotify AlbumInfo.mediums
2019-01-23 19:54:14 -08:00
Rahul Ahuja
6a9b62a9c2
Specify None rtype in doscstrings
2019-01-22 20:54:46 -08:00
Rahul Ahuja
8c6cc6573c
Unidecode query string
2019-01-22 19:42:25 -08:00
Rahul Ahuja
b91406b252
Backwords-compatible str/unicode
2019-01-22 18:59:15 -08:00
Rahul Ahuja
c6b8f6d143
Fix formatting/spelling
2019-01-22 18:09:10 -08:00
Rahul Ahuja
f7d20090e6
Fix _handle_response reauth bug and empty str query construction
2019-01-22 12:14:52 -08:00
Rahul Ahuja
7b57b0b608
Appease Flake8
2019-01-22 10:53:18 -08:00
Rahul Ahuja
3a67eae46d
Use track attrs directly, better naming/docstrings
2019-01-22 10:41:18 -08:00
Rahul Ahuja
09fc53eaea
Only parse Spotify ID when necessary
2019-01-21 23:53:19 -08:00
Rahul Ahuja
96fda0df0d
Docstring formatting
2019-01-21 23:36:51 -08:00
Rahul Ahuja
77f9a930b7
Fix remaining test, use official doc wording
2019-01-21 23:15:08 -08:00
Rahul Ahuja
0527edbd48
Fix test index, add docstrings
2019-01-21 23:05:47 -08:00
Rahul Ahuja
f63beca39a
Switch filter ordering in test
2019-01-21 22:35:12 -08:00
Rahul Ahuja
48401c60dc
Switch query filter ordering for tests
2019-01-21 22:27:31 -08:00
Rahul Ahuja
42e852cc7e
Clarify _search_spotify return type
2019-01-21 22:12:56 -08:00
Rahul Ahuja
aa18f9116d
Refine doc wording
2019-01-21 22:01:30 -08:00
Rahul Ahuja
265fcc7cea
utilize track_for_id in item_candidates
2019-01-21 21:45:50 -08:00
Rahul Ahuja
5472a49991
Add candidates and item_candidates, modularize Search API queries
2019-01-21 21:24:41 -08:00
Rahul Ahuja
dab62f2194
inline auth_header property
2019-01-21 09:23:38 -08:00
Rahul Ahuja
b50e148bec
use official client ID/secret, remove usage from docs
2019-01-21 08:32:57 -08:00
Rahul Ahuja
cb8b0874d4
naming
2019-01-21 01:56:57 -08:00
Rahul Ahuja
415b21cbc1
fix var reference, add docstring
2019-01-21 01:30:37 -08:00
Rahul Ahuja
844b940832
capture TrackInfo.medium_total
2019-01-20 15:32:07 -08:00
Rahul Ahuja
dbf17f760e
add TrackInfo.medium
2019-01-20 15:09:51 -08:00
Rahul Ahuja
78a46fd4d0
doc typo
2019-01-20 15:02:19 -08:00
Rahul Ahuja
b4d54b0950
set TrackInfo.index in track_for_id
2019-01-20 15:00:32 -08:00
Rahul Ahuja
082357b063
document new functionality, use Spotify ID for AlbumInfo.album_id
2019-01-20 12:40:11 -08:00
Rahul Ahuja
287c767a6d
fix formatting
2019-01-20 11:24:33 -08:00
Rahul Ahuja
695dbfaf80
copy album_distance, track_distance from Beatport plugin
2019-01-20 03:20:18 -08:00
Rahul Ahuja
bb1ed67e2d
use open.spotify.com URL for data_url
2019-01-20 02:43:54 -08:00
Rahul Ahuja
02aa79ae61
add more docstrings
2019-01-20 02:28:59 -08:00
Rahul Ahuja
b95eaa8ffe
fix test, document Spotify ID
2019-01-20 02:20:10 -08:00
Rahul Ahuja
9a30000b56
better naming, formatting
2019-01-20 02:04:46 -08:00
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