Commit graph

8828 commits

Author SHA1 Message Date
Carl Suster
cc2c35221d bpd: avoid sending playlist events on navigation 2019-06-02 23:37:07 +10:00
Carl Suster
5187100294 bpd: accept all idle events 2019-06-02 23:37:07 +10:00
Carl Suster
27c462d287 bpd: make noidle a no-op outside idle mode
The real MPD ignores `noidle` when the client is not idle. It doesn't
even send a successful response, just ignores the command. Although
I don't understand why a client would fail to keep track of its own
state, it seems that this is necessary to get ncmpcpp working.
2019-06-02 23:37:07 +10:00
Carl Suster
e708d28f85 bpd: allow fractional seconds in seek
The documented type is float, not integer, and clients like mpDris2 send
fractional seconds, causing them to crash if these values ar enot
accepted.
2019-06-02 23:37:07 +10:00
Carl Suster
1a5263b68f bpd: support volume command for real 2019-06-02 23:37:07 +10:00
Carl Suster
5c37a58ad6 bpd: add more tests 2019-06-02 23:37:07 +10:00
Carl Suster
59c506990a bpd: fix bug in playlistid
The playlistid command is supposed to list the whole playlist if no
argument is provided, but we were accidentally trying to look up an
impossible negative id in that case causing an error to always be
returned.
2019-06-02 23:37:07 +10:00
Carl Suster
64ed54330b bpd: mention control socket address in log 2019-06-02 23:37:07 +10:00
Carl Suster
80286ea898 bluelet: catch ECONNRESET
When ncmpcpp quits after an error it causes a "connection reset by peer"
exception, also known as ECONNRESET (104) in errno terms. In Python
2 this is mapped to a `socket.error` and in Python 3 this is
  `ConnectionResetError` which is thankfully a subclass of the
  `socket.error` exception class.
2019-06-02 23:37:07 +10:00
Adrian Sampson
81b1faa053 inline: Fix a ridiculously subtle flexattr bug
As detailed here:
https://github.com/beetbox/beets/issues/2406#issuecomment-274423601

In a *function-style* definition, we didn't properly *un-define* the
values for a given item after each function invocation. So when a field
wasn't defined, it would get the value for the previously-formatted
object instead. It now properly throws a NameError.
2019-06-01 12:28:47 -04:00
Adrian Sampson
cd66c5d752 Link to beet-summarize (fix #3177) 2019-06-01 12:03:03 -04:00
Carl Suster
a0c7697353
Merge pull request #3267 from arogl/patch-1
Update setup.py to install to a directory rather than egg file
2019-06-01 12:48:07 +10:00
Carl Suster
3161e27226
Merge pull request #3224 from arcresu/confuse
confit: replace with a re-export of beetbox/confuse
2019-06-01 12:39:06 +10:00
Carl Suster
1a16537a3f
Merge pull request #3282 from beetbox/arcresu-patch-1
Update Python 3 versions for CI
2019-06-01 12:22:15 +10:00
Carl Suster
a04666eea2 Test on Python 3.7 on AppVeyor 2019-06-01 10:54:45 +10:00
Carl Suster
a86b74943a Update Python 3 versions for Travis 2019-06-01 10:54:30 +10:00
Carl Suster
57d5c77b33 Changelog for #3224 2019-06-01 10:24:15 +10:00
Carl Suster
d2f13bf65c confit: replace with confuse in tests 2019-06-01 10:13:13 +10:00
Carl Suster
6382c364e2 confit: replace with confuse in plugins 2019-06-01 10:03:41 +10:00
Carl Suster
a82002e6c1 confit: replace with confuse in core beets 2019-06-01 09:51:56 +10:00
Carl Suster
f1c9b11635 confit: depend on new confuse and remove backports 2019-06-01 09:40:48 +10:00
Carl Suster
e2d7780f97 confit: replace with a wrapper around confuse
This re-exports all of the confuse module under `beets.util.confit` and
patches in the minimum subset of commits to confit that have not yet
been ported to confuse such that the test suite passes. A warning is
issued when importing from the deprecated namespace.
2019-06-01 09:30:25 +10:00
Adrian Sampson
4fc9e2686b
Merge pull request #3277 from beetbox/arcresu-patch-3
Setup path correctly in testall.py
2019-05-30 21:51:14 -04:00
Jack Wilsdon
bc95253566 Setup path correctly in testall.py
By comparing `sys.path` as setup by nose vs. testall.py it seems that we
weren't adding the top-level beets directory to the path. The script was
also previously changing the working directory before running the tests.
2019-05-31 11:28:55 +10:00
Adrian Sampson
1da34f26ff Changelog for #3272 2019-05-30 20:58:30 -04:00
Adrian Sampson
a31294f302 Merge pull request #3272 from dosoe/beets_work_id_2
add work, work-disambig and work_id tags
2019-05-30 20:55:24 -04:00
Adrian Sampson
d778a5236b Move changelog for #3237 to the right release 2019-05-30 20:24:11 -04:00
Adrian Sampson
c82072aa80 Merge pull request #3237 from arcresu/mediafile
mediafile: replace with a re-export of beetbox/mediafile
2019-05-30 20:23:17 -04:00
Adrian Sampson
1835422934 Version bump: 1.5.0 2019-05-30 20:08:03 -04:00
Adrian Sampson
2b8a2eb96b Release date for 1.4.9 2019-05-30 19:32:42 -04:00
Adrian Sampson
2c6efc3127 Changelog for #3278 2019-05-30 19:32:14 -04:00
Adrian Sampson
7499130a2a Merge pull request #3278 from wisp3rwind/fix-ast-py38
functemplate: Adapt ast syntax to PEP570 changes on python3.8
2019-05-30 19:31:09 -04:00
Adrian Sampson
0ad084a706 Slight changelog reorg 2019-05-30 19:27:39 -04:00
Adrian Sampson
ade1df52a2 Use "feature detection" for 3.8 compat (#3278) 2019-05-30 18:14:40 -04:00
Dorian Soergel
5f88ec52a5 fetch only one work 2019-05-30 22:34:40 +02:00
Adrian Sampson
99778d9ece bpd tests: Randomize port number
This is a hacky but effective way to work around a problem when running
the tests in parallel where two different test executions want to use
the same port.
2019-05-30 12:02:47 -04:00
Adrian Sampson
a0f326e7b5 Changelog for #3275 2019-05-30 09:11:25 -04:00
Adrian Sampson
e4698a41da Merge pull request #3275 from beetbox/arcresu-patch-1
Make pathlib dependency in tests conditional
2019-05-30 09:08:49 -04:00
wisp3rwind
4ebb118f5f functemplate: Adapt ast syntax to PEP570 changes on python3.8 2019-05-30 11:20:48 +02:00
Carl Suster
7dfaec664a Update distro package links 2019-05-30 16:02:07 +10:00
Carl Suster
50b3d273d3
Merge pull request #3276 from beetbox/arcresu-patch-2
Make test_random work with setup.py test
2019-05-30 14:56:58 +10:00
Carl Suster
66e6359812
Make test_random work with setup.py test
Without this change `python setup.py test` fails to run, since this test was missing a `suite`.
2019-05-30 12:59:16 +10:00
Carl Suster
ece5726567
Make pathlib dependency in tests conditional
We already do this in the optional dependency section so this shouldn't cause any problems. It's only used by the `thumbnails` plugin.
2019-05-30 12:47:18 +10:00
Carl Suster
1de894ab83 Remove direct dependency on Mutagen 2019-05-29 09:36:01 +10:00
Carl Suster
48568c0e70 Changelog for #3237 2019-05-29 09:36:01 +10:00
Carl Suster
1289efeeee mediafile: update docs for MediaFile split 2019-05-29 09:35:14 +10:00
Carl Suster
546bf3af7e mediafile: import from standalone module 2019-05-29 09:35:14 +10:00
Carl Suster
8f6e5ede1a mediafile: remove tests 2019-05-29 09:35:14 +10:00
Carl Suster
2a7c27352e mediafile: bump MediaFile dependency to 0.1.0
This version is synchronised to the embedded copy of mediafile released
with Beets v1.4.8.
2019-05-29 09:35:14 +10:00
Carl Suster
8519f02335 mediafile: replace with a wrapper around mediafile 2019-05-29 09:35:14 +10:00