Commit Graph

303 Commits

Author SHA1 Message Date
Stein Magnus Jodal
3c2a944e8a Emit signal on volume change 2011-07-27 01:01:34 +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
c724fcd7c9 Turns out idle and noidle are not commands that should be listed 2011-07-25 01:00:18 +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
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
Stein Magnus Jodal
a8459c1d9b Merge branch 'develop' into feature/mpris-frontend 2011-07-17 23:57:32 +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
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
Stein Magnus Jodal
22cba6f75c Test and implement mpris.OpenUri 2011-06-20 00:15:13 +03:00
Thomas Adamcik
74aa96b300 Moved mpd session to mopidy.frontends.mpd 2011-06-17 01:44:22 +02:00
Stein Magnus Jodal
1b075ac4a4 Test and implement mpris.Position property 2011-06-11 00:07:18 +02:00
Stein Magnus Jodal
84ac7b3e6a Test and implement mpris.Volume property 2011-06-11 00:01:42 +02:00
Stein Magnus Jodal
3df3527c73 Test and implement mpris.Shuffle property 2011-06-10 20:42:34 +02:00
Stein Magnus Jodal
e1fc403435 Test and implement mpris.Rate property 2011-06-10 20:35:45 +02:00
Stein Magnus Jodal
5d1da4eeaf Test and implement mpris.SetPosition() 2011-06-10 20:21:55 +02:00
Stein Magnus Jodal
4404e34a79 Test and implement mpris.Seek() 2011-06-10 19:55:59 +02:00
Stein Magnus Jodal
1a6d577ed5 Test and implement mpris.Play() 2011-06-10 19:39:36 +02:00
Stein Magnus Jodal
7c6c48feaa Merge branch 'develop' into feature/mpris-frontend 2011-06-07 16:30:05 +02:00
Thomas Adamcik
6575dafcb9 Merge branch 'develop' into feature/extract-socket-code 2011-06-07 15:51:34 +02:00
Thomas Adamcik
d664c11e22 Pull network related functions out of mopidy.frontends.mpd.server 2011-06-07 14:09:15 +02:00
Stein Magnus Jodal
61375f0edc Merge branch 'develop' into feature/mpris-frontend
Conflicts:
	docs/changes.rst
2011-06-07 02:30:01 +02:00
Stein Magnus Jodal
92937bd3ac Make the error_code a class attribute on MPD exceptions 2011-06-07 02:26:58 +02:00
Stein Magnus Jodal
25d0b3d262 Test mpris.Stop() 2011-06-07 00:48:19 +02:00
Stein Magnus Jodal
8bea548518 Test and implement mpris.PlayPause() 2011-06-07 00:43:07 +02:00
Stein Magnus Jodal
5f7e905603 Add missing __init__.py in MPRIS test dir 2011-06-07 00:08:48 +02:00
Stein Magnus Jodal
9de9d91020 Remove unused import and mock 2011-06-07 00:08:33 +02:00
Stein Magnus Jodal
b99b68209e Test mpris.Pause() 2011-06-06 11:07:26 +02:00
Stein Magnus Jodal
3eecfac9f1 Test state changes on mpris.Previous() 2011-06-05 15:56:24 +02:00
Stein Magnus Jodal
136daac6a2 Test state changes on mpris.Next() 2011-06-05 15:49:15 +02:00
Stein Magnus Jodal
167384af60 Use 'mpris' instead of 'mpris_object' in tests 2011-06-05 14:14:50 +02:00
Stein Magnus Jodal
e407d8a4bb Implement setting of LoopStatus 2011-06-05 14:13:12 +02:00
Stein Magnus Jodal
9c0e139c17 Switch from mocking the backend to using DummyBackend 2011-06-05 14:10:14 +02:00
Stein Magnus Jodal
7f20cf4e83 Implement getting of LoopStatus 2011-06-05 02:21:36 +02:00
Stein Magnus Jodal
f3cfa22c75 Implement PlaybackStatus property 2011-06-05 02:15:37 +02:00
Stein Magnus Jodal
f038c338b1 Add missing DesktopEntry property to root interface 2011-06-05 01:44:45 +02:00
Stein Magnus Jodal
b21f1caa2b Test properties of the root interface 2011-06-05 01:44:45 +02:00
Stein Magnus Jodal
fbf3d23fd8 Some initial simple unit testing of the MPRIS frontend, without real D-Bus or real backend 2011-06-05 01:44:42 +02:00
Stein Magnus Jodal
6c68b17b45 Fix 'commands' and 'notcommands' for unauthenticated users
Use newly gained access to the current user's authentication state and
the command handler's auth_required flag to give correct 'commands' and
'notcommands' output to unauthenticated users when password
authentication is activated.
2011-06-04 19:44:16 +02:00
Stein Magnus Jodal
601a0f0a45 You are always authenticated when MPD_SERVER_PASSWORD==None 2011-06-04 19:02:20 +02:00
Stein Magnus Jodal
e68d715d3e Rename handle_pattern decorator to handle_request 2011-06-04 18:51:18 +02:00
Stein Magnus Jodal
08f085fd8d Refactor MpdDispatcher to use a filter model, like Java Servlets. Password authentication handling becomes much cleaner. 2011-06-04 02:21:14 +02:00
Stein Magnus Jodal
a68bdae751 Move MPD authentication check from MpdSession to MpdDispatcher 2011-06-04 00:42:51 +02:00
Stein Magnus Jodal
1db84dccca Refactor MpdDispatcher.handle_request 2011-06-04 00:33:57 +02:00
Stein Magnus Jodal
bf175a3dce Rename one letter variable in tests 2011-06-03 23:58:24 +02:00
Stein Magnus Jodal
c9506ca7e1 List 'kill' MPD command in 'notcommands' instead of 'commands' 2011-06-03 23:32:19 +02:00
Stein Magnus Jodal
7f7d79b21f Return permission error on use of MPD command 'kill' 2011-06-03 23:31:52 +02:00
Stein Magnus Jodal
c84639b197 Add MpdPermissionError exception 2011-06-03 23:25:00 +02:00
Stein Magnus Jodal
9545da4b4e Refactor MPD dispatcher 2011-06-03 22:37:05 +02:00
Stein Magnus Jodal
52ee117153 Merge branch 'feature/clean-shutdown' into feature/mpd-improvements 2011-06-03 22:35:48 +02:00
Stein Magnus Jodal
30d6d6f29e Close client connection on MPD command 'close' 2011-06-03 17:18:38 +02:00
Stein Magnus Jodal
cbdc37a24d Replace all single letter instance variables in MPD protocol tests 2011-06-03 16:52:52 +02:00
Stein Magnus Jodal
d57727282e Create new MpdContext object which is passed to command handlers 2011-06-03 16:34:47 +02:00
Stein Magnus Jodal
86e90f14c6 Add MpdSystemError exception 2011-05-25 21:58:34 +02:00
Thomas Adamcik
0b91b26910 Check if creation of IPv6 sockets works before using it (fixes #75) 2011-04-23 18:15:28 +02:00
Stein Magnus Jodal
342c13f811 Fix 'song: None' in 'status' response 2011-04-06 22:40:50 +02:00
Stein Magnus Jodal
dec1643e7f Merge remote-tracking branch 'grunskis/develop' into develop 2011-04-05 21:37:21 +02:00
Stein Magnus Jodal
20e55873e9 Update MPD/command list 2011-03-20 01:10:32 +01:00
Stein Magnus Jodal
f0ebc24234 Update MPD/stored playlists 2011-03-20 01:04:18 +01:00
Stein Magnus Jodal
289cefc53a Update MPD/stickers 2011-03-20 00:58:13 +01:00
Stein Magnus Jodal
0de8d1b4b8 Update MPD/status 2011-03-20 00:56:43 +01:00
Stein Magnus Jodal
f73268c332 Update MPD/server 2011-03-20 00:38:09 +01:00
Stein Magnus Jodal
21153dd52b Update MPD/regression tests 2011-03-20 00:29:43 +01:00
Stein Magnus Jodal
2e1ea8080e Update MPD/reflection 2011-03-20 00:21:43 +01:00
Stein Magnus Jodal
cbe727d2bd Update MPD/playback 2011-03-20 00:19:30 +01:00
Stein Magnus Jodal
1048795f2b Update working MPD tests to start mixer actor 2011-03-20 00:17:31 +01:00
Stein Magnus Jodal
517a2a9356 Update MPD/music_db 2011-03-19 18:05:09 +01:00
Stein Magnus Jodal
4e82730732 Update MPD/dispatcher 2011-03-19 17:57:06 +01:00
Stein Magnus Jodal
0d57a74cb3 Update MPD/current_playlist 2011-03-19 17:55:05 +01:00
Stein Magnus Jodal
88780c717b Update MPD/connection 2011-03-19 17:55:00 +01:00
Stein Magnus Jodal
a4a015af1d Update MPD/audio_output 2011-03-19 17:54:57 +01:00
Stein Magnus Jodal
b89150f5d2 Skip tests instead of commenting them out 2011-02-12 02:21:38 +01:00
Stein Magnus Jodal
163ead53da Add 'play -1' support when playing 2011-02-12 02:03:18 +01:00
Stein Magnus Jodal
15c992e06a Add 'play -1' support, which fixes resume in MPoD 2011-02-12 01:45:36 +01:00
Stein Magnus Jodal
2463fdd945 Fix test that was declared twice 2011-02-12 01:38:44 +01:00
Martins Grunskis
159831c6e7 mopidy-scan fails if track has no artist name
stack trace:

    Traceback (most recent call last):
      File ./scan, line 27, in <module>
        for a in tracks_to_tag_cache_format(tracks):
      File /home/martins/source/mopidy/mopidy/frontends/mpd/translator.py, line 138, in tracks_to_tag_cache_format
        _add_to_tag_cache(result, *tracks_to_directory_tree(tracks))
      File /home/martins/source/mopidy/mopidy/frontends/mpd/translator.py, line 151, in _add_to_tag_cache
        _add_to_tag_cache(result, *entry)
      File /home/martins/source/mopidy/mopidy/frontends/mpd/translator.py, line 156, in _add_to_tag_cache
        track_result = dict(track_to_mpd_format(track))
      File /home/martins/source/mopidy/mopidy/frontends/mpd/translator.py, line 28, in track_to_mpd_format
        ('Artist', artists_to_mpd_format(track.artists)),
      File /home/martins/source/mopidy/mopidy/frontends/mpd/translator.py, line 88, in artists_to_mpd_format
        return u', '.join([a.name for a in artists if a])
    TypeError: sequence item 0: expected string or Unicode, NoneType found
2011-02-09 18:48:15 +02:00
Stein Magnus Jodal
5e87dcbfff Add 'date' query support to 'find' and 'search' to improve ncmpcpp media library browsing 2011-01-28 11:52:18 +01:00
Stein Magnus Jodal
c097af1a83 Fix a bunch of pylint errors/warnings in test suite 2011-01-23 18:39:05 +01:00
Stein Magnus Jodal
e1197ed84c Change default value of MPD_SERVER_PASSWORD from False to None 2011-01-21 16:31:35 +01:00
Stein Magnus Jodal
775ec64976 Test and improve password handling in MpdSession 2011-01-21 02:15:27 +01:00
Stein Magnus Jodal
8f0e00e1d7 Implement 'password' command which will be reached post-auth 2011-01-21 00:17:01 +01:00
Stein Magnus Jodal
3eb1d47765 Fix seek for Droid MPD 2011-01-09 23:46:03 +01:00
Stein Magnus Jodal
469e5fa189 Fix volume setting for Droid MPD 2011-01-09 23:38:46 +01:00
Stein Magnus Jodal
827940a977 Update Git repo references in tests 2010-11-23 09:39:40 +01:00
Stein Magnus Jodal
b7a0d75372 Merge branch 'feature/split-controllers-and-providers' into develop 2010-11-03 00:09:36 +01:00
Stein Magnus Jodal
13ece43363 Split BaseLibraryController in controller and provider 2010-11-02 23:08:54 +01:00
Thomas Adamcik
37222d66f5 Add albumartistid to frontent 2010-11-02 01:00:11 +01:00
Thomas Adamcik
31933c2c2f Fix musicbrainz support in mpd format track 2010-11-02 00:43:03 +01:00
Thomas Adamcik
e7a7d342b8 Add tests for musicbrainz in mpd formated tracks 2010-11-02 00:36:01 +01:00
Thomas Adamcik
5974d696f1 Refactor mpd formater test 2010-11-02 00:36:01 +01:00
Thomas Adamcik
dd25fadd8b Track result should contain key 2010-11-01 23:23:59 +01:00
Thomas Adamcik
8bfa7d2937 Update tag cache code so it adds mtime and file that is relative 2010-11-01 23:16:49 +01:00
Thomas Adamcik
4ac1d8d217 Remove mtime and key from track_to_mpd_format 2010-11-01 23:09:21 +01:00
Thomas Adamcik
c513d0f6e7 Rename settings that have dirs or file to _PATH and _FILE 2010-11-01 00:37:55 +01:00
Thomas Adamcik
357591e97e Introduce concept of mpd ordered track info for simpler diffing of tag caches 2010-10-30 21:53:59 +02:00
Thomas Adamcik
b9976c4cda Remove uri_to_mpd_relative_path 2010-10-30 21:26:08 +02:00
Thomas Adamcik
d67bfb9aee Use new mtime helper 2010-10-30 20:58:41 +02:00
Thomas Adamcik
9a99bc46bf Add album artist to track to mpd format 2010-10-30 20:46:47 +02:00
Thomas Adamcik
6049c7a094 Turn track_artists_to_mpd_format into artists_to_mpd_format 2010-10-30 20:41:45 +02:00
Thomas Adamcik
ea74f539ba Fix mistakes in tag cache generation 2010-10-30 01:06:26 +02:00
Thomas Adamcik
96d4633306 Ensure that key does not have uri encoded strings 2010-10-30 00:40:01 +02:00
Thomas Adamcik
ca95a510c9 Ensure that mtime is included 2010-10-30 00:37:42 +02:00
Thomas Adamcik
7559426c50 Add test for files in multiple directories 2010-10-29 23:56:01 +02:00
Thomas Adamcik
93eda1c81e Extra test for multiple top level files 2010-10-29 23:46:40 +02:00