Stein Magnus Jodal
5422d85f5b
utils: Include ws4py in --list-deps
2012-12-01 09:58:21 +01:00
Stein Magnus Jodal
9ec53bb3b7
utils: Include cherrypy in --list-deps
2012-12-01 09:56:28 +01:00
Thomas Adamcik
1ee2935867
Merge pull request #235 from jodal/feature/http-frontend
...
HTTP/WebSocket frontend
2012-11-30 19:02:08 -08:00
Stein Magnus Jodal
2edc884e76
http: Override CoreListener.on_event() instead of the specific event handlers
2012-11-30 22:41:13 +01:00
Stein Magnus Jodal
6238f55ae2
core: Add CoreListener.on_event()
...
The `on_event()` method is called on all events. By default, it forwards the
event to the specific event handler methods. It's also a convenient method to
override if you want to handle all events in one place.
2012-11-30 22:39:37 +01:00
Stein Magnus Jodal
37164c6b04
http: Remove empty test file for the WebSocket
...
All the logic has been moved into mopidy.utils.jsonrpc, and all that remains of
mopidy.frontends.http.ws is simple wiring that isn't worth testing.
2012-11-27 23:25:16 +01:00
Stein Magnus Jodal
69ede85959
tests: Exception messages on 2.6 and 2.7 differs
2012-11-25 23:24:04 +01:00
Stein Magnus Jodal
961fce13e5
tests: Make it work on Python 2.6 (try 2)
2012-11-25 23:04:09 +01:00
Stein Magnus Jodal
42981b94b6
tests: dict comp. is not supported in Python 2.6
2012-11-25 22:16:46 +01:00
Stein Magnus Jodal
7d047acc2e
Merge branch 'develop' into feature/http-frontend
2012-11-25 22:04:53 +01:00
Stein Magnus Jodal
160626b364
jsonrpc: Give explicit error if calling method without object path
2012-11-25 21:51:59 +01:00
Stein Magnus Jodal
8f604204da
jsonrpc: Don't allow objects at the root
2012-11-25 21:42:28 +01:00
Stein Magnus Jodal
50814d3929
jsonrpc: Explain why a method wasn't found
2012-11-25 21:23:55 +01:00
Stein Magnus Jodal
609fdc46ca
jsonrpc: Explain why call to private method failed
2012-11-25 21:13:55 +01:00
Stein Magnus Jodal
7f987cb1e2
jsonrpc: Lookup methods using the objects map directly
2012-11-25 20:36:04 +01:00
Stein Magnus Jodal
66d76d38b3
http: Unbreak tests
2012-11-25 09:12:22 +01:00
Stein Magnus Jodal
90663021a4
Merge branch 'feature/json-rpc' into feature/http-frontend
2012-11-25 08:39:20 +01:00
Stein Magnus Jodal
40f4a8181d
jsonrpc: Wrapper takes a mapping between mounts and objects
...
This is analogous to how the inspector takes a mapping between mounts and
classes.
2012-11-25 08:03:26 +01:00
Stein Magnus Jodal
569ee6c5f3
jsonrpc: Add inspector that describes the available API
2012-11-24 00:57:08 +01:00
Stein Magnus Jodal
61d6de2378
jsonrpc: Support methods on the root object
2012-11-22 15:30:34 +01:00
Stein Magnus Jodal
6e2ffb0820
jsonrpc: Make dict returns from plain objects work
2012-11-22 12:11:22 +01:00
Stein Magnus Jodal
b038c4c2db
Add generic JSON-RPC 2.0 object wrapper
...
This can wrap multiple objects, which can be both plain objects and Pykka
actors. To my knowledge, everything in the spec is supported.
2012-11-21 23:51:05 +01:00
Stein Magnus Jodal
db5c671bd4
http: Remove the REST API
2012-11-21 02:10:32 +01:00
Stein Magnus Jodal
532a915db8
Merge branch 'develop' into feature/http-frontend
2012-11-21 02:02:58 +01:00
Stein Magnus Jodal
88eef7de49
Bump version number to 0.9.0
2012-11-21 01:42:51 +01:00
Stein Magnus Jodal
3af3eb5127
mpd: Make 'decoders' return an empty response to please ncmpcpp
2012-11-21 01:29:14 +01:00
Stein Magnus Jodal
39b9429dfc
tests: Use track URIs matching the backend in use
2012-11-21 01:04:11 +01:00
Stein Magnus Jodal
dc24876f66
mpd: Allow bad 'search' requests
2012-11-21 00:49:11 +01:00
Stein Magnus Jodal
5fbb6328d6
mpd: list shouldn't return blank artist names, album names, or dates
2012-11-21 00:48:08 +01:00
Stein Magnus Jodal
72574c1ae0
mpd: listplaylists should not return playlists without a name
2012-11-21 00:32:46 +01:00
Stein Magnus Jodal
8f1b98b306
core: Don't fail when adding tracks after end of tracklist
2012-11-20 22:36:39 +01:00
Stein Magnus Jodal
ae9a257091
Make tracklist.add() only take and return lists
2012-11-20 22:12:09 +01:00
Stein Magnus Jodal
1ed56c9ed7
Use tracklist.add() instead of tracklist.append()
2012-11-20 21:55:51 +01:00
Stein Magnus Jodal
d107b13fcb
core: Remove playback.current_tlid
2012-11-20 21:48:19 +01:00
Stein Magnus Jodal
2f27167677
core: Remove playback.track_at_previous
2012-11-20 21:48:03 +01:00
Stein Magnus Jodal
70d4dba7aa
core: Remove playback.track_at_next
2012-11-20 21:47:44 +01:00
Stein Magnus Jodal
ee8c2ca589
tests: Rename populate_playlist() to populate_tracklist()
2012-11-20 09:24:37 +01:00
Stein Magnus Jodal
bec91284be
mpd: Allow bad 'find' requests
2012-11-20 00:38:53 +01:00
Stein Magnus Jodal
7da2058b65
mpd: Test response for bad 'list' requests
2012-11-20 00:31:41 +01:00
Stein Magnus Jodal
56c4892f46
Merge branch 'develop' into feature/http-frontend
2012-11-20 00:27:19 +01:00
Stein Magnus Jodal
f82d3fca39
Merge branch 'feature/model-serialization' into develop
2012-11-20 00:21:34 +01:00
Stein Magnus Jodal
8c6f04a408
models: Change serialized type marker from '__type__' to '__model__'
2012-11-20 00:21:26 +01:00
Stein Magnus Jodal
693a3d3ec6
models: Model creation with kwarg matching method name should fail
2012-11-19 23:58:16 +01:00
Stein Magnus Jodal
34d444e563
models: Don't allow model deserialization to override methods
2012-11-19 23:35:05 +01:00
Stein Magnus Jodal
eab399357f
Make library.lookup() return a list of tracks
2012-11-19 21:09:10 +01:00
Stein Magnus Jodal
32639ea8de
Replace {tracklist,playlists}.get() with .filter() which always returns a list
2012-11-19 21:09:10 +01:00
Stein Magnus Jodal
3bd9d2096f
tests: Formatting
2012-11-19 21:09:10 +01:00
Stein Magnus Jodal
7df556c9b3
Return lists of tracks from search() and find_exact()
2012-11-19 18:13:14 +01:00
Stein Magnus Jodal
6f0919bda8
style: Fix flake8 warnings
2012-11-19 18:01:31 +01:00
Stein Magnus Jodal
968de84b93
http: Broadcast all events over the WebSocket
2012-11-18 19:02:36 +01:00
Stein Magnus Jodal
62530be8b4
Merge branch 'feature/model-serialization' into feature/http-frontend
2012-11-18 17:31:13 +01:00
Stein Magnus Jodal
3bc4126b45
models: Fix TlTrack deserialization
2012-11-18 17:28:37 +01:00
Stein Magnus Jodal
68e4b207cb
models: Support automatic serialization to and deserialization from JSON
2012-11-18 16:53:26 +01:00
Stein Magnus Jodal
f237736f87
models: Add '__type__' attribute to serialized models
2012-11-18 16:53:09 +01:00
Stein Magnus Jodal
74a6589668
tests: Fix typo in class name
2012-11-18 16:51:33 +01:00
Stein Magnus Jodal
7e3fba0155
Merge branch 'develop' into feature/http-frontend
2012-11-18 09:45:44 +01:00
Stein Magnus Jodal
59919b279c
Merge pull request #244 from jodal/feature/mpris-playlists
...
mpris: Implement the playlists interface (fixes #229 )
2012-11-17 13:37:06 -08:00
Stein Magnus Jodal
15cb291316
tests: Rename test file so that it's executed
2012-11-17 17:10:27 +01:00
Stein Magnus Jodal
5efce8ac76
local: Trigger playlists_loaded() event on playlist load/refresh
2012-11-17 17:09:27 +01:00
Stein Magnus Jodal
b8c7703c79
mpris: Implement the playlists interface ( fixes #229 )
2012-11-17 01:45:24 +01:00
Stein Magnus Jodal
330731a247
core: Forward playlists_loaded() event from backends to frontends
2012-11-17 01:22:25 +01:00
Stein Magnus Jodal
0f6c9a1673
backends: Add BackendListener interface with playlists_loaded() event
2012-11-17 01:22:25 +01:00
Stein Magnus Jodal
426d5aea16
core: Trigger playlists_loaded() after playlist refresh
2012-11-17 00:42:03 +01:00
Stein Magnus Jodal
5526ee5a95
core: Add CoreListener.playlists_loaded() event
2012-11-17 00:42:03 +01:00
Stein Magnus Jodal
4efff4a5a3
core: Trigger playlist_changed() event on create() and save()
2012-11-16 23:50:30 +01:00
Stein Magnus Jodal
fd86b7173c
core: Add playlist to playlist_changed() event
2012-11-16 23:50:01 +01:00
Stein Magnus Jodal
df4d7cd4c9
http: Update to use unicode literals and not cause warnings with flake8
2012-11-16 22:34:36 +01:00
Stein Magnus Jodal
87ba412942
models: Make TlTrack an ImmutableObject
2012-11-16 15:01:37 +01:00
Stein Magnus Jodal
cfac728def
tests: Don't use indexes into TlTracks
2012-11-16 14:57:25 +01:00
Stein Magnus Jodal
0e7f867d67
core: Test tracklist event trigging
2012-11-16 13:54:55 +01:00
Stein Magnus Jodal
d378fd7160
tests: Move events tests from tests/backends/ to tests/core
2012-11-16 11:53:48 +01:00
Stein Magnus Jodal
476df7a14d
core: Add tracklist_changed() event
2012-11-16 11:43:49 +01:00
Stein Magnus Jodal
fff70c46a6
core: Make tracklist.append() return the appended TlTracks
2012-11-16 10:26:45 +01:00
Stein Magnus Jodal
684586dd18
mpris: Update for MPRIS 2.2 compliance
2012-11-15 09:04:21 +01:00
Thomas Adamcik
4d4c560882
Merge pull request #240 from jodal/feature/audio-state-events
...
Audio state events
2012-11-14 15:00:09 -08:00
Stein Magnus Jodal
e1ef73f517
Merge branch 'develop' into feature/http-frontend
2012-11-14 09:35:19 +01:00
Stein Magnus Jodal
3a24deaec3
Rename 'stored playlists' to 'playlists'
2012-11-14 09:23:19 +01:00
Stein Magnus Jodal
87ce7bbe11
audio: Maintain state and trigger events based on GStreamer state changes
2012-11-14 01:49:17 +01:00
Stein Magnus Jodal
76b1fa8e1b
audio: Add state_changed(old_state, new_state) event
2012-11-13 20:31:38 +01:00
Stein Magnus Jodal
42fdaf3ff0
audio: Move tests to make room for more audio tests
2012-11-13 20:26:05 +01:00
Stein Magnus Jodal
dc356a81fd
Merge branch 'feature/rename-cp-to-tracklist' into develop
...
Conflicts:
docs/changes.rst
mopidy/frontends/mpd/protocol/current_playlist.py
2012-11-13 19:09:18 +01:00
Stein Magnus Jodal
cc39853638
mpd: Normalize file/filename filters to uri filters
2012-11-13 11:53:47 +01:00
Stein Magnus Jodal
4f0a708411
mpd: Allow 'file' key to 'search' and 'find'
2012-11-13 11:34:48 +01:00
Stein Magnus Jodal
bba9548b27
Rename 'current playlist' to 'tracklist'
2012-11-13 10:59:48 +01:00
Stein Magnus Jodal
344d5bd49d
Merge pull request #238 from jodal/feature/optional-backend-providers
...
Make all three backend provider types optional
2012-11-13 01:41:18 -08:00
Stein Magnus Jodal
1b5b7abfdd
Allow settings prefixed with 'CUSTOM_' ( fixes #204 )
2012-11-13 00:44:07 +01:00
Stein Magnus Jodal
6acaa490e9
Make all strings unicode by default ( fixes #224 )
2012-11-13 00:18:47 +01:00
Stein Magnus Jodal
92bd599ecf
Update stored playlists controller to support backends without playlists
2012-11-12 22:38:49 +01:00
Stein Magnus Jodal
d748c07daf
Update playback controller to support backends without playback support
2012-11-12 22:19:27 +01:00
Stein Magnus Jodal
6f32d72792
Update the library controller to support backends without a library
2012-11-12 21:41:48 +01:00
Stein Magnus Jodal
86e0eff21d
http: Extend player resource, add tracklist and playlists resources
2012-11-10 20:57:18 +01:00
Stein Magnus Jodal
49cf1ab8aa
Require at least one frontend and one backend
2012-11-08 14:43:21 +01:00
Stein Magnus Jodal
197447c0cb
Remove ancient despotify settings check
2012-11-08 14:42:06 +01:00
Stein Magnus Jodal
f08fba954e
Update to work with current develop
2012-11-03 22:03:26 +01:00
Stein Magnus Jodal
938524e67e
Merge branch 'develop' into feature/stored-playlists-cleanup
2012-11-03 22:02:19 +01:00
Stein Magnus Jodal
d985b8be38
Fix plchanges so it returns nothing when nothing has changed
2012-11-01 23:28:19 +01:00
Stein Magnus Jodal
60112897d2
MPD: Support listplaylist{,info} without quotes around spaceless playlist name ( fixes #218 )
2012-11-01 22:29:11 +01:00
Stein Magnus Jodal
8c9a3d6df2
Slugify local playlist names to make them safe to use in paths ( #217 )
2012-11-01 12:46:29 +01:00
Fred Hatfull
a5b454acc0
Fixes support for MPD find/search by filename
...
Extends `find_exact` and `search` in mopidy.backends.local.library
to support the `filename` query field. This field can get passed in
from the MPD frontend and would break with a `LookupError` when used.
This patch fixes the issue and introduces two new tests to cover the
added functionality.
2012-10-31 23:45:13 -07:00
Stein Magnus Jodal
6c49a7fc52
Make core.stored_playlists.save() support multibackend ( #217 )
2012-10-31 16:59:28 +01:00