Commit Graph

220 Commits

Author SHA1 Message Date
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
81fca7d686 Switch to time position from provider 2012-09-25 11:18:27 +02:00
Stein Magnus Jodal
b3f3cfe2a0 Use assert{Less,Greater}[EEqual] in tests 2012-09-25 11:18:26 +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
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
0559213da3 Move backend controllers to mopidy.core 2012-09-13 23:41:20 +02:00
Thomas Adamcik
4ffd06736e Update MPD frontend to use playback volume API. 2012-09-04 00:52:12 +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
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
219e723974 Fix crash on mismatching quotation (fixes #137) 2012-02-13 10:30:46 +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
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
13d4510e12 Rename send to send_queue in network.Connection 2011-07-28 22:28:17 +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
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
622a99ad3b Change uri_handlers to uri_schemes on backends 2011-06-27 18:02:02 +03:00
Thomas Adamcik
74aa96b300 Moved mpd session to mopidy.frontends.mpd 2011-06-17 01:44:22 +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
92937bd3ac Make the error_code a class attribute on MPD exceptions 2011-06-07 02:26:58 +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