Commit Graph

3352 Commits

Author SHA1 Message Date
Stein Magnus Jodal
3473b9c902 scanner: Update test case 2012-12-02 15:45:54 +01:00
Stein Magnus Jodal
4889d2a928 scanner: Ignore invalid dates 2012-12-02 15:44:09 +01:00
Stein Magnus Jodal
c54a9c3260 docs: Add HTTP frontend to changelog 2012-12-01 17:31:27 +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
430d604509 http: Revised the HTTP frontend docs 2012-11-30 23:50:55 +01:00
Stein Magnus Jodal
d6a906a723 http: No need to copy dict 2012-11-30 23:15:13 +01: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
90859c903b http: Add favicon 2012-11-30 21:57:35 +01:00
Stein Magnus Jodal
0423d5289b http: Mark security and API stability sections as warnings 2012-11-30 18:26:25 +01:00
Stein Magnus Jodal
44ad69d7c4 core: Add missing getter method 2012-11-30 02:27:01 +01:00
Stein Magnus Jodal
0b9ee92edb local: Change log level from error to warning 2012-11-28 21:14:44 +01:00
Stein Magnus Jodal
bc151b32a7 http: Rewrite example to avoid jQuery use 2012-11-28 19:42:34 +01:00
Stein Magnus Jodal
df6df5b46a http: Minor HTML/CSS tweaks 2012-11-28 19:35:17 +01:00
Stein Magnus Jodal
67c92ceab9 http: Move resource details to /mopidy/ page 2012-11-28 19:19:06 +01:00
Stein Magnus Jodal
c1e60ba378 http: Add /mopidy/ static dir that is always available 2012-11-28 19:18:13 +01:00
Stein Magnus Jodal
96a31adf63 http: Use CSS file from mopidy.com 2012-11-28 19:17:46 +01:00
Stein Magnus Jodal
b4ad0b0830 http: Move WebSocket to /mopidy/ws/ 2012-11-28 15:59:08 +01:00
Stein Magnus Jodal
b1fe802473 http: Doc API instability 2012-11-28 15:21:53 +01:00
Stein Magnus Jodal
f7eaa48868 http: Doc WebSocket messaging formats 2012-11-28 15:21:38 +01:00
Stein Magnus Jodal
27291c8fac http: Doc security considerations 2012-11-28 15:21:13 +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
6a0e9aa69c spotify: Playlist refresh hack should not be active after first run 2012-11-26 15:22:31 +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
f1dbdc9464 Merge pull request #257 from jodal/feature/json-rpc
Add generic JSON-RPC 2.0 object wrapper
2012-11-25 13:02:50 -08: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
b33df8200a jsonrpc: Grammar 2012-11-25 21:25:00 +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
253695222b jsonrpc: Clearify usage docs 2012-11-25 20:58:34 +01:00
Stein Magnus Jodal
869fcd2d8e jsonrpc: Move future handling code to its own method 2012-11-25 20:42:48 +01:00
Stein Magnus Jodal
7f987cb1e2 jsonrpc: Lookup methods using the objects map directly 2012-11-25 20:36:04 +01:00
Thomas Adamcik
b3eef8f08d Merge pull request #261 from jodal/feature/cache-models
spotify: Reuse artist, album, and track models
2012-11-25 07:52:28 -08:00
Stein Magnus Jodal
66d76d38b3 http: Unbreak tests 2012-11-25 09:12:22 +01:00
Stein Magnus Jodal
c1bf69f732 http: Expose core API using JSON-RPC over WebSocket 2012-11-25 08:53:04 +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
5a05b4af9d jsonrpc: Doc diff between wrapper and inspector 2012-11-25 08:20:39 +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
6403e3e3d1 spotify: Reuse artist, album, and track models
This adds a module-level cache of artist, album, and track models, whose
content is almost entirely static. This cache is used when we convert from
pyspotify to Mopidy objects.

Previously, an album with 15 tracks would create 15 track objects, 15 artists
objects on the tracks, 15 album objects on the tracks, and 15 artist objects on
the 15 album objects, in total 60 objects. With this change, we only create 15
track objects, 1 album object, and 1 artist object, in total 17 objects.

Measurements with 90 playlists containing about 6500 tracks in total shows that
this reduces the number of Artist objects from 13600 to 3800, and the number of
Album objects from 6500 to 4500 objects.

An unscientific measurement of memory usage using ps(1) indicated a reduction
in RSS from 71MB to 65MB, measured right after the Spotify playlists was loaded
the first time.
2012-11-23 12:48:41 +01:00