Commit Graph

1192 Commits

Author SHA1 Message Date
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