Commit graph

2213 commits

Author SHA1 Message Date
Johnny Robeson
4c4d8cff60 s/get(list)/as_str_seq() for keys in duplicates plugin
stolen from @sampsyo in the click branch
2016-08-17 02:18:48 -04:00
Adrian Sampson
0833c82075 web: Fix a crash related to byte paths on Python 3 2016-08-12 19:59:07 +00:00
arogl
86d2129c52 Spelling update 2016-08-12 14:48:55 +10:00
Johnny Robeson
fb78830788 fix incorrect bytes() usages in replaygain
We encode the method and gain offset values to ascii.
2016-08-09 05:17:53 -04:00
Johnny Robeson
d41949d326 close files we open, but forgot to close
This fixes all the obvious `ResourceWarning`s seen in the tests
2016-08-09 01:15:28 -04:00
Johnny Robeson
fcbfce3984 replace deprecated log.warn() with log.warning() 2016-08-09 00:33:38 -04:00
Johnny Robeson
47bddb394c decode yaml dumped data as utf-8 in edit plugin for PY2
Yaml doesn't return a true unicode string even with `allow_unicode`
passed to `safe_dump_all`.
2016-08-08 23:59:54 -04:00
Johnny Robeson
303627e44f Read and write edit plugin yaml as utf-8 2016-08-07 06:12:48 -04:00
Johnny Robeson
5b3cd44608 add coding: utf-8 magic comment to every .py file 2016-08-07 04:09:17 -04:00
Johnny Robeson
304df82361 rename/move ui._arg_encoding to util.arg_encoding
We use this for more than ui concerns, so it should be in util.

It is also no longer marked as a "private" method.
2016-08-04 17:16:11 -04:00
Adrian Sampson
e2981dec4a Merge pull request #2143 from Jell-E/patch-1
Add BPM data with acousticbrainz
2016-07-27 14:58:10 -04:00
Adrian Sampson
c241f09bce Tiny text tweaks for #2144 2016-07-27 14:56:55 -04:00
Adrian Sampson
6f99c4ccd9 Merge pull request #2144 from tweitzel/master
fix bug where $args would be included in the command output
2016-07-27 14:55:20 -04:00
xarph
be7c9d3b67 Remove unneeded if clause since .format will silently pass if the needle
is not found.
Add changelog note.
2016-07-27 11:23:37 -07:00
Adrian Sampson
5e3bbf2aeb Remove remaining links to Google Code (fix #2145) 2016-07-27 13:32:41 -04:00
Johnny Robeson
01483f9600 change most googlecode refs to their new locations 2016-07-27 02:57:04 -04:00
xarph
349a3260f8 Apparently py34-flake8 wants whitespace around operators. 2016-07-26 16:08:52 -07:00
xarph
9fb763e151 fix bug where $args would be included in the command output if $args was
set in config but -A or --args was left off the beet play command.
2016-07-26 15:41:45 -07:00
Jelle Besseling
b4caa0e475 Add BPM data with acousticbrainz
The bpm plugin is a very slow way to add bpm data to songs, using the acousticbrainz plugin is much faster and can doesn't need a new plugin.
2016-07-26 15:42:35 +02:00
Adrian Sampson
58afaf07a5 Switch to new noqa syntax for flake8 3.0
Apparently, `# noqa ignore=X` worked before, but now the syntax is more terse,
like this: `# noqa: X`.

See the changelog here:
http://flake8.pycqa.org/en/latest/release-notes/3.0.0.html
2016-07-25 15:02:10 -04:00
Johnny Robeson
1b103b087b reencode convert args on py3 for util.command_output
command_output requires bytestrings, so we put em back that way.
2016-07-25 04:57:02 -04:00
Johnny Robeson
e5497c7494 use stringed template vars on PY3 in convert plugin
We decode them with `surrogateescape`, so we avoid decoding errors
2016-07-25 03:28:02 -04:00
Adrian Sampson
039825e0e0 Only use CodingFormatter on Python 2 2016-07-24 15:01:06 -07:00
Adrian Sampson
c67fbefc4c A little more spcificity in CodingFormatter 2016-07-24 14:59:31 -07:00
Rob McGhee
84b8cf0ab5 Merge remote-tracking branch 'refs/remotes/beetbox/master' 2016-07-20 21:13:32 +01:00
Johnny Robeson
1da919bc40 open lastgenre genres file with codecs.open()
This should fix an error when decoding the file on Windows. It defaults
to using the code page there and not utf-8 as intended for yaml.
2016-07-17 06:57:38 -04:00
Johnny Robeson
a1edf1928d treat bpd command and args as strings, not bytes 2016-07-10 19:21:52 -04:00
Johnny Robeson
f82f5f51a4 use !r for command exec logging in play plugin
This is a bit simpler and is compatible with py2 and 3.
2016-07-10 06:00:53 -04:00
Johnny Robeson
5107f2e6d2 add missing py3_path to tempdir in convert plugin 2016-07-10 04:59:58 -04:00
Johnny Robeson
17883bc501 replace os.symlink() with util.link() in importfeeds 2016-07-09 22:44:26 -04:00
Johnny Robeson
3db81a3345 bytestringify tmpdir in convert plugin
This works fine in py 3.5, but not 3.4
2016-07-09 03:50:16 -04:00
Johnny Robeson
cb6efc4c22 Reorganize Gst import and version req in bpd
This avoids

```sh
PyGIWarning: Gst was imported without specifying a version first. Use
gi.require_version('Gst', '1.0') before import to ensure that the right
version gets loaded.
```

by silencing E401 import ordering warning
2016-07-08 05:48:26 -04:00
Rob McGhee
2dad86291e Emby API Key
Corrected the use of spaces rather than tabs. Add the option to use an
Emby API key to authenticate rather than a password
2016-07-07 22:46:33 +01:00
Johnny Robeson
c9c37a8f79 adding missing b' to command name checks in replaygain 2016-07-07 03:44:19 -04:00
Johnny Robeson
1119e219b3 adjust bytestring treatment of ext in convert plugin 2016-07-07 03:44:19 -04:00
Rob McGhee
3710c139fb Emby API Key
Add the option to read an API Key from the config file and submit that
instead of needing a password. Doesn't remove the use of password so is
backwards compatible with users current config file
2016-07-06 19:42:57 +01:00
Johnny Robeson
a15ae96616 add a missing text_string in play plugin
I don't think wanna send the cli args as bytes to the logger
2016-07-04 02:48:54 -04:00
Johnny Robeson
b9cd889ef4 decode ipfs item paths to satisy python -bb 2016-07-03 23:52:05 -04:00
Johnny Robeson
527b51147e add py3_path to NamedTemporaryFile suffixes 2016-07-02 04:53:57 -04:00
Johnny Robeson
be08d4b129 replace unichr with six.unichr in lyrics plugin 2016-07-02 02:36:05 -04:00
Johnny Robeson
9020dc1f45 use text_string() in a few places for io output 2016-07-02 00:03:46 -04:00
Johannes Baiter
4c324fae2a beatport: Use track numbers from API (#2091)
* beatport: Use trackNumber from API instead of enumerating the tracks

* beatport: Set medium_index to track number

* Update changelog with fixes to beatport plugin
2016-06-29 20:34:05 +02:00
Adrian Sampson
a6098928f5 Merge branch 'master' of github.com:sampsyo/beets 2016-06-29 10:33:00 -07:00
wordofglass
e2c6547635 fetchart: Clarify the deprecation of remote_priority in docs and
warning, closes #2092
2016-06-29 19:18:06 +02:00
Johnny Robeson
6b3cc6ff37 adapt print_() callers to send unicode strings 2016-06-29 03:17:02 -04:00
Adrian Sampson
192dd321f1 permissions: Add debug logging 2016-06-28 10:53:23 -07:00
Adrian Sampson
890b9e81e3 Fix #2089: correct permissions configuration
This reverts the change in 44380db6e8, where we
lost the ability to "reinterpret" decimals in the YAML configuration file as
octal permissions values.
2016-06-28 10:51:13 -07:00
Adrian Sampson
84bfbe95b9 permissions: More helpful logging (#2089) 2016-06-28 10:39:35 -07:00
Adrian Sampson
b099503a6c permissions: Use correct path conversions
It looks like the original author mistook `bytestring_path` for `syspath`.
2016-06-28 10:31:57 -07:00
Adrian Sampson
e33c19a3e9 permissions: Use proper logging (#2089)
Refactored so we can use the proper logging infrastructure instead of `print`.
2016-06-28 10:29:26 -07:00
Christoph Reiter
629241efd3 mediafile: Cleanup mutagen error handling
Instead of the individial mutagen format exceptions use the
mutagen.MutagenError exception introduced in 1.25.

Since 1.33 mutagen will only raise MutagenError for load/save/delete
and no longer raise IOError. Translate both errors to UnreadableFileError
to support older and newer mutagen versions. Unify error handling
in __init__(), save() and delete().

Since it's no longer possible to get an IOError from MediaFile, adjust
all callers and tests accordingly.

This was tested with mutagen 1.27 and current mutagen master.
2016-06-28 16:43:34 +02:00
Max Ammann
5e8ac9e4a5 Expose the relative path to the library instead of omitting the 'path' variable 2016-06-26 19:53:57 +02:00
Max Ammann
2ae26548fc Modified and simplified is_expand(...) method 2016-06-26 19:53:57 +02:00
Max Ammann
619344c813 Added documentation for the expand parameter 2016-06-26 19:53:57 +02:00
Max Ammann
041adf47ac Fixed lines which are mor than 79 characters 2016-06-26 19:53:57 +02:00
Max Ammann
5831b99b9f Adding 'expand' flag for json requests
This allows you to query the individual items of an album
2016-06-26 19:53:57 +02:00
Adrian Sampson
a8b039da78 Remove a spurious six use
I'm not sure what that `encode` was doing anyway.
2016-06-25 19:24:59 -07:00
Adrian Sampson
5efd5b21c5 Use new as_str method
Instead of `get(six.text_type)`, which was a surprisingly large portion of our
uses of six.
2016-06-25 19:16:14 -07:00
Adrian Sampson
de62a59d35 Remove an unnecessary six.range use
Ordinary `range` works fine here.
2016-06-25 18:39:29 -07:00
Adrian Sampson
e16cc58cb9 Walk back some six.iter* uses
In places where it doesn't much matter whether we use an iterator or the old
Python 2 list way, using the six name just hurts legibility.
2016-06-25 18:29:55 -07:00
Adrian Sampson
349a6e6c1d Fix an erroneous six usage in fuzzy 2016-06-25 18:11:15 -07:00
Adrian Sampson
736ad66518 Merge pull request #2066 from beetbox/use-six
Use the six package to handle py2/p3 compatibility
2016-06-25 18:09:56 -07:00
wordofglass
5d00ca8bda fetchart: do not unnecessarily reset Candidate.path on download failure 2016-06-25 14:10:55 +02:00
wordofglass
697291b04e fetchart: improve error resilience of the Content-Type detection by file magic 2016-06-25 14:10:50 +02:00
wordofglass
9968288358 fetchart: update comments 2016-06-25 13:49:15 +02:00
Johnny Robeson
b6678019ea use @six.python_2_unicode_compatible 2016-06-24 05:53:56 -04:00
Johnny Robeson
78334876c3 treat HTMLParseError as a noop when missing
Strict mode no longer exists in html.parser on python >= 3.5, and no longer means anything on python >= 3.3
2016-06-24 05:53:56 -04:00
Johnny Robeson
edb1cbc5fc replace iter{items|values} with six.iter{items|values} 2016-06-24 05:53:55 -04:00
Johnny Robeson
83f6ba3ce4 handle metaclasses with six 2016-06-24 05:53:55 -04:00
Johnny Robeson
e57b7faf69 replace basestring with six.text_types 2016-06-24 05:53:55 -04:00
Johnny Robeson
e8afcbe7ec replace unicode with six.text_type 2016-06-24 05:53:49 -04:00
wordofglass
34cdf0f3f3 fetchart: complain about unsupported images only after validating the Content-Type 2016-06-23 17:38:01 +02:00
wordofglass
d47182a3e5 fetchart: do not rely on the server-provided Content-Type, but determine the image format from the file magic 2016-06-23 17:37:55 +02:00
Johnny Robeson
8e682f14a1 replace xrange with range from six.moves 2016-06-23 04:40:18 -04:00
Johnny Robeson
31cca684f2 replace itertools.izip with zip from six.moves 2016-06-23 04:40:18 -04:00
Johnny Robeson
1f8e08d168 replace raw_input with input from six.moves 2016-06-23 04:40:18 -04:00
Johnny Robeson
4649226b9b use urllib from six.moves 2016-06-23 04:40:18 -04:00
Johnny Robeson
1f8fe0f9a6 use _thread from six.moves 2016-06-23 04:40:18 -04:00
Johnny Robeson
129e140015 use html_parser (really html.parser) from six.moves 2016-06-23 04:40:18 -04:00
Johnny Robeson
7713be4c0f use http_client (really http.client) from six.moves 2016-06-23 04:40:18 -04:00
Johannes Baiter
ed2580d5b1 Fix bugs in beatport plugin (#2076)
* Fix naming bug

* Fix another minor bug

* Remove debugger statement

* Another fix for developer clumsiness in beatport plugin

* Fix typo in error description
2016-06-23 08:51:26 +02:00
Johnny Robeson
ea02269dee remove ext encode from fetchart (py3 fix for #2068) 2016-06-23 02:29:53 -04:00
Adrian Sampson
d3928008e1 Merge pull request #2068 from beetbox/fetchart_mime_extension
Fix fetchart hardcoding the image extension
2016-06-22 10:19:12 -07:00
Adrian Sampson
5e7ba73f5e Merge pull request #2067 from jbaiter/beatport
Revive Beatport plugin with support for OAuth API (#1989)
2016-06-21 14:33:34 -07:00
Adrian Sampson
351b6f8c9d Remove raw Unicode literals (fix #2069)
PEP 414 didn't add `ur"..."` literals to Python 3. So for hybrid 2/3
compatibility, these had to be replaced with ordinary Unicode string literals.
This was only painful for one string; the others were only raw strings by
convention. (All were regexes.)
2016-06-21 14:29:14 -07:00
Johannes Baiter
ae0269372c Docstrings for beatport.BeatportClient 2016-06-21 21:39:25 +02:00
Johannes Baiter
c4835336a5 Fix PEP8 checks 2016-06-21 11:20:16 +02:00
Johannes Baiter
85d6ef4a80 Revive Beatport plugin with support for OAuth API (#1989) 2016-06-21 11:02:16 +02:00
wordofglass
c4617c2c1f fetchart: do not hardcode the downloaded extension to jpg, fixes #2053 2016-06-21 10:57:45 +02:00
Philipp Beckmann
f9ed53a096 Multiple corrections as advised in the codereview 2016-06-20 18:44:37 +02:00
Philipp Beckmann
7b154cedd7 Added double line spacings between definitions 2016-06-20 18:29:46 +02:00
Philipp Beckmann
9fd227c8cc Fixed flake8 errors 2016-06-20 18:22:07 +02:00
Philipp Beckmann
0a3d18c5c4 Merge remote-tracking branch 'upstream/master' into bpd_gst10 2016-06-20 18:11:11 +02:00
Philipp Beckmann
5613d9d4ea bpd: Added correct error check for query_position/query_duration 2016-06-20 18:09:37 +02:00
Johnny Robeson
09322530ca replace 2 map() calls with a list comprehension 2016-06-19 22:30:58 -04:00
Philipp Beckmann
0917e675d7 bpg: Converted gstplayer.py to GStreamer 1.0 2016-06-19 22:06:55 +02:00
Johnny Robeson
1c761c60fb bytstringify extra cover_names in fetchart 2016-06-17 03:37:28 -04:00
Johnny Robeson
cf5ab2617a reorient bytestring_path code in convert replace_ext 2016-06-17 01:20:42 -04:00
Johnny Robeson
fff0439b06 add missing blank line in mpdstats 2016-06-17 00:09:22 -04:00
Johnny Robeson
12136e1d32 adapt is_url checking for bytestring paths 2016-06-17 00:00:08 -04:00