Sam Willcocks
05089fba3b
Update tests to add zeroconf-websocket config option
2014-04-27 17:50:41 +01:00
Trygve Aaberge
d62ad966af
network: Respond to messages before closing connections
...
This makes a connection tell the actor to stop the connection, instead
of stopping it itself. This is preferable, because other messages sent
to the actor that is not processed yet, may now send data to the client.
E.g. it makes this work:
$ echo status | nc localhost 6600
2014-04-25 06:11:01 +02:00
Thomas Scholtes
2b7ff237b8
Add tests for Audio buffering
2014-04-03 21:43:56 +02:00
Stein Magnus Jodal
5583ca5aba
New flake8 version with new checks to conform to
2014-03-29 20:47:42 +01:00
Stein Magnus Jodal
957036c899
Merge pull request #707 into develop
...
Improve scan performance for remote filesystems
2014-03-02 08:34:54 +01:00
Stein Magnus Jodal
061ff00a39
tests: Don't depend on the order of random sequences
2014-02-28 01:17:53 +01:00
Thomas Adamcik
7386dd30b6
utils: Remove old find_files
2014-02-26 23:53:12 +01:00
Thomas Adamcik
5b7a6065e7
util: Add find_mtimes helper
2014-02-26 23:27:44 +01:00
Stein Magnus Jodal
30dde4e593
ext: Remove old extension API
...
As far as I know, all extensions except Mopidy-Arcam (not currently
maintained) and Mopidy-VKontakte already use the new API. Both of the
remaining extensions got open pull requests with the needed changes to use the
new API.
2014-02-17 11:44:57 +01:00
Thomas Adamcik
79ce2ab902
Merge branch 'develop' into feature/mpd-tokenized-requests
...
Conflicts:
docs/changelog.rst
2014-02-16 23:22:07 +01:00
Thomas Adamcik
8756c2bff5
review: Type fixing
2014-02-16 23:17:46 +01:00
Stein Magnus Jodal
4df730742d
Release v0.18.3
2014-02-16 21:46:21 +01:00
Stein Magnus Jodal
fa15e7a264
Bump version number to 0.18.2
2014-02-16 21:24:57 +01:00
Thomas Adamcik
2e6f716b72
Merge branch 'develop' into feature/mpd-tokenized-requests
...
Conflicts:
mopidy/mpd/protocol/stored_playlists.py
2014-01-30 22:48:28 +01:00
Stein Magnus Jodal
38d3c6ccf9
models: Make Playlist.last_modified milliseconds since Unix epoch
2014-01-28 23:57:02 +01:00
Thomas Adamcik
f24ca36e5a
mpd: Switch browse commands to common helper
2014-01-25 00:42:32 +01:00
Thomas Adamcik
3cec929bd7
Merge branch 'develop' into feature/mpd-tokenized-requests
...
Conflicts:
mopidy/mpd/protocol/music_db.py
tests/mpd/protocol/test_music_db.py
2014-01-24 19:38:56 +01:00
Thomas Adamcik
da724e6b77
Merge remote-tracking branch 'UncommonGoods/develop' into develop
2014-01-24 19:31:25 +01:00
Thomas Adamcik
e304b7fc2b
mpd: Use mopidy.mpd.exceptions in commands
2014-01-24 01:12:26 +01:00
Thomas Adamcik
86f5602023
mpd: Remove old command handlers
2014-01-24 00:35:10 +01:00
Thomas Adamcik
dc8d311bc3
mpd: Complete music db conversion with list
2014-01-24 00:23:05 +01:00
Thomas Adamcik
68aa0b556c
mpd: Convert search functions in music db
2014-01-23 23:58:42 +01:00
Stein Magnus Jodal
bf9499131a
Bump version number to 0.18.1
2014-01-23 23:19:51 +01:00
Thomas Adamcik
8f8bed5b87
mpd: Implement playlistinfo from current playlist
2014-01-23 23:12:25 +01:00
Thomas Adamcik
fddb299ed9
mpd: Update type converters naming and add UINT
...
Also adds tests for RANGE helper.
2014-01-23 21:31:18 +01:00
Thomas Adamcik
eb85f92d96
mpd: Store auth required and if command should be listed
2014-01-22 23:27:25 +01:00
nathanharper
039fc4b681
refactored mpd.protocol.music_db regex
...
got quote backreference working,
eliminated need for the non-capturing pattern,
fixed problem with quoted fields.
2014-01-22 05:16:38 -05:00
Thomas Adamcik
066fed1522
mpd: Update tokenizer to use mopidy.mpd.exceptions
2014-01-22 00:10:30 +01:00
Thomas Adamcik
756cf1518b
mpd: Add last missing error cases for tokenizer.
...
If we decide that exact error message parity is not needed these can and should
be removed as they complicate the tokenizer.
2014-01-21 23:20:24 +01:00
Thomas Adamcik
f7ec1fba01
mpd: Fix tokenizer error messages to match original protocol
2014-01-21 22:10:00 +01:00
Thomas Adamcik
f7aff706a8
mpd: Move commands tests to mpd directory
2014-01-21 21:14:30 +01:00
Thomas Adamcik
d445740318
mpd: Split out tokenizer and add proper errors.
2014-01-21 21:10:55 +01:00
Thomas Adamcik
335cf4e612
mpd: Return command name in find handler.
2014-01-21 20:40:49 +01:00
Thomas Adamcik
3c0cc1564c
local: Make browse test check ordering again
2014-01-20 23:22:15 +01:00
Thomas Adamcik
9ba168e9b9
local: Update browse cache code to add all directories
...
Tests have been updated to make sure multiple folders are added. We had
forgotten to add child folders to the ones that had already been created.
2014-01-19 22:21:02 +01:00
Thomas Adamcik
455f3dd403
mpd: Write commands helper for tokenized command handling
...
This provides a class which works as a command registry. Functions are added to
the registry through a method on the class `add`. Add acts as a decorator
taking in the name of the command and optionally type converters for arguments.
When handling requests, we can now tokenize the line, and then just pass the
arguments to our commands helper. It will lookup the correct handler and apply
any validation before calling the original function.
For the sake of testing the original function is not wrapped. This the
functions, and anything testing them directly can simply assume pre-converted
data as long as type annotations are in place.
A sample usage would be:
@protocol.commands.add('addid', position=protocol.integer)
def addid(context, uri, position=None)
pass
def handle_request(line):
tokens = protocol.tokenizer(line)
context = ...
result = protocol.commands.call(tokens, context=context)
2014-01-19 19:59:07 +01:00
Thomas Adamcik
b34a8c1f73
mpd: Add MPD tokenizer
...
- Adds tests for correctness of tokenizer (which also would have shown shlex
wouldn't have worked).
- Should conform with the original's behavior, though we won't be able to match
the error messages without a lot of extra work as a non-regexp version is
likely a no go on python due to speed.
2014-01-19 13:47:09 +01:00
Stein Magnus Jodal
1ea0978af5
dummy: Move dummy backend back into the mopidy package
2014-01-18 01:38:10 +01:00
Thomas Adamcik
e97e620635
local: Rename json test to new naming scheme
2014-01-18 01:35:33 +01:00
Stein Magnus Jodal
da71d7fb14
Merge pull request #647 from adamcik/feature/browse-by-uri
...
Convert browse API to be fully URI based.
2014-01-17 15:58:39 -08:00
Stein Magnus Jodal
31abe0bc93
mpd: Annotate exceptions with current command automatically ( fixes #649 )
2014-01-18 00:34:41 +01:00
Stein Magnus Jodal
06856851f7
local: Make search filters more robust ( fixes #635 )
2014-01-17 23:43:43 +01:00
Thomas Adamcik
43e16ddb65
mpd: Switch mpd to use path<->uri mapping for browsing
2014-01-17 17:16:24 +01:00
Thomas Adamcik
d6aa9fb013
local: Convert local browsing to uri based system.
2014-01-17 17:16:24 +01:00
Thomas Adamcik
999f478010
core: Update browse to use uri isntead of path
2014-01-17 17:16:24 +01:00
Thomas Adamcik
826419d829
backend/core: Switch to root_directory instead of name
2014-01-16 22:53:18 +01:00
Stein Magnus Jodal
300c5d2e64
Merge pull request #644 from adamcik/feature/scanner-tag-handling
...
Cleanup taglist handling and translation to tracks.
2014-01-15 15:10:26 -08:00
Stein Magnus Jodal
06719d0e66
Bump version to 0.18.0a1 for easier testing of updated extensions
2014-01-15 23:51:28 +01:00
Thomas Adamcik
81b920a9e4
model: Update to handle None in sets.
...
Also adds some missing tests for composers and performers.
2014-01-15 22:20:36 +01:00
Thomas Adamcik
3e9cd0c4b7
audio: Add tests for all fields that can be converted
2014-01-15 22:20:36 +01:00
Thomas Adamcik
ac9f106107
audio: Update how translator test data is built.
2014-01-15 22:20:36 +01:00
Thomas Adamcik
b0b5d4972f
models: Make .copy(foo=None) null out field.
2014-01-15 22:20:36 +01:00
Thomas Adamcik
807bedad85
audio: Change audio data convert to operate on taglists
2014-01-15 22:20:36 +01:00
Thomas Adamcik
7209b38aa6
audio: Nest tags in scan data return value
2014-01-15 22:20:36 +01:00
Thomas Adamcik
57798a2757
audio: Ensure tests can be run on their own
2014-01-15 22:20:35 +01:00
Stein Magnus Jodal
d698653d83
mpd: Implement "listallinfo" command ( fixes #145 )
2014-01-15 01:11:27 +01:00
Stein Magnus Jodal
afbff12ccc
mpd: Implement "listall" command
2014-01-15 00:52:01 +01:00
Stein Magnus Jodal
c781f77ef3
Rename test files to pattern expected by test runners
2014-01-15 00:01:50 +01:00
Stein Magnus Jodal
ead48f61cb
Merge pull request #641 from jodal/feature/consistent-playback-events
...
Make core playback events consistent
2014-01-14 14:55:21 -08:00
Stein Magnus Jodal
c6cff2794c
Merge pull request #640 from adamcik/feature/local-browse
...
Add local browsing
2014-01-14 14:43:31 -08:00
Thomas Adamcik
03838a1968
mpd: Add tests for adding VFS folders
2014-01-14 23:29:52 +01:00
Thomas Adamcik
a8458720ee
local: Review fixes
2014-01-14 22:07:20 +01:00
Stein Magnus Jodal
1d108752f6
core: Make events emitted on playback consistent ( fixes #629 )
...
This commit does not try to make the events correct/perfect with regard to
GStreamer states, end-of-stream signalling, etc. It only tries to make the
events work consistently across all the methods on the playback controller.
* play(track) while already playing has changed from:
- playback_state_changed(old_state='playing', new_state='playing')
- track_playback_started(track=...)
to:
- playback_state_changed(old_state='playing', new_state='stopped')
- track_playback_ended(track=..., time_position=...)
- playback_state_changed(old_state='stopped', new_state='playing')
- track_playback_started(track=...)
* next() has changed from:
- track_playback_ended(track=..., time_position=...)
- playback_state_changed(old_state='playing', new_state='stopped')
- track_playback_ended(track=..., time_position=0)
- playback_state_changed(old_state='stopped', new_state='playing')
- track_playback_started(track=...)
to same as play() above.
* previous() has changed in the same way as next().
* on_end_of_track() has changed from:
- track_playback_ended(track=..., time_position=...)
- playback_state_changed(old_state='playing', new_state='playing')
- track_playback_started(track=...)
to same as play() above.
* stop() has reordered its events from:
- track_playback_ended(track=..., time_position=...)
- playback_state_changed(old_state='playing', new_state='stopped')
to:
- playback_state_changed(old_state='playing', new_state='stopped')
- track_playback_ended(track=..., time_position=...)
2014-01-14 01:18:39 +01:00
Thomas Adamcik
82584eb21a
local: Add browser support for json library.
2014-01-13 23:43:55 +01:00
Stein Magnus Jodal
e071a161d6
Merge pull request #634 from sdbakker/enhancement/mixer-volume
...
Mixer volume in config
2014-01-13 13:27:51 -08:00
Stein Magnus Jodal
05632c3b8b
backend: Update backend API imports
2014-01-11 18:20:45 +01:00
Stein Magnus Jodal
d724001f5b
tests: Move mopidy.backends.dummy to tests.dummy_backend
2014-01-11 15:49:22 +01:00
Stein Magnus Jodal
2731d23578
local: Move mopidy.{backends => }.local
2014-01-11 15:17:05 +01:00
Simon de Bakker
ca35094554
Forgot to adapt tests for audio actor
2014-01-10 23:38:59 +01:00
Thomas Adamcik
cb97def432
Merge pull request #626 from jodal/feature/library-browse
...
Library browsing support in backend and core API and MPD lsinfo command
2014-01-09 13:20:40 -08:00
Thomas Adamcik
c51fdc68a2
Merge branch 'feature/extm3u' of https://github.com/tkem/mopidy into develop
...
Conflicts:
mopidy/backends/local/translator.py
2014-01-09 22:14:29 +01:00
Stein Magnus Jodal
fe28311324
models: Use new Ref constructors
2014-01-09 08:54:33 +01:00
Stein Magnus Jodal
9da5ccbb79
models: Add type specific constructors to Ref
2014-01-09 08:50:31 +01:00
Stein Magnus Jodal
1fd1a38013
Merge branch 'develop' into feature/library-browse
...
Conflicts:
mopidy/backends/local/json/library.py
mopidy/core/actor.py
tests/backends/local/library_test.py
2014-01-09 08:39:38 +01:00
Stein Magnus Jodal
28cf3228b2
Merge pull request #617 from adamcik/feature/extension-registry
...
Switch to registry for most of mopidy extension hooks
2014-01-08 23:32:06 -08:00
Thomas Adamcik
96eb9a87c6
mpd: Whitespace fix to make travis happy.
2014-01-09 00:41:46 +01:00
kingosticks
f2a26ef246
Fixed line length for flake
2014-01-08 23:04:38 +00:00
kingosticks
0d74be0b1e
Empty MPD commands should return an error instead of OK, just like the original MPD server. Includes tests.
2014-01-06 12:33:20 +00:00
Stein Magnus Jodal
252f4792a0
core: Check if library is browsable at startup
2014-01-03 23:12:03 +01:00
Stein Magnus Jodal
69836d2e16
backend: Rename library.name to library.root_directory_name
2014-01-03 23:10:02 +01:00
Stein Magnus Jodal
af3b0e40fd
models: Add Ref.type constants
2014-01-03 22:19:54 +01:00
Stein Magnus Jodal
048c3bb544
core: Use library name instead of URI scheme in browse()
2014-01-02 23:10:15 +01:00
Stein Magnus Jodal
7dba0dafa5
mpd: Include dirs and files in lsinfo response
2014-01-02 22:06:33 +01:00
Stein Magnus Jodal
6027ed1fac
core: Add library.browse()
2014-01-02 22:06:33 +01:00
Stein Magnus Jodal
a3731c8187
backend: Add library.browse()
2014-01-02 22:06:32 +01:00
Thomas Adamcik
702befd6ae
Merge branch 'develop' into feature/extension-registry
...
Conflicts:
setup.py
2013-12-31 15:34:02 +01:00
Thomas Adamcik
29bb2d52b6
local: Re-add test for #500 fix.
2013-12-31 15:31:09 +01:00
Thomas Adamcik
e82ce6256d
core: Re-add one uri scheme per backend constraint.
2013-12-31 14:45:57 +01:00
Stein Magnus Jodal
4b9ab5fcbc
Remove empty "frontends" packages
2013-12-31 14:14:19 +01:00
Stein Magnus Jodal
1ee534126e
mpd: Move mopidy.{frontends => }.mpd
2013-12-31 14:11:16 +01:00
Stein Magnus Jodal
621aff22c9
http: Move mopidy.{frontends => }.http
2013-12-31 14:04:25 +01:00
Thomas Adamcik
60112d7c6f
Merge branch 'develop' into feature/extension-registry
2013-12-30 00:37:17 +01:00
Stein Magnus Jodal
e87d5729e3
models: Add lightweight Ref model with URI, name, and type
2013-12-29 19:31:14 +01:00
Thomas Adamcik
d93d3e6fcd
local: Add local/library config value
...
- Updated library provider to support missing library
- Added config value to select local library provider
- Updated tests to use library config value
2013-12-24 00:22:58 +01:00
Thomas Adamcik
e065f349db
local: Add local library provider back
...
- Re-add a local library provider that uses our new library interface
- Re-add our json library using the new interface
- Hardcode these to use each other for now
- Scanner bit is still missing, will re-add in one of the next commits
- Bypassed test for #500 for the time being
2013-12-23 23:43:04 +01:00
Thomas Adamcik
353782e2c8
local: Add local/data_dir config value.
...
Not in use yet but, needed for future changes planed in this branch.
2013-12-23 21:40:35 +01:00
Stein Magnus Jodal
3859448e06
core: Test version property, fix typo in changelog
2013-12-15 22:49:33 +01:00
Thomas Kemmer
9bf7e39425
fix flake8 error E302
2013-12-10 06:57:16 +01:00
Thomas Kemmer
584dc1eaf6
add playlists test for writing EXTM3U files
2013-12-09 16:13:05 +01:00
Thomas Kemmer
18c44e0d8a
add translator tests for EXTM3U files
2013-12-09 15:54:28 +01:00