Stein Magnus Jodal
b95c8032de
mpd: Add 'searchaddpl' command
2012-12-15 01:18:13 +01:00
Stein Magnus Jodal
9b1dfa6978
mpd: Add 'searchadd' command
2012-12-15 00:40:33 +01:00
Stein Magnus Jodal
6ac2c249b5
mpd: Add 'findadd' command
2012-12-15 00:39:52 +01:00
Stein Magnus Jodal
50cbe5f384
mpd: Add range support to 'load' command
2012-12-14 22:13:08 +01:00
Stein Magnus Jodal
49d585a97c
mpd: Add 'config' command
2012-12-14 12:08:17 +01:00
Stein Magnus Jodal
ac537a63c7
mpd: Add 'seekcur' command
2012-12-14 11:53:44 +01:00
Stein Magnus Jodal
2b54837c64
Bump version number to 0.10.0
2012-12-13 00:16:33 +01:00
Stein Magnus Jodal
a221036e5a
tests: Fix error message
2012-12-12 23:05:12 +01:00
Thomas Adamcik
e00b590ae9
Detangle EOT and EOS.
...
This commit tries to detangle EOS from EOT which we have incorrectly
intermingled. EOS events should only be happening at the end of the playlist
when we are about to stop. EOT handling has been removed / broken in this
change, and will need to be re-added with proper tests.
2012-12-12 22:57:19 +01:00
Stein Magnus Jodal
b76e27a62b
mpd: Revert full URI in tag cache test as well
2012-12-12 15:54:04 +01:00
Stein Magnus Jodal
905ceeb72a
utils: find_files() returns bytestrings
2012-12-12 13:45:37 +01:00
Stein Magnus Jodal
b5d9dc10a7
utils: Handle paths with non-UTF-8 encodings
...
- path_to_uri() encodes unicode input as UTF-8 and leaves bytestring input
unchanged before it is converted to file:// URIs.
- uri_to_path() will now always return bytestrings, since we don't know if
there is any non-UTF-8 encoded chars in the file path, and converting it to
unicode would make such paths no longer match the dir or file it was
referring to.
- split_path() will now assume it gets a bytestring in.
2012-12-12 13:45:37 +01:00
Stein Magnus Jodal
f302949ea9
tests: Use empty tag cache in all local backend tests
2012-12-12 13:43:41 +01:00
Stein Magnus Jodal
beac2e80ed
mpd: Use file:// URIs in tag_cache
...
file:// URIs are uriencoded, and will thus conserve the encoding of the file
paths. We cannot just convert file paths in other encodings to UTF-8, because
then we won't find the files we point to.
2012-12-11 10:29:43 +01:00
Stein Magnus Jodal
7f2e2a8faa
scanner: Test invalid date
2012-12-02 15:48:02 +01:00
Stein Magnus Jodal
3473b9c902
scanner: Update test case
2012-12-02 15:45:54 +01:00
Stein Magnus Jodal
3f8b5affe0
tests: Ignore http tests if ws4py is missing
2012-12-01 17:24:34 +01:00
Stein Magnus Jodal
ac6cecd2f8
backends: Add BackendListener.on_event()
2012-12-01 11:21:06 +01:00
Stein Magnus Jodal
959bd6cd84
audio: Add AudioListener.on_event()
2012-12-01 11:20:44 +01:00
Stein Magnus Jodal
ec66cae784
tests: Ignore http tests if cherrypy is missing
2012-12-01 10:48:54 +01:00
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