Commit graph

2213 commits

Author SHA1 Message Date
Jack Wilsdon
ba7004de6e Remove unneeded AutoFieldCountFormatter 2016-05-01 21:33:06 +01:00
Jack Wilsdon
e66981c4d8 Use beets shlex_split instead of shlex.split 2016-05-01 21:31:53 +01:00
Jack Wilsdon
b4715d61e1 Fix over-indentation of wrapped code 2016-05-01 21:30:20 +01:00
Jack Wilsdon
576ec92992 Fix encoding for hook plugin
- Add a AutoFieldCountFormatter formatter for auto field
   incrementation.
 - Add a CodingFormatter for formatting encoded strings.
 - Fix encoding for hook plugin using CodingFormatter.
2016-05-01 21:21:40 +01:00
Adrian Sampson
04bbdede38 hook: Typed configuration accessors 2016-05-01 13:04:35 -07:00
Jack Wilsdon
b9464d1ea4 Use unicode for command formatting 2016-05-01 18:26:06 +01:00
Patrik
2f608fce0a convert.py: Fix error message 2016-05-01 01:53:03 +02:00
Patrik
4f596725ae convert.py: Fix error message 2016-05-01 01:27:02 +02:00
Adrian Sampson
950e1b5e85 Merge pull request #1603 from jackwilsdon/add-hook-plugin
Add hook plugin (fixes #1561)
2016-04-30 15:03:42 -07:00
wordofglass
1dd6739218 lyrics: fix a bug where the lyricswiki fetcher would try to unescape an empty (None) response and crash 2016-04-30 01:25:02 +02:00
Jack Wilsdon
ae9ece1e62 Make format extension optional
The format extension defaults to the name of the format if it is not
provided.
2016-04-29 14:51:13 +01:00
wordofglass
c3c7da8061 lyrics: simplify source handling a little 2016-04-28 18:31:22 +02:00
wordofglass
2928a16bd5 lyrics: actually disable translation when there's no langdetect 2016-04-28 17:22:55 +02:00
wordofglass
c4b11f889f lyrics: clean up import handling and source removal 2016-04-28 17:15:25 +02:00
Jack Wilsdon
7c9440cf13 Merge master back in to fork 2016-04-28 04:15:02 +01:00
Jack Wilsdon
48fff93e78 Merge pull request #1961 from jackwilsdon/pep8-naming
Add flake8 check for pep8 naming
2016-04-28 04:07:17 +01:00
Jack Wilsdon
79d602b2a0 Use correct methods for ImageMagick and PIL info 2016-04-27 20:41:09 +01:00
Jack Wilsdon
8317a20bcd Use correct methods from art resizer 2016-04-27 20:34:28 +01:00
Jack Wilsdon
b1c58e99ec Update code to match pep8 naming standards 2016-04-27 20:15:10 +01:00
Adrian Sampson
09bc250413 Fix #1960: Unicode in fetchart Wikipedia source
The SparQL query needed to use a Unicode literal.
2016-04-26 16:59:23 -07:00
Jack Wilsdon
c5e2334fb5 Remove useless unescape
Remove useless unescape as _scrape_script_cruft does it for us.
2016-04-25 19:24:26 +01:00
Jack Wilsdon
1be9c3003e Use different method to remove junk from LyricsWiki
Use `_scrape_strip_cruft` instead of `scrape_lyrics_from_html` so that
LyricsWiki does not depend on Beautiful Soup.
2016-04-25 19:14:30 +01:00
wordofglass
607f41be43 Fix the previous fix... 2016-04-24 00:42:31 +02:00
wordofglass
4a5b886944 Fix two non-guarded import statements in the lyrics plugin
These could make the import process crash with a traceback.
2016-04-24 00:35:15 +02:00
Guilherme Danno
bf1b06f0c7 don't print entire lyrics during import 2016-04-22 17:30:06 -03:00
wordofglass
ac2f7fe712 Fix the fanarttv source failing when there were images found, but no cover art 2016-04-20 12:59:18 +02:00
wordofglass
5fbca32ea4 reuse the 'sources' names from the configuration for art_source 2016-04-19 11:25:03 +02:00
wordofglass
740efc0a0e small fixes; consistently use 'source' instead of 'origin' 2016-04-19 11:23:57 +02:00
wordofglass
c27907b043 enable fetchart to store the artworks origin in a flexible field; as of now untested 2016-04-19 11:23:42 +02:00
Jack Wilsdon
85fd60852f Remove unused dependencies 2016-04-18 19:21:31 +01:00
Jack Wilsdon
ffa2fdd278 Merge master back in to fork 2016-04-18 19:19:08 +01:00
Jack Wilsdon
dea091ee53 Improve error handling for invalid commands 2016-04-18 19:16:31 +01:00
wordofglass
9e774fdccd Merge branch 'master' into fetchart_almost_square 2016-04-18 19:00:45 +02:00
wordofglass
11c6ca5271 Merge remote-tracking branch 'beetbox/master' 2016-04-18 18:53:46 +02:00
wordofglass
c3be244109 remove the personal key warning altogether; it's also in the docs and rather obtrusive 2016-04-18 18:52:18 +02:00
Guilherme Danno
019d7cd2e6 fix some typos 2016-04-18 12:36:42 -03:00
Guilherme Danno
09073630e3 Merge pull request #1945 from beetbox/export-plugin
Export plugin: Export data from queries to a json
2016-04-18 12:24:27 -03:00
Jack Wilsdon
070469e259 Remove unicode_literals from __future__ imports 2016-04-18 16:00:13 +01:00
Jack Wilsdon
3e35660ff3 Remove unnecessary escaping on double quotes 2016-04-18 15:36:08 +01:00
Jack Wilsdon
686e069bc4 Replace double quotes with single quotes 2016-04-18 15:35:15 +01:00
Jack Wilsdon
8b4f349e27 Improve hook plugin design and configuration
- Remove `shell` option and split all commands using `shlex.split`
   before passing them to `subprocess.Popen`.
 - General refactor of hook plugin code - move hook creation function
   inside `HookPlugin`.
 - Add improved error handling for invalid (i.e. empty) commands or
   commands that do not exist.
2016-04-18 15:04:57 +01:00
wordofglass
20235264a4 rewire logic a bit; reasonable debug messages 2016-04-18 15:23:38 +02:00
Jack Wilsdon
dd949a9488 Merge master back in to fork 2016-04-18 14:06:45 +01:00
wordofglass
30bca5c8af fix unconditionally printing the personal key warning for in fanart.tv in fetchart 2016-04-18 11:39:09 +02:00
Guilherme Danno
228ffc91be use sort_keys to make the data more "predictable" 2016-04-17 23:47:12 -03:00
Guilherme Danno
5e3c65d32e change option letter 2016-04-17 23:37:51 -03:00
Guilherme Danno
10acea4efd Remove json monkey-patching and use encoder subclassing 2016-04-17 23:35:23 -03:00
Guilherme Danno
1e3704a27e fix NotImplementedError() 2016-04-17 21:52:09 -03:00
Guilherme Danno
c211aabd72 simplify json printing 2016-04-17 21:39:53 -03:00
wordofglass
6cbbba7dae initial work on allowing slightly non-square images in fetchart 2016-04-18 01:47:39 +02:00
Guilherme Danno
f58d4e838a Query data from items and export the json
Based on the ``info`` plugin
2016-04-17 18:26:17 -03:00
wordofglass
8169983074 fix translation of the old remote_priority option for fetchart, add a test 2016-04-17 21:18:31 +02:00
Adrian Sampson
3fb2185925 Merge pull request #1898 from beetbox/flake8-future-import
Add __future__ import style checker
2016-04-16 15:24:46 -07:00
wordofglass
0f89f17227 add missing division future imports 2016-04-16 18:33:54 +02:00
wordofglass
36e91fc78b fix fanart.tv merge 2016-04-16 14:17:46 +02:00
wordofglass
9ce10c2fda Merge branch 'master' into fetchart_unify_sources,
i.e. adapt the fanart.tv source
2016-04-16 13:34:46 +02:00
wordofglass
0cfddfaa8a add missing absolute_import future imports 2016-04-16 02:28:54 +02:00
wordofglass
6b43e1204f add missing print_function future imports 2016-04-16 01:53:39 +02:00
Adrian Sampson
4691deb5a5 Merge pull request #1941 from wordofglass/fetchart_fanarttv
Fetchart: add fanart.tv source
2016-04-15 11:45:00 -07:00
wordofglass
4763fec35b fanart.tv: remove overly verbose logging left over from debugging 2016-04-15 19:42:06 +02:00
wordofglass
3a2eb03e0e Add fanart.tv API key 2016-04-15 19:32:17 +02:00
wordofglass
87aa5dab13 fixes according to feedback by @Kraymer 2016-04-15 14:15:25 +02:00
wordofglass
d46b45861b typo, rename project key config option 2016-04-15 02:40:52 +02:00
wordofglass
ecc6e1c3d6 fanart.tv albumart fetching, missing a project API key 2016-04-15 02:28:04 +02:00
Fabrice Laporte
05970e8a93 re-query token when it has expired 2016-04-14 22:57:41 +02:00
Fabrice Laporte
56d7e5dfa0 send as little text as possible to bing api
Bing API has a limit of 2M chars/month. It’s common to have repeating
sentences in lyrics so to reduce number of chars sent per song, store
sentences in a set and send it, instead of sending the whole lyrics.
2016-04-14 22:57:17 +02:00
wordofglass
7322e212a4 fetchart: adapt test to earlier config read 2016-04-14 16:49:06 +02:00
wordofglass
aaf614c869 fetchart: move config reads to __init__ 2016-04-14 16:00:24 +02:00
wordofglass
6bc3fb8f67 fetchart: make Candidate a new-style class 2016-04-14 15:27:47 +02:00
Fabrice Laporte
6cfc106b8a better docs and debug msg 2016-04-14 08:31:55 +02:00
Fabrice Laporte
58df77e2cb langdetect conditional import 2016-04-14 08:31:14 +02:00
Fabrice Laporte
e03c3af91f don't translate lyrics already in the target language 2016-04-14 01:11:14 +02:00
Fabrice Laporte
66a627fed8 restore module docstring 2016-04-14 00:58:42 +02:00
Fabrice Laporte
3c2479ab49 translate lyrics using Bing API
By subscribing to Microsoft Translator API, one can now activate the
translation of lyrics from one set of source langages to a target
langage.
Translations are appended to each original sentence using ‘/‘ as
separator.
2016-04-14 00:53:58 +02:00
Fabrice Laporte
d67950cdcc pep8 2016-04-14 00:45:55 +02:00
wordofglass
1cc4d11baf Fetchart: fix tests and fetachart logic 2016-04-13 22:56:18 +02:00
wordofglass
a4994d2bf8 fetchart: fix more tests 2016-04-06 01:36:32 +02:00
wordofglass
bc877a6d7f fetchart: fix tests (mostly pep8, syntax) 2016-04-06 01:19:44 +02:00
wordofglass
bbc06e9de9 fetchart: Adapt ArtForAlbumTest 2016-04-05 23:24:30 +02:00
wordofglass
a2141c6f3a fetchart: fix refactoring 2016-04-05 22:44:13 +02:00
Adrian Sampson
fa2aa82a0d Fix #1927: useful error message for failed edit 2016-04-03 17:42:25 -04:00
Adrian Sampson
3f4f077272 edit: Log the invoked command 2016-04-03 17:38:40 -04:00
wordofglass
50bf28edd4 move constants into Candidate 2016-03-23 16:46:39 +01:00
wordofglass
8356e7d33d fix syntax 2016-03-23 00:47:11 +01:00
wordofglass
b37cc02f1a fetchart: Introduce the Candidate class, some fixes to the previous commit. 2016-03-22 20:52:25 +01:00
wordofglass
c0a041b87e fetchart: Unify handling of local and remote sources. 2016-03-22 19:42:16 +01:00
Cédric Tissières
e5be804802 importadded: adapt doc for new option preserve_write_mtimes 2016-03-22 06:24:09 +01:00
Cédric Tissières
8ef36198fb importadded: preserve mtime after any write 2016-03-21 20:47:05 +01:00
Adrian Sampson
d1753b341e lyrics: Some comments and better naming 2016-03-21 10:28:30 -07:00
Adrian Sampson
f684f29a25 lyrics: Tolerate pages without text (fix #1914) 2016-03-21 10:24:13 -07:00
Adrian Sampson
c9be5bc7d1 Merge pull request #1911 from jackwilsdon/fix-musixmatch-url
Fix MusixMatch issues
2016-03-18 11:51:27 -04:00
Jack Wilsdon
60148918d9 Fix LyricsWiki scraping code
LyricsWiki now escapes song lyrics using HTML entities (presumably to
prevent scraping), so we now unescape these before parsing.

LyricsWiki has also added a script tag inside the div we are scraping,
so we have to remove this using `scrape_lyrics_from_html`.
2016-03-17 17:49:41 +00:00
Jack Wilsdon
c417003184 Add missing newline 2016-03-16 21:07:28 +00:00
Jack Wilsdon
1ec06e14c5 Fix lyrics extraction from MusiXmatch
Remove "lyrics_" prefix from extract_text_between arguments to reflect
changes made to the MusiXmatch website.
2016-03-16 20:48:57 +00:00
Jack Wilsdon
44c799320f Improve URL generation in lyrics plugin
Allow custom replacements to be defined in subclasses of
SymbolsReplaced.

Replace spaces with a hyphens when the source is MusiXmatch, instead of
(incorrectly) using underscores. This fixes #1880.
2016-03-16 20:46:36 +00:00
Adrian Sampson
8a0b18c960 Fix #1903: scrub sometimes ignored id3v23 2016-03-15 23:06:10 -04:00
Adrian Sampson
c18b5dbadd Fix #1907: redact MusicBrainz password 2016-03-11 16:50:32 -05:00
Ivan Shapovalov
4d40b058d3 treewide: add u to instances of 'singleton:true'
Fixes #1901.
2016-03-06 02:12:43 +03:00
Adrian Sampson
eac7d64545 Merge branch 'master' into no_unicode_literals 2016-02-28 15:21:43 -08:00
Adrian Sampson
e54c7eec3d Standardize __future__ imports without parentheses
Since the list is short enough now, we don't need parentheses for the line
wrap. This is a little less ugly.
2016-02-28 15:03:51 -08:00
Adrian Sampson
d53019f9db Further whitespace fiddling
Most commonly, this sticks with:

    log.debug(
        'some long message here'
    )

instead of placing the closing ) at the end of the string literal.
2016-02-28 14:48:10 -08:00
Adrian Sampson
031d50abbf Human-readable message in non-pretend mode (#1894) 2016-02-27 09:58:05 -08:00
Ali Graham
a98bc481cd tweaks for style, option name 2016-02-27 19:05:56 +10:30
Ali Graham
a1f80275c4 revert a chunk of the work to be the way it was 2016-02-25 21:35:14 +10:30
Ali Graham
bc21afab42 better text for artwork resize/copy logs 2016-02-25 18:51:00 +10:30
Ali Graham
1fc6efe3b4 fix indentation 2016-02-25 18:45:53 +10:30
Ali Graham
04c12a50ac add copy_album_art_maxwidth config option to convert plugin 2016-02-25 12:44:56 +10:30
Ali Graham
e58e04f0ab move and split fetchart valid_image 2016-02-25 12:44:09 +10:30
Peter Kessen
c2e7d59db7 Removed import of unicode_literals from plugin web 2016-02-20 14:36:56 +01:00
Peter Kessen
7155999d00 Removed import of unicode_literals from plugins
* thumbnails
* types
2016-02-20 14:34:49 +01:00
Peter Kessen
30cf407074 Removed import of unicode_literals from plugins
* rewrite
* scrub
* smartplaylist
* spotify
* the
2016-02-20 14:31:27 +01:00
Peter Kessen
456565b6f2 Removed import of unicode_literals from plugins
* play
* plexpudate
* random
* replaygain
2016-02-20 14:22:45 +01:00
Peter Kessen
feab3df910 Removed import of unicode_literals from plugins
* mpdstats
* mpdupdate
* permissions
* zero
2016-02-20 14:12:37 +01:00
Peter Kessen
48098c3741 Removed import of unicode_literals from plugins
* lastgenere
* mbcollection
* mbsubmit
* mbsync
* missing
2016-02-20 14:08:05 +01:00
Peter Kessen
f2fc1a78bf Removed import of unicode_literals from plugins
* keyfinder
* lastimport
* lyrics
2016-02-20 13:59:58 +01:00
Peter Kessen
fc3d10d248 Removed unicode_literals from plugins
* fuzzy
* ihate
* importadded
* importfeeds
* info
* inline
2016-02-20 13:53:10 +01:00
Peter Kessen
7d00ab3b50 Removed unicode_literals from plugins
* fetchart
* freedesktop
* fromfilename
* ftintitle
2016-02-20 13:44:45 +01:00
Peter Kessen
53d2c8d9db Removed unicode_literals from plugins
* echonest
* edit
* embedart
* embyupdate
2016-02-20 13:35:54 +01:00
Peter Kessen
5547a82848 Removed unicode_literals from plugin duplicates 2016-02-20 13:26:27 +01:00
Peter Kessen
40900aa1cb Removed unicode_literals from plugins
* bucket
* chroma
* convert
* discogs
2016-02-20 12:10:01 +01:00
Peter Kessen
5db57bdc01 Removed unicode_literals from plugin bpd 2016-02-20 11:57:36 +01:00
Peter Kessen
6852ab5472 Removed unicode_literals from plugins
* acousticbrainz
* badfiles
* bpm
2016-02-20 11:49:10 +01:00
Adrian Sampson
6e3d72afa6 Merge pull request #1846 from diego-plan9/interactiveedit
edit: allow interactive editing during the importer
2016-02-07 14:34:54 -08:00
Adrian Sampson
314521b6ae replaygain: Fix obvious typo (fix #1873, I hope) 2016-02-07 14:28:33 -08:00
Josh Brown
ea36c5a825 Allow default lastfm key to be overridden in config 2016-02-06 00:41:59 -06:00
Josh Brown
0f155ce3b9 Use beets API key for lastimport plugin. 2016-02-05 23:50:24 -06:00
Diego Moreda
8d3f9a573c edit: revert album-field changes, use temporary id
* Revert the changes related to allowing the album- and item-level
fields to be edited at the same time, as the increase in complexity
was deemed excesive during review.
* Modify the interactive execution so temporary Item.id's are used,
removing the extra functionality needed for dealing with both id and
path as reference fields.
* Docstrings and comments cleanup.
2016-02-05 12:35:11 +01:00
Diego Moreda
0ba8f83929 edit: allow edit album+item fields in single yaml
* Add support for editing both the item fields and the album fields in
a single YAML file, by appending an Album-like object as the front of
the objects to be edited.
* The FakeAlbum class provides that object, mimicking the original
Album behaviour and including an _apply_changes() method that propagates
the changes read from the yaml onto the Items.
* Modify edit_objects() so the flattening of the objects takes into
account the type of object, using different fields for Albums and for
Items.
* Renamed apply() to apply_() to prevent an IDE warning about reusing a
reserved built-in symbol.
2016-02-03 17:34:39 +01:00
Adrian Sampson
60888274c4 lyrics: Re-disable Genius backend
As #1854 pointed out, the Genius API service is down *again*.
2016-02-02 08:14:22 -08:00
Adrian Sampson
0aea7e398b replaygain: Handle missing GStreamer data (#1855) 2016-02-02 08:08:58 -08:00
Diego Moreda
b8ec22ca34 edit: use action.RETAG, cleanup
* Make the edit plugin return action.RETAG when invoked during an
interactive import session, making the importer handle the writing of
the tags to the files (if needed) properly.
* Move the logic relative to the "reference field" to
_set_reference_field(), simplifying a bit the functions that depend on
this field.
* Hide the "edit Candidates" choice if no candidates are found.
2016-02-01 18:57:03 +01:00
Diego Moreda
30927a901f Fix flake8 error 2016-01-29 19:54:23 +01:00
Diego Moreda
98abe69520 edit: invoke editor during importer, on Items
* Initial draft for invoking the edit plugin during an importer session.
* Add prompt choices for editing the original file tags ("eDit") and
apply a candidate and then edit ("edit Candidates").
* Modify plugin (_get_fields, apply_data, edit_objects) so "path" can be
used as a reference field instead of "id", as the Items are not still on
the database when the plugin is invoked via the importer.
* Modify ImportTask.manipulate_files() with a temporary flag for writing
the item tags even if ASIS was selected.
2016-01-29 17:09:12 +01:00
Diego Moreda
76d7c65c1b replaygain: refine test by subclassing exception
* Subclass FatalReplayGainError into FatalGstreamerPluginReplayGainError
in order to handle gstreamer plugin errors more cleanly on
test_replaygain.
2016-01-26 22:20:42 +01:00
Diego Moreda
c12e974852 Merge remote-tracking branch 'upstream/master' into mbid 2016-01-19 21:58:10 +01:00
Diego Moreda
48c92fbf5a Allow multiple MB ids to be passed to the importer
* Modify the "--musicbrainzid" argument to the importer so multiple IDs can be
specified by the user instead of a single one.
* Revise autotag.match.tag_album and autotag.match.tag_item signature to expect
a list of IDs (search_ids) instead of a single one (search_id), and add logic
for handling and returning multiple matches for those IDs.
* Update calls to those functions in other parts of the code.
2016-01-19 21:43:32 +01:00
Adrian Sampson
1866264732 Docsring for #1812 2016-01-15 10:10:56 -08:00
Guilherme Danno
20e4f5d209 Info plugin: add option to print only keys 2016-01-14 18:08:22 -02:00
Adrian Sampson
8cb545b779 Possibly fix #1805: bytes headers for requests 2016-01-11 10:30:33 -08:00
Adrian Sampson
c7045daf90 sampsyo -> beetbox (#1730) 🎉 2016-01-08 20:36:16 -08:00
Adrian Sampson
0301bb517d Update links for our new domain 2016-01-08 16:26:13 -08:00
Adrian Sampson
635052e2ff Fix #1804: edit plugin moves files 2016-01-08 15:22:28 -08:00
Adrian Sampson
963a66a40c Refactor try_sync to also include moving
This will remove a bunch of duplication we currently have for moving files
*inside the library directory* when their metadata changes.
2016-01-08 14:56:52 -08:00
Adrian Sampson
36ad0cf70d lyrics: Re-enable genius backend (#1770) 2016-01-06 14:29:51 -08:00
nath@laptop
6e2b249c54 fix-typos: Write changelog
Also stealth-reformulate a recent comment of mine which contained
another (!) typo
2016-01-06 11:18:39 +01:00
nath@laptop
1e72ba75c7 play: Preserve backwards compat when fixing typos 2016-01-06 10:12:45 +01:00
nath@laptop
72056e8e07 play: Fix typo treshold > threshold:
We should warn users that the corresponding config key changed accordingly.
2016-01-06 09:21:37 +01:00
Ben Ockmore
c074ed37f1 Album is never present in user.getTopTracks, so this is now redundant 2016-01-04 17:36:30 +00:00
Ben Ockmore
e2a8bdb23d Changed initial value of song variable to None, which is clearer 2016-01-04 17:33:03 +00:00
Ben Ockmore
0a6983b759 Replaced custom requests in fetch_tracks with pylast
Also changed from using the library.getTracks API method to user.getTopTracks, since Last.fm has broken the former.
2016-01-04 17:29:18 +00:00
Adrian Sampson
15fe43219e Merge pull request #1793 from JesseWeinstein/fix_default_command
Fix default command in interactive_open
2016-01-03 14:25:27 -08:00
Adrian Sampson
04618f9aef acousticbrainz (#1787): Fix typos in keys 2016-01-03 14:17:39 -08:00
Adrian Sampson
4041c3ceb2 acousticbrainz (#1787): Write tags
Now that we modify the built-in field, this is necessary.
2016-01-03 14:14:10 -08:00
Adrian Sampson
b44601176a Merge pull request #1787 from opatel99/AcousticBrainzP2
AcousticBrainz: More features (autotag)
2016-01-03 14:12:07 -08:00
Jesse Weinstein
246afda9c4 Actually, push the job off on the caller 2016-01-03 13:07:27 -08:00
Ohm Patel
a1db349bf9 ABrainz: Variable parameters 2016-01-02 19:20:20 -06:00
Ohm Patel
b5f71a88e8 ABrainz: replace lambda with operator 2016-01-02 19:05:53 -06:00
Ohm Patel
e5c46cf6ac PEP-8 Cleanup 2016-01-02 18:59:47 -06:00
Ohm Patel
39b565d8d8 Refactor JesseW's suggestions 2016-01-02 18:52:28 -06:00
Ohm Patel
1bb55c5c13 ABrainz: Used existing initial_key variable 2016-01-02 14:55:34 -06:00
Ohm Patel
4184f9dd13 ABrainz: Chords metadata from low_level 2016-01-02 12:03:07 -06:00
Ohm Patel
17dd7496a2 ABrainz: Added low-level data and updated docs 2016-01-02 11:33:19 -06:00
Diego Moreda
75636a2503 Merge branch 'master' of github.com:sampsyo/beets into prompthook
Conflicts:
	docs/changelog.rst
2016-01-02 13:39:42 +01:00
Diego Moreda
9bba782e9c mbsubmit: final style fixes (closes #1779) 2016-01-02 13:32:52 +01:00
Ohm Patel
c5f25429e9 ABrainz: Fixed docstrings and documentation 2016-01-01 18:29:36 -06:00
Ohm Patel
52de238076 ABrainz: Removed PEP8 Whitespace violation 2016-01-01 01:32:42 -06:00
Ohm Patel
82709f1c1b ABrainz: Added more metadata for plugin to fetch and updated docs 2016-01-01 01:28:17 -06:00
Ohm Patel
26679f891e ABrainz: Added acousticbrainz to autotagger and updated docs 2016-01-01 01:01:14 -06:00
Adrian Sampson
b0c94f4f47 Merge pull request #1785 from sampsyo/play-fix-cleanup
play: remove dead code, fix error catching
2015-12-31 14:38:04 -08:00
nath@laptop
775ac4ed83 play: Log exception from os call more accurately
Depending on raw or not, we do not necessarily play a 'playlist'. Use 'query' generically instead.
2015-12-31 21:49:03 +01:00
Adrian Sampson
aad2cf1feb acousticbrainz: Log an error for missing data 2015-12-31 11:38:05 -08:00
Adrian Sampson
3a3dc8b3ae acousticbrainz: Don't write tags
Since we aren't updating any on-disk tags anyway.
2015-12-31 11:35:14 -08:00
Adrian Sampson
5d89b7da67 acousticbrainz: Allow filtering on a query
Like other, similar commands.
2015-12-31 11:33:58 -08:00
Adrian Sampson
878161bb4f acousticbrainz: Avoid re-parsing the JSON 2015-12-31 11:31:32 -08:00
Adrian Sampson
18e5b30d19 acousticbrainz: Handle requests errors 2015-12-31 11:29:57 -08:00
Adrian Sampson
eb2b081dfd acousticbrainz: A bit more logging
This way, the command shows you that it's making progress.
2015-12-31 11:28:28 -08:00
Adrian Sampson
519f86fd3a Merge pull request #1784 from opatel99/AcousticBrainzPlug
AcousticBrainz Plugin
2015-12-31 11:17:44 -08:00
Ohm Patel
ad57943819 Updated Copyright Year 2015-12-31 09:35:01 -06:00
Ohm Patel
6337b7ff08 Rename commands and files 2015-12-31 08:57:19 -06:00
Ohm Patel
5201e1cde7 Rename 2015-12-31 08:56:55 -06:00
nath@laptop
f685a59e71 play: remove dead code
This piece of code won't ever execute because interactive open terminates python execution
2015-12-31 13:51:18 +01:00
Ohm Patel
d15d7efbf4 ABrainz: Removed repeated portion of error message 2015-12-31 00:53:05 -06:00
Ohm Patel
ed6d9087a9 ABrainz: Added error catching and renamed to abrainz 2015-12-31 00:50:49 -06:00
Ohm Patel
59a1333732 ABrainz: Renamed danceable to dance to match five character attribute 2015-12-30 23:38:19 -06:00
Ohm Patel
9daa02b5b0 ABrainz: Added write for three attributes to metadata and easier
dictionary traversal format.
2015-12-30 23:34:56 -06:00
Ohm Patel
29e6cbedfe ABrainz: Added copyright header, docstrings, and followed long line
standards.
2015-12-30 22:27:53 -06:00
Adrian Sampson
c0dde8da28 echonest: Fix capitalization in help text 2015-12-30 20:23:29 -08:00
Ohm Patel
ff81bbf8f5 ABrainz: Added first pass of plugin. Only prints MBID and response status code to console. 2015-12-30 22:03:50 -06:00
Diego Moreda
418ad58686 Merge remote-tracking branch 'upstream/master' into prompthook 2015-12-30 20:23:44 +01:00
Diego Moreda
798dd72bb6 mbsubmit: style fixes 2015-12-30 20:19:03 +01:00
Jack Wilsdon
12cd5306b7 Update copyright dates to 2016 2015-12-30 15:42:06 +00:00
Lachlan Charlick
0d16f764f2 fetchart: Tidier google backend configuration keys 2015-12-30 13:34:58 +10:30
Diego Moreda
8746869f7c mbsubmit: cleanup, revise logic, config options
* Cleanup the "mbsubmit" plugin to remove a choice ("print tracks and skip")
and make the logic depend on the strength of the Recommendation.
* Add configuration options for the Recommendation threshold that triggers
the addition of the "Print tracks" choice and for the formatting string to
be used for printing the items.
* Include link to the official-ish MusicBrainz format page on the docstring.
2015-12-29 17:26:42 +01:00
Lachlan Charlick
7b273b4310 fetchart: PEP8 fixes 2015-12-29 17:29:17 +10:30
Lachlan Charlick
b017a750d8 Merge remote-tracking branch 'upstream/master' into fetchart-google 2015-12-29 16:00:19 +10:30
Adrian Sampson
a976c371f6 lyrics: Disable Genius backend by default (#1770) 2015-12-28 16:35:39 -08:00
Adrian Sampson
1a2ffd0426 lyrics: Catch errors in Genius backend (fix #1770)
The HTTP requests had no error handling. Now they have lots.
2015-12-28 16:32:28 -08:00
Lachlan Charlick
be64df6409 fetchart: Handle errors when parsing malformed JSON from google 2015-12-29 01:48:33 +10:30
Lachlan Charlick
2e10b8c284 fetchart: Pass config object to backends when initialized 2015-12-29 01:37:53 +10:30
Lachlan Charlick
03a41e82da fetchart: minor google backend refactor 2015-12-29 00:02:41 +10:30
Lachlan Charlick
99fb656f52 fetchart: Remove some debug logging from google backend 2015-12-28 23:57:38 +10:30
Lachlan Charlick
deadc4d049 fetchart: Automatically disable google backend if no API key is set 2015-12-28 23:57:03 +10:30
Lachlan Charlick
b73cfb9f8d fetchart: Fix typo in google API config key 2015-12-28 23:53:56 +10:30
Lachlan Charlick
ff15f4af9b fetchart: Use config singleton rather than passing object to each backend 2015-12-28 23:42:11 +10:30
Lachlan Charlick
c14abe56a5 fetchart: Add new google backend using google custom search
Requires an API key from google similar to lyrics plugin.
Limited to 100 queries/day.
2015-12-28 23:16:12 +10:30
Adrian Sampson
b25b4db9e1 replaygain: Dodge possible encoding issues
In error reporting. May avoid the error in #1774, but it's hard to find out
exactly what the Python types of these arguments are from the GStreamer
documentation.
2015-12-26 22:40:13 -08:00
Diego Moreda
6f8a1aa40a Prompt event documentation and mbsubmit fixes
* Fixes for documentation of the prompt event (missing reserved letter, typos).
* Update sample mbsubmit plugin to conform to the new PromptChoice structure.
2015-12-16 19:26:39 +01:00
Diego Moreda
f5241f7c28 mbsubmit: update to style changes, remove comments
* Update mbsubmit plugin in order to use PromptChoice instead of the previous
ExtraChoice.
* Remove comments as they are now present on the pull request and documentation.
2015-12-15 20:15:42 +01:00
Diego Moreda
03dea7459e Merge remote-tracking branch 'upstream/master' into prompthook 2015-12-15 16:30:51 +01:00
Adrian Sampson
7749cba00e scrub: Demote a log message to debug
This seems unnecessary in the `beet scrub` output.
2015-12-12 18:29:49 -08:00
Adrian Sampson
d5c51dd816 scrub: Restore tags & art in auto mode (#1657) 2015-12-12 18:28:58 -08:00
Adrian Sampson
f5448d1531 scrub: Run on import in auto mode (#1657) 2015-12-12 18:20:05 -08:00
Adrian Sampson
5a285cc11f Fix #1673: Escape regex terms in lyrics 2015-12-12 18:09:24 -08:00
Adrian Sampson
d11fe020ce snake_case variable names 2015-12-12 18:03:12 -08:00
Adrian Sampson
6f6794f560 Merge pull request #1706 from sampsyo/editor
Edit plugin
2015-12-12 18:00:25 -08:00
Adrian Sampson
5597313ea0 fetchart: Remove Google backend (fix #1760) 2015-12-12 16:47:00 -08:00
Adrian Sampson
3314db2f77 fetchart: Better logging for iTunes (#1760) 2015-12-12 16:44:55 -08:00
Diego Moreda
11f4add687 mbsubmit: add example mbsubmit plugin
* Add example "mbsubmit" plugin, which allows the user to print the tracklist
of an unmatched album during the import process in a format understood by
MusicBrainz track parser.
* The plugin listens for the before_choose_candidate event and appends the
track printing options depending on the task status (candidates and
recommendation).
2015-12-11 16:04:13 +01:00
Peter Kessen
f1f1288b30 Merge branch 'master' into editor 2015-12-02 21:35:33 +01:00
Adrian Sampson
a333777946 Merge pull request #1737 from diego-plan9/mbtracks
info plugin: Allow custom formatting and human-readable lengths
2015-11-26 10:31:12 -08:00
Diego Moreda
3cdcaa45a8 info: modify emitter output, clearer path handling
* Make emitters produce a pair (dict, Item), in order to preserve the output
at print_data (dict is used if no custom format is specified, Item otherwise).
* Simplify the handling of the paths, printed at the top of print_data. The
path key is removed from the dict entirely and fetched from the Item.
2015-11-26 15:55:00 +01:00
Diego Moreda
ca63311101 info: revert human_length changes 2
* Remove human_length parameter from print_data()
2015-11-25 17:36:51 +01:00
Diego Moreda
83279ebe5b info: revert human_length changes
* Remove human length changes from the plugin and the tests, as they will
eventually be handled at a higher level.
2015-11-25 16:06:19 +01:00
Diego Moreda
8d9db9ffe6 info: minor cleanups
* Rename filter() function to avoid warning of reserved built-in symbol.
* Remove mediafile fixture on two tests.
2015-11-24 16:41:56 +01:00
Diego Moreda
1ef407672a info: add item format and length format arguments
* Add custom output formatting via a format string to InfoPlugin. The command
accepts a formatting string via the "-f" parameter, which is handled by its
CommonOptionsParser and applied during print_data().
* Modify the emitters in order to include an Item into the list of fields, that
is formatted according to the format string if specified.
* Add an argument to allow the user to choose if track lengths are displayed as
raw floats or using a human-readable form (mm:ss), defaulting to human-readable
form.
2015-11-24 16:31:01 +01:00
Adrian Sampson
c90ca1096c fetchart: Log reasons for rejecting art 2015-11-23 17:30:09 -08:00
Adrian Sampson
1d0984a294 Slight log rewording 2015-11-21 12:54:50 -08:00
Adrian Sampson
eb68177fee Fix #1735: convert --pretend encoding error 2015-11-21 12:40:45 -08:00
Adrian Sampson
6c0f43cf1c Thumbnails: Fix string memory management
Should fix #1433. The problem now was that we were freeing the string memory
that Python expected to be managing in a string object held by the `uri`
variable. Now, we do a silly dance to copy the memory out of the buffer
returned by the library and return that instead.
2015-11-20 11:26:35 -08:00
Adrian Sampson
530b42156b Thumbnails: Declare more interface types
Seems to address a segfault indicated in #1433, but there are still crashes
lurking.
2015-11-20 10:55:25 -08:00
Adrian Sampson
69ffb83453 Eliminate some copypasta 2015-11-19 16:26:27 -08:00
Adrian Sampson
f995ab38db Fix a test and a bug revealed by a test 2015-11-19 16:11:45 -08:00
Adrian Sampson
437959018c Pass through certain "safe" types to YAML
This avoids some round-tripping problems with types (such as ScaledInt) that
are not represented in strings with 100% fidelity. It also makes the syntax
nicer when editing numbers and booleans: they no longer appear to be
needlessly surrounded by quotes in the YAML.
2015-11-19 16:07:20 -08:00
Adrian Sampson
0e20770cc3 Convert YAML keys and values back to strings
I hadn't quite realized before that the user could also change the *keys* to
be non-strings too! This also prevents against that by just reinterpreting
everything as strings.
2015-11-19 15:38:20 -08:00
Adrian Sampson
0873d31419 Catch unexpected YAML type
We need a sequence of dictionaries back; validate this assumption.
2015-11-19 15:34:49 -08:00
Adrian Sampson
3176b83cd7 Use type-based formatting and parsing
All editable values are now strings and are parsed from strings. This closely
matches the behavior of the `modify` command, for example.
2015-11-19 15:25:49 -08:00
Peter Kessen
6b408507f6 added encoding as comment in files
added line like
# -*- coding: utf-8 -*-
to all files without license
2015-11-19 18:52:57 +01:00
Peter Kessen
3eb8008b11 added encoding as comment in files
added line like
# -*- coding: utf-8 -*-
to all files with correct license in header
2015-11-19 18:41:01 +01:00
Adrian Sampson
775a48eb28 --extra/-e is now --field/-f 2015-11-17 14:40:52 -08:00
Adrian Sampson
b33d25a0ad --extra option can use any field
Not just the built-in fields.
2015-11-17 14:39:40 -08:00
Adrian Sampson
f68dc4652a Fix a typo 2015-11-17 13:14:15 -08:00
Adrian Sampson
4db91c8bd2 Fix a too-long line 2015-11-16 13:03:50 -08:00
Adrian Sampson
f767f1c2a3 New confirmation prompt
We now ask for a trinary edit/apply/cancel confirmation *after* showing the
updates. This lets you decide whether you're done based on a "preview" of the
changes and keep editing if they don't look right.
2015-11-16 13:01:24 -08:00
Adrian Sampson
d87a747477 Condense edit plugin documentation
Also avoided adding some unused command-line options.
2015-11-16 12:43:59 -08:00
Adrian Sampson
c679e3f307 Merge branch 'editor' of github.com:sampsyo/beets into editor 2015-11-16 12:28:35 -08:00
Adrian Sampson
feabf1a6ef Offer a chance to fix YAML parse errors
An alternative to 749ef85638 by @jmwatte.
2015-11-16 12:27:32 -08:00
jmwatte
bb39cd509d cleaned up edit.rst 2015-11-16 10:37:38 -08:00
Diego Moreda
917628340e edit: save only items with changes
* Modify save_write() so only the items that do have pending changes (ie. dirty
items) are saved to the database.
2015-11-16 14:48:05 +01:00
Peter Kessen
ecbd337c47 Added file encoding definition to badfiles.py 2015-11-15 14:51:12 +01:00
Adrian Sampson
cfba04bc9d Don't ask for confirmation if nothing changed 2015-11-14 14:58:53 -08:00