Commit graph

2332 commits

Author SHA1 Message Date
Adrian Sampson
f621d7f4f1 Merge pull request #1992 from jackwilsdon/add-write-bpm
Add write option to bpm plugin
2017-01-01 23:09:41 -05:00
Mike Cameron
8a00791ecc Oops. Forgot to actually stage the correct file. 2017-01-01 04:52:32 -05:00
Adrian Sampson
4c1b8c2935 Merge pull request #2342 from inytar/master
Implement the basic AcousticBrainz Submit plugin
2017-01-01 00:45:24 -05:00
inytar
b57b3f761e Add header to the absubmit plugin 2016-12-31 18:27:27 -05:00
inytar
cfe9c0f3d4 Remove fixed TODO comment 2016-12-31 14:11:55 -05:00
Tigran Kostandyan
1c5c74f1d7 Fix a typo 2016-12-31 18:46:01 +03:00
diomekes
ab4246c5db add prompt choice to play items before import
fix line number

add comments
2016-12-30 23:51:20 -05:00
Adrian Sampson
8bb24e3134 lyrics: Set User-Agent header (fix #2357) 2016-12-30 10:55:24 -05:00
Diego M. Rodriguez
3f36f67940
discogs: tweak pruning of empty candidate albums 2016-12-30 11:39:19 +01:00
Diego M. Rodriguez
37cb1c295f
Merge remote-tracking branch 'upstream/master' into discogs-relax-assumptions
Conflicts:
	docs/changelog.rst
	test/test_discogs.py
2016-12-30 10:42:50 +01:00
Diego M. Rodriguez
5f83f8db1f
Merge remote-tracking branch 'upstream/master' into discogs-subtrack-handling
Conflicts:
	docs/changelog.rst
2016-12-30 10:20:58 +01:00
Diego M. Rodriguez
072e6de3ae
discogs: add changelog for #2318, fix typo 2016-12-30 10:17:53 +01:00
Adrian Sampson
1e215aedef Merge branch 'master' of github.com:beetbox/beets 2016-12-29 13:31:00 -05:00
Adrian Sampson
ac41b6d6e5 Fix #2339: scrub resets art type
We now use the richer `images` field instead of the more basic `art` field.
2016-12-29 13:30:17 -05:00
Diego M. Rodriguez
0a9cb1fd3d
discogs: revise subtrack merging based on subindex
Modify the coalescing of subtracks by taking into account the subindices
of the subtracks for deciding if they represent "logical" tracks
(merging them into one single track, as previously) or if they represent
physical tracks (treating them as individual tracks).
Add unit tests for nested logical/physical subtracks, and disc titles.
2016-12-29 18:03:54 +01:00
Diego M. Rodriguez
4364757fcc
Merge remote-tracking branch 'upstream/master' into discogs-relax-assumptions
Conflicts:
	docs/changelog.rst
2016-12-29 13:27:06 +01:00
Diego M. Rodriguez
30f238151e
discogs: additional sanity checks parsing release
Add extra checks for the presence of specific field (artists, title,
id, tracklist) when parsing a Release from discogs, failing gracefully
if the fields could not be found.
Add a test for releases without required fields.
2016-12-29 13:19:01 +01:00
dopefishh
8bb703619f use util.py3_path for web attachment filenames (#2353)
Web attachment filenames must be passed as a string for Python 3
2016-12-29 05:38:27 -05:00
Adrian Sampson
413666a825 Fix #2351: crash in scrub on MediaFile errors 2016-12-28 16:36:51 -05:00
Diego M. Rodriguez
02666424d4
discogs: improve robustness when parsing an album
Improve the robustness of `get_album_info()` by preferring the use of
`get()` over accesing the dictionary keys directly for several fields,
plus adding extra checks for fields that depend on nested containers on
the Release data.
Add a test for parsing a release that contains a minimal amount of
fields.
2016-12-28 21:07:18 +01:00
Adrian Sampson
a414872430 Fix a missing parameter (#2349) 2016-12-28 13:36:19 -05:00
Adrian Sampson
8a62087376 Documentation tweaks for #2349 2016-12-28 12:03:57 -05:00
Adrian Sampson
2a3f3d9bfa acousticbrainz: Make some strings into comments
When not in the docstring position, it's better to use "real" comments instead
of string literals.
2016-12-28 12:01:08 -05:00
Adrian Sampson
c27879edbc Slight code formatting tweaks for #2349 2016-12-28 11:59:14 -05:00
Adrian Sampson
9db79835d6 Merge pull request #2349 from SusannaMaria/#2347
#2347: First hack of ignoring already tagged items
2016-12-28 11:55:21 -05:00
Susanna Maria Hepp
7e1e31bddd E128: continuation line under-indented for visual indent? 2016-12-28 15:30:57 +01:00
Susanna Maria Hepp
165f2e189e Repair findings from Travis CI 2016-12-28 15:11:03 +01:00
Susanna Maria Hepp
00371de0bb Changes suggested by @sampsyo 2016-12-27 21:56:39 +01:00
Susanna Maria Hepp
c632949b64 Changes suggested by @Kraymer 2016-12-27 21:48:06 +01:00
nath@home
8e29a3ffcb Zero: Last minute unimportant fixes:
*Remove the artifact of a debug log.
*Remove meaningless version number.
*Rephrase some docstrings.
*Remove tautological comments.
2016-12-27 19:13:29 +01:00
Susanna Maria Hepp
bbaad2f17d Introduce force option in acousticbrainz 2016-12-27 13:22:16 +01:00
Susanna Maria Hepp
f93ee3accc First hack of ignoring already tagged items 2016-12-26 23:54:24 +01:00
Adrian Sampson
a92323945e Merge pull request #2329 from SJoshBrown/master
Add manually triggered mode for zero plugin
2016-12-26 17:29:17 -05:00
Adrian Sampson
641e62f2e0 Vastly simplify main random function
This is the payoff from the earlier refactorings: the control flow is now
consistent and clear, and the two factors (time vs. number, equal-chance or
not) are orthogonal. See also #2322.
2016-12-26 17:04:21 -05:00
Adrian Sampson
33eb4ff91b Refactor time-based selection (#2322) 2016-12-26 17:01:02 -05:00
Adrian Sampson
d053f98e81 random: Refactor equal chance logic 2016-12-26 16:43:47 -05:00
Adrian Sampson
5bbf16c2b1 Refactor length calculation (#2322)
Also, avoid setting an unnecessary field on the album objects. :/
2016-12-26 16:32:03 -05:00
Adrian Sampson
4c2457d6ce Refactor random plugin a bit
Separate the callback function from the random selection logic.
2016-12-26 16:27:31 -05:00
inytar
146516704f Update comments for clarification 2016-12-26 16:11:48 -05:00
Adrian Sampson
9adfcbddd1 Merge pull request #2322 from diomekes/random-timelimit
random: add --time option, update docs
2016-12-26 16:08:14 -05:00
inytar
b86187089b Update errors and logging of ABSubmit plugin
A UserError is now raised if the plugin can be started.
If an item fails to be analyzed or be submited an error is logged and
the next item is tried.
2016-12-26 16:05:10 -05:00
Josh Brown
b6577b4226 refactor long line for PEP8 2016-12-26 14:42:10 -06:00
Josh Brown
7833469261 add confirmation for empty query 2016-12-26 14:13:01 -06:00
Josh Brown
2903925e2f Rewrite zero plugin manual mode 2016-12-26 13:34:34 -06:00
nathdwek@laptop
96d331ace0 Zero: cleanup plugin 2016-12-24 19:13:10 +01:00
inytar
f61aa7a016 Move extractor sha calculation to pluging init. 2016-12-23 17:48:29 -05:00
inytar
fd3ff917d2 Implement the basic AcousticBrainz Submit plugin 2016-12-23 17:27:46 -05:00
Adrian Sampson
a063336446 Fix #2332: Unicode trouble in bpd 2016-12-20 15:16:46 -05:00
diomekes
1bc5456986 random: make --album work with --time 2016-12-17 17:24:58 -05:00
Kier Davis
eb85ff422b
convert plugin: fix braces in filenames causing tracebacks in "pretend" mode
Previously "pretend" mode (a.k.a. dry run mode) passed the command to be
printed directly to _log.info, whose first argument is technically a
format string. Thus the command string was parsed for replacement fields, such
as '{foo}', which could cause the format evaluation to fail if the filenames
contained in the command contained valid (or partially valid) replacement fields.

This fix simply inserts an argument '{0}' to the call to _log.info, which is a
format string that simply evaluates to the second argument to _log.info (the
command string). By doing this, the command string is not parsed for replacement
fields.
2016-12-16 00:21:35 +00:00
diomekes
fc8411f3b8 random: add --time option, update docs 2016-12-15 16:15:38 -05:00
tigranl
dd115b1310 Add ui import 2016-12-11 00:35:51 +03:00
tigranl
5ca664e4aa Fix typos 2016-12-11 00:25:37 +03:00
tigranl
471f875dc1 Fix typo 2016-12-10 21:26:51 +03:00
tigranl
68b4a03ecd Add tests for https 2016-12-10 19:54:44 +03:00
Johnny Robeson
bca6d2af01 Remove requests/urllib3 logging override in discogs
Discog plugin overrides the global logging for `requests` for a reason
that seems no longer valid.

I can't seem to reproduce the logging behavior mentioned in the
preceding comment, so I'm removing it.

If we do want to modify `requests` logging in the future, then we should
hook it into beets verbose logging.
2016-12-09 00:52:24 -05:00
tigranl
b65a7da8e2 Add SNI_SUPPORTED 2016-12-08 19:20:18 +03:00
tigranl
21208b8c39 Add SNI_SUPPORTED 2016-12-08 19:09:15 +03:00
tigranl
efa90416a0 Add SNI_SUPPORTED
Add SNI_SUPPORTED
2016-12-06 19:51:15 +03:00
tigranl
d065b33a81 Add SNI_SUPPORTED variable for https check 2016-12-06 18:42:01 +03:00
tigranl
73a7a4ff67 Add SNI_SUPPORTED variable for https check 2016-12-06 18:38:26 +03:00
tigranl
0fb19cfa10 Merge branch 'master' of github.com:beetbox/beets into https_fix 2016-12-06 16:20:54 +03:00
tigranl
6ba5099034 Python version check for lyrics.py 2016-12-06 16:17:25 +03:00
Adrian Sampson
991c9936fd Fix #2299: non-Unicode logging in badfiles 2016-12-03 11:20:06 -05:00
nath@home
147ced9eaa acousticbrainz: latest adjustments
* Readability and consistency
* Better logging: warn by default for attributes that were not found,
  but don't drown user with info when everything is going well.
2016-11-20 22:45:07 +01:00
nathdwek@laptop
eb1ea6177d acousticbrainz: drop DefaultList, be explicitly careful
* I don't see DefaultList be really helpful in many other cases, so having
  a beets.util.collections module (which could also conflict with the collections
  module from standard library) with only that in it is a little silly.
* It was elegant and concise, but there are implementation issues: it is not
  recommended to subclass builtin types, but the alternatives differ between python
  2 and 3 (subclass sequence or container or collections.abc?), moreover,
  interpreters can differ in the way they map syntaxic sugar to magic functions.
* Also, slicing and negative indexing could do weird things, so the class wouldn't
  be really intuitive and simple at the same time
2016-11-20 22:03:41 +01:00
nathdwek@laptop
1d972b9907 acousticbrainz: rewrite _map_dict_to_scheme:
* Less lazy names
* Separate root function from childs more naturally
* Actually use defaultdict
2016-11-20 22:03:41 +01:00
nathdwek@laptop
324c67191d acousticbrainz: log fetched attributes and values as info 2016-11-20 22:03:41 +01:00
nathdwek@laptop
3979619f9f acousticbrainz: remove redundant comments 2016-11-20 22:03:41 +01:00
nath@home
7a676400dc acousticbrainz: Refactor the json handling part 2016-11-20 22:03:41 +01:00
nath@home
1963b52903 acousticbrainz: Initial cleanup 2016-11-20 22:03:41 +01:00
Adrian Sampson
62e9a15f4d Fix a copy n' paste error found by flake8 2016-11-16 12:03:07 -05:00
nath@home
2e78628507 convert: Don't ask for confirmation if query result is empty 2016-11-13 17:46:29 +01:00
nath@home
d53b677e0f convert: initial cleanup of convert_func
Get cli options and configuration in a more readable, uniform way
2016-11-13 00:20:01 +01:00
michaelbub
0a88338f8b obey style guide 2016-11-11 16:23:32 +01:00
michaelbub
0bdc621d99 sanitizing playlist name AFTER values have been filled in and updated test accordingly 2016-11-11 15:21:34 +01:00
michaelbub
5942adba01 fixed/updated test to consider sanitized playlist names 2016-11-11 10:07:25 +01:00
michaelbub
3e53d4caff sanitize playlist names
Make e. g.
- name: $albumartist/$year-$album.m3u'
work when album data includes non fs-friendly characters
2016-11-10 13:05:18 +01:00
root
f37df2dbd4 Whitespace for flake8. 2016-11-08 16:56:13 -08:00
root
acd5c6404f missing plugin, modify "missing" attribute by modifying album_types,
making it of type INTEGER. also changelog for above.
2016-11-08 16:23:57 -08:00
nathdwek@laptop
a0877dc092 images: Make sure all jpegs work everywhere
Apply #1545 to a public function used everywhere
2016-11-08 18:48:44 +01:00
Max Ammann
7242c5ed03 Revert "Expose the relative path to the library instead of omitting the 'path' variable"
This reverts commit 5e8ac9e4a5, because of
a slowdown. Resolves #2182.
2016-10-26 23:08:44 +02:00
kooimens
373cf19f8b Fix discogs disc field is set to zero
Fixes #587. The disc field is only zero when there is only one medium, so I think this will do the trick. I wasn't able to reproduce the real problem within the code. This is just a small workaround.
2016-10-17 19:51:03 +02:00
Diego Moreda
1f4bef9e61 discogs: docstring style fix 2016-10-10 20:30:21 +02:00
Diego Moreda
f4907ca5d0 discogs: handle nested subtracks, add try block
Modify coalesce_tracks() in order to handle the case where subtracks
are defined inside an index track (as `sub_tracks` attribute),
reorganizing the if logic to avoid duplicated code.

Add a try..catch block enclosing the call to clean_tracklist, as a
measure for avoiding side effects (and reverting to just parsing the
raw_list if there are any problems).
2016-10-10 19:59:42 +02:00
Diego Moreda
fb398c5f2c discogs: add medium_total to tracks (#415) 2016-10-10 17:46:41 +02:00
Diego Moreda
1148acaaf1 discogs: revise position regexp, add tests, tox
Revise the regular expression used for extracting information from a
discogs position, making the subtrack_index only be matched if one of
the other groups is matched as well. Split the definition into several
lines in order to try to document it a bit more clearly.
Add unit tests for position parsing and non standard positions.
Fix the underscore on tox dependency.
2016-10-10 17:42:27 +02:00
Diego Moreda
e7f2a111e4 discogs: add test dependencies, fix spelling 2016-10-09 17:57:36 +02:00
Diego Moreda
be223d966e discogs: coalesce subtracks (#1543)
Detect subtracks and merge them into a single track, taking into account
the index tracks if present. This includes a revision of the regular
expression used for converting a discogs "position" into medium, medium
index and subtrack index pieces, following the standard discogs
positions (12.2.9).
2016-10-07 19:09:09 +02:00
Diego Moreda
c55885c9e8 discogs: take into account two-sided media (#1762)
Revise the discogs plugin so two-sided mediums are taking into account
and each pair of consecutive *sides* is treated as single *medium*.
2016-10-07 19:01:50 +02:00
Diego Moreda
911117ef49 discogs: set media on tracks (#1921)
Set the media for all the tracks when fetching a release using discogs,
as autotag.apply_metadata requires it in order to work properly.
2016-10-06 19:49:43 +02:00
Adrian Sampson
4ae02e0d27 Merge pull request #2211 from heylookltsme/better-genre
Proposal: Add specificity option to lastgenre plugin
2016-09-27 09:07:39 -04:00
Corinne Hoener
a7e3bf2d0b third time's a charm 2016-09-27 06:21:51 -04:00
Corinne Hoener
1c9202cc86 moar indents! 2016-09-26 21:21:15 -04:00
Corinne Hoener
c10fe1e126 change option name to prefer_specific 2016-09-26 19:06:34 -04:00
Corinne Hoener
be5ce3194f better syntax; better comments 2016-09-26 19:02:10 -04:00
Corinne Hoener
288ff6ba19 Add specificity option to lastgenre in order to prefer the most specific genres 2016-09-26 16:13:04 -04:00
Fabrice Laporte
0140f2f287 Merge pull request #2206 from Kraymer/issue2205
Issue2205: search for lyrics using part of song title preceding ':'
2016-09-25 21:24:56 +02:00
Fabrice Laporte
7226624405 replace strip_part() by generate_alternatives()
Delegate the update of titles and artists lists to the helper
generate_alternatives() function.
2016-09-25 19:37:14 +02:00
Fabrice Laporte
e2703b9a7c always yield item artist and title first
Rather than using an unordered set for storing pairs, append to a list
and build an OrderedDict from it to filter duplicated strings while
keeping order.
2016-09-25 15:46:22 +02:00