Commit graph

2377 commits

Author SHA1 Message Date
Philipp Beckmann
f9ed53a096 Multiple corrections as advised in the codereview 2016-06-20 18:44:37 +02:00
Philipp Beckmann
7b154cedd7 Added double line spacings between definitions 2016-06-20 18:29:46 +02:00
Philipp Beckmann
9fd227c8cc Fixed flake8 errors 2016-06-20 18:22:07 +02:00
Philipp Beckmann
0a3d18c5c4 Merge remote-tracking branch 'upstream/master' into bpd_gst10 2016-06-20 18:11:11 +02:00
Philipp Beckmann
5613d9d4ea bpd: Added correct error check for query_position/query_duration 2016-06-20 18:09:37 +02:00
Johnny Robeson
09322530ca replace 2 map() calls with a list comprehension 2016-06-19 22:30:58 -04:00
Philipp Beckmann
0917e675d7 bpg: Converted gstplayer.py to GStreamer 1.0 2016-06-19 22:06:55 +02:00
Johnny Robeson
1c761c60fb bytstringify extra cover_names in fetchart 2016-06-17 03:37:28 -04:00
Johnny Robeson
cf5ab2617a reorient bytestring_path code in convert replace_ext 2016-06-17 01:20:42 -04:00
Johnny Robeson
fff0439b06 add missing blank line in mpdstats 2016-06-17 00:09:22 -04:00
Johnny Robeson
12136e1d32 adapt is_url checking for bytestring paths 2016-06-17 00:00:08 -04:00
Johnny Robeson
411e4957b0 bytestringify replace_ext in convert plugin 2016-06-16 23:40:59 -04:00
Johnny Robeson
b602faabb8 more bytestringification in thumbnails plugin 2016-06-16 23:11:16 -04:00
Johnny Robeson
15c07613bf decode the filename written to .desktop file 2016-06-16 23:04:52 -04:00
Johnny Robeson
52f2ab2547 encode uri passed to hashlib in thumbnails plugin 2016-06-16 23:00:45 -04:00
Johnny Robeson
a903b57dae encode the passwords passed to hashlib in embyupdate 2016-06-16 21:47:10 -04:00
Johnny Robeson
d3d52da012 bytestringify paths in filefilter plugin 2016-06-16 04:08:49 -04:00
Johnny Robeson
cb54955485 more bytecasting in smartplaylist plugin 2016-06-15 23:55:17 -04:00
Johnny Robeson
a02a1f0201 cast year ints to str, not bytes in bucket plugin
This seems to work equally well in py2/3
2016-06-15 03:34:03 -04:00
Johnny Robeson
4fbad7dd67 bytestringify path in file_filter 2016-06-14 23:17:08 -04:00
Johnny Robeson
44380db6e8 If the permission is an int, then simply return it
It doesn't seem necessary to convert it, and if it does, then
we're missing a test
2016-06-14 03:50:29 -04:00
Johnny Robeson
8e1bc16228 set default perms as strings in perms plugin itself
I originally changed them to octal in my py3 branch,
but they are gonna end up as strings anyways, so I figured we should
just use them that way by default.
2016-06-14 03:47:59 -04:00
Johnny Robeson
0a5c6ce4c0 open tempfile in edit plugin in text mode 2016-06-14 03:38:21 -04:00
Johnny Robeson
3112a18463 treat ctypes .value as bytes in thumbnails plugin 2016-06-14 00:51:12 -04:00
Johnny Robeson
8fa71f78fe decode bytes from .encode() in lyrics plugin 2016-06-14 00:44:43 -04:00
Johnny Robeson
0f4b907ff5 wrap filter()s in a list() in replaygain plugin 2016-06-14 00:28:46 -04:00
Johnny Robeson
6745759ea5 open even more files in binary mode
* play plugin
* smartplaylist plugin
2016-06-13 05:18:33 -04:00
Johnny Robeson
4dd43f1081 write to the m3u file in binary mode in importfeeds 2016-06-12 20:27:01 -04:00
Johnny Robeson
a76de95183 return a bytestring path from RemoteArtSource 2016-06-12 01:19:39 -04:00
Johnny Robeson
69c9fb8b07 check dirname result against b'' in fetchart 2016-06-10 02:52:58 -04:00
Johnny Robeson
5e62b39f75 replace TEMPORARY with FIXME in discogs plugin
We're more likely to search for this later by FIXME.

NOTE: the bug is fixed, but the versions with the fix may not be widely
distributed yet
2016-06-10 02:30:00 -04:00
Johnny Robeson
5485bdb706 add missing b' in discogs query regex 2016-06-10 02:23:14 -04:00
Johnny Robeson
ab67727283 wrap the cover_names map with a list in fetchart
most `cover_names` users expect to operate on a list
2016-06-10 00:09:15 -04:00
Johnny Robeson
02165fc3a9 open lastgenre whitelist in binary mode 2016-06-09 23:53:40 -04:00
Adrian Sampson
f400a2431e fetchart: Fix path types on Windows 2016-06-08 10:20:25 -07:00
Johnny Robeson
790b1b5153 replace some filter/map calls with list comps
These are places where the surrounding/calling code needs a list, not an iter.
2016-06-08 00:17:18 -04:00
Adrian Sampson
b752a58ed6 Improve a couple of docstrings 2016-06-05 12:16:41 -07:00
Adrian Sampson
0051bdb506 lyrics: Avoid a spurious warning 2016-06-02 21:33:33 -07:00
Adrian Sampson
ae7990322a Merge pull request #2032 from pszxzsd/bs1770
make bs1770gain calculate sample peak instead of true peak
2016-06-02 16:17:04 -07:00
Adrian Sampson
581fba6288 lyrics: Avoid crash when enabling google
If you *both* haven't set an API key *and* BeautifulSoup wasn't
installed, the list.remove() call would crash. (This came up when
running the tests on a fresh machine without many dependencies.)
2016-06-02 11:58:14 -07:00
pszxzsd
8dcd50b18f make bs1770gain calculate sample peak instead of true peak 2016-06-01 20:00:08 +02:00
Adrian Sampson
33a4767eaf Portable mock command for testing convert plugin 2016-05-31 11:48:29 -07:00
Adrian Sampson
395877d903 Remove the Echo Nest plugin 😢 (#1920) 2016-05-30 22:25:58 -07:00
Johnny Robeson
81484529c9 remove b' from a few more stdlib calls 2016-05-31 00:13:09 -04:00
Johnny Robeson
330306bbe2 remove bytes casts from object/method resolution code 2016-05-30 23:21:24 -04:00
Johnny Robeson
e6ab231f72 Revert "Remove bytes casting for non-path command args/opts"
This reverts commit 2a6e74bc27.
2016-05-30 22:00:42 -04:00
Johnny Robeson
2a6e74bc27 Remove bytes casting for non-path command args/opts 2016-05-30 21:42:44 -04:00
Johnny Robeson
94bab42f97 use strings (not bytes) for flask responder names 2016-05-30 21:19:15 -04:00
Adrian Sampson
71b9fd785c Revert "Do __name__ comparison with bytes and not unicode"
This reverts commit 9c41c39913.
That commit used byte strings for the `if __name__ == '__main__'` pattern,
which was necessary when we were doing unicode_literals. But it is wrong on
Python 3, and now that we're liberated from unicode_literals, we need to go
back to native strings for this comparison.
2016-05-29 19:19:59 -07:00
Adrian Sampson
59435792e9 Merge pull request #2010 from sumpfralle/web-api-unique-results
web: add API functions for retrieving unique values of specific keys
2016-05-27 00:15:34 -07:00
Johnny Robeson
a405a072f7 use reduce() from functools 2016-05-26 23:52:35 -04:00
Lars Kruse
d50923553d web: add API functions for retrieving unique values of specific keys
the following API paths are added:
* /item/values/FIELD
* /album/values/FIELD

Both paths will deliver a json dictionary with the key 'values' containing a
list of unique values belonging to the requested table and field.
Sorting is possible by supplying the query argument "sort_key".

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

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

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

    log.debug(
        'some long message here'
    )

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