Commit Graph

1338 Commits

Author SHA1 Message Date
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
Stein Magnus Jodal
3d05f3c65f Change stored_playlists.delete() to accepting an URI (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
f9f6f9394d Remove stored_playlists.rename() (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
06bcad2db9 Make local.stored_playlists.save() capable of renaming playlists (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
51aab4f138 Make local stored playlists set and use URIs (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
d8378e9284 Set URI on local playlists when reading from disk (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
fd88b974e8 Make core.stored_playlists.refresh() support multibackend (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
8cc1896b9d Make core.stored_playlists.lookup() support multibackend (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
e2474da1ef Make core.stored_playlists.create() support multibackend (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
0ddbb4e28a Make core.stored_playlists.playlists read-only (#217) 2012-10-31 16:59:28 +01:00
Stein Magnus Jodal
a679a47212 Minor test updates 2012-10-31 15:27:04 +01:00
Stein Magnus Jodal
ae344e937b Merge branch 'master' into develop
Conflicts:
	docs/changes.rst
	mopidy/__init__.py
	mopidy/audio/__init__.py
	mopidy/backends/dummy.py
	mopidy/backends/local/__init__.py
	mopidy/backends/spotify/__init__.py
	mopidy/utils/__init__.py
	mopidy/utils/network.py
	tests/version_test.py
2012-10-30 18:13:28 +01:00
Stein Magnus Jodal
5d5f0cc6e3 Bump version number to v0.8.1 2012-10-30 17:57:25 +01:00
Stein Magnus Jodal
f1e2cff3e0 Update to work with Pykka 1.0 2012-10-30 16:28:20 +01:00
Stein Magnus Jodal
d60bb57f5f Test new Album.date attribute 2012-10-30 10:18:40 +01:00
Stein Magnus Jodal
1014c6e373 Include both involved backends in the error message 2012-10-29 10:50:18 +01:00
Stein Magnus Jodal
4a79b559d5 Fail if two backends claims to handle the same URI schema 2012-10-29 10:31:35 +01:00
Stein Magnus Jodal
9a617b1803 Improvements after code review 2012-10-28 20:58:51 +01:00
Stein Magnus Jodal
0641d2d207 Make core.stored_playlists.playlists support multiple backends 2012-10-28 11:10:40 +01:00
Stein Magnus Jodal
a35deec050 Make core.library support multiple backends 2012-10-28 11:10:39 +01:00
Stein Magnus Jodal
c47cec9e65 Make core.playback select backend based on track URI 2012-10-28 11:10:39 +01:00
Stein Magnus Jodal
7b9c682e95 Make core.uri_schemes include URI schemes from all backends 2012-10-28 11:10:39 +01:00
Stein Magnus Jodal
2d92a7a228 Start multiple backends 2012-10-27 14:55:09 +02:00
Stein Magnus Jodal
956655f742 Update tests to use tracks with valid URIs 2012-10-27 14:53:35 +02:00
Stein Magnus Jodal
d685fe554c Simplify pykka imports 2012-10-26 22:57:41 +02:00
Stein Magnus Jodal
587dde287f Update to work with Pykka 1.0 2012-10-26 22:32:06 +02:00
Stein Magnus Jodal
c915c197dd Formatting 2012-10-25 22:49:47 +02:00
Stein Magnus Jodal
8683537816 Don't use command_list as both bool and list (#211) 2012-10-17 01:43:22 +02:00
Stein Magnus Jodal
afdc665ac0 Use deps.{platform_info,python_info} in log 2012-10-16 22:26:28 +02:00
Stein Magnus Jodal
5a0529b142 Empty utils/__init__.py 2012-10-16 21:36:51 +02:00
Stein Magnus Jodal
d4f5d02c72 Move MpdSession to a session module 2012-10-16 16:13:23 +02:00
Stein Magnus Jodal
d9d6a3d5b6 Move exceptions to mopidy.exceptions 2012-10-16 16:08:46 +02:00
Stein Magnus Jodal
ac60bcdf8e Fix all flake8 warnings in tests (#211) 2012-10-16 14:43:31 +02:00
Stein Magnus Jodal
c115cf123f MPD: Use core actor passed to frontend 2012-09-28 00:48:28 +02:00
Stein Magnus Jodal
9fd3e93cb6 MPRIS: Use core actor passed to frontend 2012-09-28 00:48:28 +02:00
Stein Magnus Jodal
706b6c6d3f Pass core actor to frontends 2012-09-28 00:48:24 +02:00
Stein Magnus Jodal
63cd153b1b Let NetworkServer pass protocol_kwargs on 2012-09-28 00:48:23 +02:00
Stein Magnus Jodal
e7f08a7a20 Rename mopidy.{listeners.BackendListener => core.CoreListener} 2012-09-27 20:35:39 +02:00
Stein Magnus Jodal
2fdeec9f5a Move controllers to a new core actor
The frontends use the new core actor, while the core actor uses the backend.

This is a step towards supporting multiple backends, where the core actor will
coordinate the backends.
2012-09-27 20:35:39 +02:00
Stein Magnus Jodal
5265609610 MPRIS: New BackendListener.seeked() signature 2012-09-26 22:12:38 +02:00
Stein Magnus Jodal
66f476e85a Fix typo 2012-09-26 10:08:59 +02:00
Stein Magnus Jodal
81fca7d686 Switch to time position from provider 2012-09-25 11:18:27 +02:00
Stein Magnus Jodal
12d6ce53dd Send new time position to 'seeked' listeners 2012-09-25 11:18:27 +02:00
Stein Magnus Jodal
28e5ed8b2e Send old and new state to playback_state_changed listeners 2012-09-25 11:18:26 +02:00
Stein Magnus Jodal
b3f3cfe2a0 Use assert{Less,Greater}[EEqual] in tests 2012-09-25 11:18:26 +02:00
Stein Magnus Jodal
7d4b605ee5 Update version number to 0.8.0 2012-09-20 01:01:38 +02:00
Stein Magnus Jodal
6451519d2a MPD: Support 'playid 0' without quotes around id 2012-09-20 00:28:30 +02:00
Stein Magnus Jodal
52c7726de2 MPD command 'close' does not return 'OK'
Test broke when Pykka actors started processing the actor inbox before
stopping themselves.
2012-09-19 01:50:48 +02:00
Thomas Adamcik
5a47dfe159 Update import style in tests.utils.path 2012-09-16 22:44:15 +02:00
Thomas Adamcik
a707daf458 Add tests for expand_path and fix ordering.
Expansions need to happen before abspath is called or else result is wrong.
2012-09-16 22:26:44 +02:00
Thomas Adamcik
6cc57701f9 Update parse_m3u to allow caller to decide what location playlist is relative to. 2012-09-16 19:28:15 +02:00
Thomas Adamcik
7ceb530064 Updated find files to ignore hidden files and folders. 2012-09-16 18:14:11 +02:00
Stein Magnus Jodal
a8d1d41ab3 Use assertIn and assertNotIn in tests 2012-09-15 17:46:25 +02:00
Stein Magnus Jodal
2ba05f9405 Add PlaybackState enum 2012-09-14 01:17:55 +02:00
Stein Magnus Jodal
aab37302a1 Rename mopidy.gstreamer to mopidy.audio 2012-09-14 01:05:42 +02:00
Stein Magnus Jodal
0559213da3 Move backend controllers to mopidy.core 2012-09-13 23:41:20 +02:00
Stein Magnus Jodal
7525cad94c Let Track.date be an ISO-8601 string
This lets us have less precision than full dates. E.g. Spotify tracks only got
release year, not full release date.

The original MPD server regularly expose data like this as "Date: 1977", so we
don't need to fake more precision for MPD's sake.
2012-09-12 23:06:06 +02:00
Stein Magnus Jodal
dbf7030d5b Fix crash in local backend when looking up unknown path 2012-09-11 23:23:36 +02:00
Stein Magnus Jodal
4bffea8b1f Test the GStreamer class as an actor
The test should use the same interface and code paths as production code.
2012-09-10 00:34:12 +02:00
Thomas Adamcik
db3a201795 Fix tests and update docs with #150 fix. 2012-09-09 22:09:23 +02:00
Stein Magnus Jodal
e948a51310 Remove duplicate tearDown() 2012-09-08 23:05:31 +02:00
Stein Magnus Jodal
e3ba389996 Make MPRIS frontend handle unknown volume 2012-09-08 01:24:48 +02:00
Stein Magnus Jodal
21a85c0898 Merge pull request #178 from adamcik/feature/serialize
Imutable object serialization support
2012-09-05 16:57:24 -07:00
Thomas Adamcik
59dc48e982 Merge branch 'develop' into feature/serialize 2012-09-06 00:03:33 +02:00
Thomas Adamcik
6805c16b1a Add .serialize() method to ImutableObjects.
Should be useful for things like dumping to json.
2012-09-05 23:54:37 +02:00
Thomas Adamcik
b0d6dc3e0c Remove injected gstreamer settings. 2012-09-05 22:42:09 +02:00
Thomas Adamcik
1255b87877 Try running with fakesink for gstreamer test. 2012-09-05 01:26:05 +02:00
Thomas Adamcik
c71202c2be Remove all of mopidy.mixers and tests.mixers modules. 2012-09-04 00:54:28 +02:00
Thomas Adamcik
4ffd06736e Update MPD frontend to use playback volume API. 2012-09-04 00:52:12 +02:00
Thomas Adamcik
14eeb20226 Update MPRIS to use playback.volume API. 2012-09-04 00:30:02 +02:00
Thomas Adamcik
114bc10ae8 Merge branch 'develop' into feature/switch-to-gst-mixers
Conflicts:
	mopidy/gstreamer.py
2012-09-03 22:54:22 +02:00
Stein Magnus Jodal
6b41806eea Merge remote-tracking branch 'adamcik/feature/simplify-outputs' into develop
Conflicts:
	docs/changes.rst
	mopidy/utils/settings.py
2012-09-03 22:08:52 +02:00
Thomas Adamcik
f6b96680ae Fix MPD volume command.
The command should return -1 when the volume is not known.
2012-09-01 22:07:15 +02:00
Thomas Adamcik
40502e41e5 Update tests to catch scaling problem in mixer.
- Fixes problem where 60% became 59% due to bad rounding.
- Tests assume scale of 0-65536 which matches ALSA.
- Check all possible values of set_volume and ensure we the right value out.
2012-09-01 14:35:20 +02:00
Thomas Adamcik
2b01860680 Make it possible to override GStreamer settings in tests.
- Specifically you can now pass in values instead of relying on global
  settings.
2012-09-01 14:01:11 +02:00
Thomas Adamcik
b796d7c859 Add create fakemixer element for testing.
- GStreamer tests now use this instead of a real mixer.
- fakemixer and the autoaudiomixer still need to be moved.
- We should probably use a fakesink as output as well.
2012-09-01 13:34:16 +02:00
Thomas Adamcik
2d5ba154ed Switch to module imports and with assertRaises in init_test. 2012-09-01 13:33:41 +02:00
Stein Magnus Jodal
fbc9aef828 Merge remote-tracking branch 'adamcik/feature/settings-did-you-mean' into develop 2012-09-01 13:29:13 +02:00
Stein Magnus Jodal
5c6dc96f9d Fix typo 2012-09-01 13:07:14 +02:00
Thomas Adamcik
e4d425d37a Add did you mean tests for settings.
- Checks varying degrees of typos until the edit distance becomes to large.
- Also updated did you mean to always uppercase it's input so we catch caps
  errors.
2012-09-01 12:28:32 +02:00
Thomas Adamcik
1f8289a256 Switch to only importing modules in settings_test. 2012-09-01 12:22:41 +02:00
Thomas Adamcik
4e4a209ec3 Fix existing settings tests that did_you_mean broke. 2012-09-01 12:15:08 +02:00
Thomas Adamcik
703141c15b Make sure bad data to OUTPUT does not deadlock.
- Moves GStreamer initialization out of on-start as it is not obvious to me how
  to stop rest of setup on other ways.

- Note that gst.GError != gobject.GError as far as except is concerned.
2012-09-01 01:35:51 +02:00
Stein Magnus Jodal
a452c49bd3 We're only considering a small subset of the Gstreamer elements 2012-09-01 00:49:12 +02:00
Stein Magnus Jodal
d712551c3f Add list of Gstreamer elements to checck in --list-deps 2012-09-01 00:16:39 +02:00
Stein Magnus Jodal
41853dd3d8 Add platform adapter for --list-deps 2012-09-01 00:00:14 +02:00
Stein Magnus Jodal
05c935bc4c Add Python impl adapter for --list-deps 2012-08-31 23:59:53 +02:00
Stein Magnus Jodal
44b6307046 Add pyserial adapter for --list-deps 2012-08-31 23:13:15 +02:00
Stein Magnus Jodal
240ab0d226 Add dbus adapter for --list-deps 2012-08-31 22:58:47 +02:00
Stein Magnus Jodal
6e01b320d7 Skip tests for unavailable optional deps 2012-08-31 22:57:29 +02:00
Stein Magnus Jodal
a661b6d848 Add pylast adapter for --list-deps 2012-08-31 22:49:59 +02:00
Stein Magnus Jodal
4284e08d69 Strip file name from printed import paths 2012-08-31 22:46:18 +02:00
Stein Magnus Jodal
4c6a6af487 Add Gstreamer adapter for --list-deps 2012-08-31 22:40:08 +02:00
Stein Magnus Jodal
a25e7d9530 Add pyspotify adapter for --list-deps 2012-08-31 22:17:54 +02:00
Stein Magnus Jodal
5fcc4e67aa Add --list-deps command with Pykka adapter 2012-08-31 21:55:01 +02:00
Stein Magnus Jodal
2262bf91d5 Fix crash in 'playlistinfo' when called with a songpos not matching an CPID (fixes #162) 2012-08-24 00:21:03 +02:00
Stein Magnus Jodal
52e242cbe1 Update version number to 0.7.3 2012-08-11 03:37:55 +02:00
Stein Magnus Jodal
0e66ffe6a5 Add locale_decode util function that decodes bytestrings using the current locale's encoding 2012-08-10 23:12:04 +02:00
Stein Magnus Jodal
1f12951fa2 Prepare for maintenance release 2012-05-07 22:56:09 +02:00
Stein Magnus Jodal
de7b165028 Merge branch 'master' into develop
Conflicts:
	docs/changes.rst
	mopidy/__init__.py
	tests/version_test.py
2012-04-22 01:31:47 +02:00
Stein Magnus Jodal
1dae3442e0 Release v0.7.1 2012-04-22 01:30:20 +02:00
Stein Magnus Jodal
ee0c7c1af5 Add __version__ to mopidy module 2012-03-04 23:26:24 +01:00
Stein Magnus Jodal
42d41d6fe7 Prepare for v0.8 development 2012-02-25 01:06:52 +01:00
Stein Magnus Jodal
0269686453 Fix volume response when capping volume 2012-02-24 23:50:45 +01:00
Stein Magnus Jodal
219e723974 Fix crash on mismatching quotation (fixes #137) 2012-02-13 10:30:46 +01:00
Stein Magnus Jodal
fc5f6df740 Simplify DenonMixer constructor args 2012-02-10 00:34:33 +01:00
Stein Magnus Jodal
413603f981 Remove old redundant comment 2012-02-10 00:02:54 +01:00
Stein Magnus Jodal
8c2a333938 get_or_create_folder should also create intermediate folders 2012-02-09 23:12:40 +01:00
Stein Magnus Jodal
f1ba8af0de Ignore MPRIS tests on OS X 2012-02-08 13:24:28 +01:00
Stein Magnus Jodal
4cc7b87669 Merge branch 'master' into develop 2011-12-28 22:17:15 +01:00
Stein Magnus Jodal
5528edd3ad Update changelog for v0.6.1 release 2011-12-28 21:45:08 +01:00
Stein Magnus Jodal
b0698d2e0a Add slice() method to CurrentPlaylistController to reduce copying of the playlist 2011-12-28 02:38:07 +01:00
Stein Magnus Jodal
cda2fbbe96 Add index() method to CurrentPlaylistController to reduce copying of the playlist 2011-12-28 01:55:02 +01:00
Stein Magnus Jodal
7b0954bef8 Simplify 'playlistinfo' implementation further, guided by new test asserts 2011-12-28 01:00:14 +01:00
Stein Magnus Jodal
6f6e2c7fd7 Let track{,s}_to_mpd_format() understand CpTrack objects
Thus the cpid and cpids kwargs can be removed, and lots of code doing
formatting of MPD responses can be simplified. This also reduces the
need for making full copies of the current playlist, which improves
performance.
2011-12-28 00:31:27 +01:00
Stein Magnus Jodal
c5a4bb0e22 Rename tracks_len to length, and add test 2011-12-27 22:31:50 +01:00
Stein Magnus Jodal
b0319d1f70 Prepare for v0.7 development 2011-10-09 00:43:20 +02:00
Stein Magnus Jodal
808b9e026a Add yappi profiling to tests/__main__.py 2011-09-24 19:09:21 +02:00
Stein Magnus Jodal
6a470f9694 Fix typo 2011-08-06 17:00:21 +02:00
Stein Magnus Jodal
d8959341e8 Unescapes all incoming MPD requests (fixes #113) 2011-08-02 22:35:50 +02:00
Stein Magnus Jodal
611efebd6f Update GitHub Issues URLs 2011-08-02 01:53:20 +02:00
Thomas Adamcik
92a2408ace Remove some unused imports 2011-07-31 22:27:10 +02:00
Thomas Adamcik
1985b4af76 Switch all tests over to from tests import unittest, which will be unittest2 on < 2.7 and plain unittest otherwise 2011-07-31 22:21:34 +02:00
Thomas Adamcik
a89d89d05f Merge pull request #127 from jodal/feature/mpris-frontend
feature/mpris-frontend
2011-07-31 09:05:08 -07:00
Stein Magnus Jodal
662a17e7ba Use mock.patch instead of assigning a mock to the imported module 2011-07-31 17:05:18 +02:00
Stein Magnus Jodal
ae4cd6a7de Extract .desktop file path to new setting DESKTOP_FILE 2011-07-29 22:35:46 +02:00
Thomas Adamcik
cb4f32cb58 Try to send directly in quene_send when we can to prevent uneeded context switches 2011-07-28 22:51:41 +02:00
Thomas Adamcik
3195476421 Rename old send tests to queue_send 2011-07-28 22:44:43 +02:00
Thomas Adamcik
93c16cc2cd Add tests for socket sending 2011-07-28 22:43:54 +02:00
Thomas Adamcik
4f6ddd3532 Add error handling tests for new send method 2011-07-28 22:41:53 +02:00
Thomas Adamcik
43f4f1537e Extract send to seperate method 2011-07-28 22:34:47 +02:00
Thomas Adamcik
13d4510e12 Rename send to send_queue in network.Connection 2011-07-28 22:28:17 +02:00
Stein Magnus Jodal
bd8471b353 Convert from listener impl to mock for testing actually emitting of events 2011-07-28 01:54:42 +02:00
Stein Magnus Jodal
596d29ebf6 Test that seek() emits seeked event 2011-07-28 01:17:39 +02:00
Stein Magnus Jodal
d14dbc5587 Split MPRIS frontend into multiple files. Fix some pylint warnings. 2011-07-28 01:03:51 +02:00
Stein Magnus Jodal
3c1ba51580 Add util method for emitting PropertiesChanged 2011-07-28 00:34:44 +02:00
Stein Magnus Jodal
2ad54204ee Emit mpris.Seeked signal on seek 2011-07-27 01:23:39 +02:00
Stein Magnus Jodal
607cdc7871 Add seeked event 2011-07-27 01:20:00 +02:00
Stein Magnus Jodal
3c2a944e8a Emit signal on volume change 2011-07-27 01:01:34 +02:00
Stein Magnus Jodal
db4f2d135f Add missing tests for default impl of listener methods 2011-07-27 00:53:18 +02:00
Stein Magnus Jodal
1399bb61dc Update listener method names to match interface 2011-07-27 00:49:18 +02:00
Stein Magnus Jodal
c7c9f6b718 Merge branch 'develop' into feature/mpris-frontend 2011-07-27 00:21:23 +02:00
Stein Magnus Jodal
7a2984528c Merge branch 'develop' into feature/mpris-frontend
Conflicts:
	mopidy/backends/base/playback.py
	mopidy/listeners.py
	tests/backends/events_test.py
	tests/listeners_test.py
2011-07-27 00:19:04 +02:00
Thomas Adamcik
fcaaa5e645 Remove workaround from last to commits in favor of fix of root cause. Problem was that 'elapsed' should be returned in seconds, not milliseconds 2011-07-27 00:08:17 +02:00
Stein Magnus Jodal
6e2bfcf3d5 Add test for previous commit 2011-07-26 10:57:20 +02:00
Thomas Adamcik
035af38b02 Merge branch 'develop' into feature/support-telnet
Conflicts:
	tests/utils/network/lineprotocol_test.py
2011-07-25 17:39:00 +02:00
Thomas Adamcik
9fe4674b36 Update on_received to handle that decode can fail 2011-07-25 01:24:19 +02:00
Thomas Adamcik
c724fcd7c9 Turns out idle and noidle are not commands that should be listed 2011-07-25 01:00:18 +02:00
Thomas Adamcik
4049b23c3f Add concept of delimeter to complemend terminator in LineProtocol 2011-07-25 00:50:41 +02:00
Thomas Adamcik
451b52fde5 Make sure we prevent timeouts when in idle mode 2011-07-24 01:59:32 +02:00
Thomas Adamcik
9895f5197c Test via on_receive instead of on_line_received to ensure timeout code is also tested 2011-07-23 14:48:52 +02:00
Thomas Adamcik
0e58d771cd Make tests check that response only has values once, fixes double OK bug 2011-07-23 03:58:26 +02:00
Thomas Adamcik
63dba5553f Move idle code from dispatcher to protocol.status module 2011-07-23 03:32:45 +02:00
Thomas Adamcik
171137504f Move subscriptions and events into context object 2011-07-23 02:30:13 +02:00
Thomas Adamcik
08d486785d Basic working version of idle command 2011-07-23 02:23:20 +02:00
Thomas Adamcik
37d5509a62 Merge branch 'develop' into feature/mpd-idle-support 2011-07-21 01:59:26 +02:00
Thomas Adamcik
b5a32a1dc3 Migrate authentication_test 2011-07-20 20:35:27 +02:00
Thomas Adamcik
df66a4234b Migrate command_list_test 2011-07-20 20:30:50 +02:00
Thomas Adamcik
15e6f1a6ca Cleanup imports and dispatcher assignment in protocol.BaseTestCase 2011-07-20 20:27:38 +02:00
Thomas Adamcik
f88a0a0090 Migrate connection_test and support any number of blanks as empty command 2011-07-20 20:23:14 +02:00
Thomas Adamcik
b445af7cfb Migrate reflection_test 2011-07-20 20:09:58 +02:00
Thomas Adamcik
730368dbeb Migrate regression_test 2011-07-20 20:00:25 +02:00
Thomas Adamcik
5d18c64bf9 Migrate stored_playlists_test 2011-07-20 19:44:06 +02:00
Thomas Adamcik
ec69ce2044 Partially migrate status_test 2011-07-20 19:36:03 +02:00
Thomas Adamcik
c3a498e62b Migrate stickers_test 2011-07-20 18:00:59 +02:00
Thomas Adamcik
93d2aa8240 Migrate music_db_test.py 2011-07-20 17:53:24 +02:00
Thomas Adamcik
c4a1692d92 Migrate current_playlist_test 2011-07-20 17:38:05 +02:00
Thomas Adamcik
523f5eb03a Migrate audo_output_test 2011-07-20 16:29:39 +02:00
Thomas Adamcik
6d444362a1 Cleanup imports in playback_test 2011-07-20 16:25:16 +02:00
Thomas Adamcik
3d1c47586e Match assertIn behaviour and rename helper to assertInResponse 2011-07-20 16:14:43 +02:00
Thomas Adamcik
da9b6470ba Switched playback test over to testing via MpdSession slightly higher level testing 2011-07-19 23:57:26 +02:00
Thomas Adamcik
215ed61b0b Update existing listener events to reflect that they only notify about track changes 2011-07-19 03:44:46 +02:00
Stein Magnus Jodal
a8459c1d9b Merge branch 'develop' into feature/mpris-frontend 2011-07-17 23:57:32 +02:00
Thomas Adamcik
1727a73f5f Merge branch 'develop' into feature/glib-loop
Conflicts:
	docs/changes.rst
2011-07-17 23:45:20 +02:00
Thomas Adamcik
292d0e26cf Fix minor issue in get_class bug caused by bad user input. 2011-07-17 04:18:24 +02:00
Thomas Adamcik
e2597ab23f Fix minor bug in settings subsystem that prevented _FILE/PATH settings to be set to None 2011-07-17 02:11:06 +02:00
Thomas Adamcik
d07a758f68 Update tests to reflect that server's socket errors should simply not be handeled 2011-07-17 00:42:37 +02:00
Thomas Adamcik
d2a9e3d1ec Make send_callback respect flags from gobject 2011-07-17 00:33:15 +02:00
Thomas Adamcik
c773998fd8 Stop actor if decode or encode fails 2011-07-17 00:26:50 +02:00
Thomas Adamcik
ffd4ae5045 Some more test cleanup and improvement 2011-07-17 00:06:10 +02:00
Thomas Adamcik
91b450bd6b Add tests for line protocol host and port properties 2011-07-16 22:56:43 +02:00
Thomas Adamcik
a1c382666f Split up tests into multiple files 2011-07-15 01:08:29 +02:00
Thomas Adamcik
e6781135ba Doubled checked most network.Server/Connection/LineProtocol tests 2011-07-15 00:48:47 +02:00
Thomas Adamcik
805a6fefd0 Lint fixing 2011-07-14 23:14:51 +02:00
Thomas Adamcik
e23476cc6f Cleanup some tests 2011-07-14 23:05:08 +02:00
Thomas Adamcik
fe6e4a65f5 Fix syntax error 2011-07-14 11:09:04 +02:00
Thomas Adamcik
cf48faad98 Remove log_* method from LineProtocol 2011-07-13 23:57:00 +02:00
Thomas Adamcik
66a89918c8 Add LineProtocol tests 2011-07-13 23:11:28 +02:00
Thomas Adamcik
ee6f5a651b Try to prevent recursive calls to stop 2011-07-13 22:43:57 +02:00
Thomas Adamcik
a49855abfa Improve error handling in connection code 2011-07-13 22:32:35 +02:00
Thomas Adamcik
51190c510a Switch to more robust checking of stop calls 2011-07-12 22:02:56 +02:00
Thomas Adamcik
2f1d32ba80 Add IsA helper to tests to provde any_int, any_str and any_unicode 2011-07-12 22:02:50 +02:00
Thomas Adamcik
b9286fb9ee Log why we are stopping 2011-07-12 03:48:02 +02:00
Thomas Adamcik
b5c6bc0442 Allways return true from recv_callback, rely on activly removing sources instead 2011-07-12 03:18:07 +02:00
Thomas Adamcik
8c9fc73550 Implement rest of connection tests 2011-07-12 03:15:30 +02:00
Thomas Adamcik
b14e019d98 Write up most of ConnectionTest, only callbacks to go 2011-07-12 02:10:42 +02:00
Thomas Adamcik
d9406420e3 Add missing reject_connection_test 2011-07-12 01:35:13 +02:00
Thomas Adamcik
6d7575a2db Changed test strategy to use mocks in better way, i.e. rewrote ServerTest 2011-07-12 01:32:14 +02:00
Thomas Adamcik
9b41eb17c5 Lint fixing 2011-07-11 23:55:33 +02:00
Thomas Adamcik
471ab6802a Add tests that backed the network.Server refactor 2011-07-11 18:57:03 +02:00
Thomas Adamcik
c3d7b3c77f Merge branch 'develop' into feature/glib-loop 2011-07-04 20:52:03 +02:00
Stein Magnus Jodal
2b5f942f44 Don't use asserts new in unittest2/Python 2.7 2011-07-04 19:04:57 +02:00
Thomas Adamcik
6e0d9905ed Sort imports 2011-07-04 00:40:50 +02:00
Thomas Adamcik
75984dda6a Merge branch 'develop' into feature/glib-loop
Conflicts:
	mopidy/core.py
	mopidy/frontends/mpd/__init__.py
2011-07-04 00:31:18 +02:00
Stein Magnus Jodal
8a49b1f325 Update MPRIS' Metadata on started_playing/stopped_playing 2011-06-29 18:10:27 +03:00
Stein Magnus Jodal
2812e7ad45 Update MPRIS' PlaybackStatus on play/stop/pause/resume 2011-06-29 17:53:23 +03:00
Stein Magnus Jodal
5c325b03a1 Change stopped_playing event arg from stop_position to time_position 2011-06-29 17:36:39 +03:00
Stein Magnus Jodal
ad246706c6 Add paused_playing and resumed_playing events 2011-06-29 17:33:19 +03:00
Stein Magnus Jodal
0e8fb5e7ac Change stopped_playing event arg from stop_position to time_position 2011-06-29 17:33:12 +03:00
Stein Magnus Jodal
8386381479 Test that backend actually sends the events 2011-06-29 17:33:12 +03:00
Stein Magnus Jodal
213796305b Test that backend actually sends the events 2011-06-29 16:22:28 +03:00
Stein Magnus Jodal
232d81aab8 Merge branch 'feature/event-listeners' into feature/mpris-frontend
Conflicts:
	docs/changes.rst
2011-06-27 19:49:07 +03:00
Stein Magnus Jodal
0794a8792a Add BackendListener interface to be impl by any who wants events from the backend 2011-06-27 19:39:43 +03:00
Stein Magnus Jodal
622a99ad3b Change uri_handlers to uri_schemes on backends 2011-06-27 18:02:02 +03:00
Stein Magnus Jodal
93f00ce7f2 Add check of URI schema to OpenUri 2011-06-22 00:28:51 +03:00
Stein Magnus Jodal
e5725bb26b Update SetPosition to support real track IDs instead of URIs 2011-06-22 00:18:08 +03:00
Stein Magnus Jodal
190faf745a 'shuffle' should be 'random' in our backend 2011-06-22 00:04:03 +03:00
Stein Magnus Jodal
3259a11c8d Test and implement mpris.Metadata property 2011-06-22 00:04:03 +03:00
Stein Magnus Jodal
90ce8b21bc Test and implement mpris.SupportedUriSchemes property 2011-06-22 00:04:02 +03:00
Stein Magnus Jodal
7faed379ef Check if CanPlay==true in OpenUri for consistency (even though the spec doesn't mention it) 2011-06-22 00:04:02 +03:00
Stein Magnus Jodal
26868401c6 Check if CanControl==true in set_Rate for consistency (even though the spec doesn't mention it) 2011-06-22 00:04:02 +03:00
Stein Magnus Jodal
3f325c936d Change uri_handlers to uri_schemes on backends 2011-06-22 00:04:02 +03:00
Stein Magnus Jodal
182f074222 Use new exit_process() function in mpris.Quit() 2011-06-20 19:47:16 +03:00
Stein Magnus Jodal
26b7f5e8b5 Test and implement all direct checks of CanGoNext==true 2011-06-20 15:29:22 +03:00
Stein Magnus Jodal
7f64ba3e72 Test and implement mpris.CanGoNext property 2011-06-20 15:27:21 +03:00
Stein Magnus Jodal
8f59b0fae8 Test and implement all direct checks of CanGoPrevious==true 2011-06-20 15:21:44 +03:00
Stein Magnus Jodal
70139e0b7b Test and implement mpris.CanGoPrevious property 2011-06-20 15:21:09 +03:00
Stein Magnus Jodal
4de7c242b7 Test and implement all direct checks of CanPlay==true 2011-06-20 15:11:25 +03:00
Stein Magnus Jodal
4013a2ec9a Test and implement mpris.CanPlay property 2011-06-20 15:11:25 +03:00
Stein Magnus Jodal
97111d710f Test and implement all direct checks of CanPause==true 2011-06-20 14:53:11 +03:00
Stein Magnus Jodal
27c4b68e0f Test and implement mpris.CanPause property 2011-06-20 14:49:22 +03:00
Stein Magnus Jodal
10eeb894cc Test and implement all direct checks of CanSeek==true 2011-06-20 14:44:23 +03:00
Stein Magnus Jodal
7c2d3cd541 Test and implement mpris.CanSeek property 2011-06-20 14:44:23 +03:00
Stein Magnus Jodal
c8bc52b4c6 Test and implement all direct checks of CanControl==true before doing the designated action 2011-06-20 14:44:22 +03:00
Stein Magnus Jodal
a4d73a8d7e Test and implement mpris.CanControl property 2011-06-20 14:44:22 +03:00