Commit Graph

318 Commits

Author SHA1 Message Date
Stein Magnus Jodal
219e723974 Fix crash on mismatching quotation (fixes #137) 2012-02-13 10:30:46 +01:00
Stein Magnus Jodal
f1ba8af0de Ignore MPRIS tests on OS X 2012-02-08 13:24:28 +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
a89d89d05f Merge pull request #127 from jodal/feature/mpris-frontend
feature/mpris-frontend
2011-07-31 09:05:08 -07:00
Stein Magnus Jodal
ae4cd6a7de Extract .desktop file path to new setting DESKTOP_FILE 2011-07-29 22:35:46 +02:00
Thomas Adamcik
13d4510e12 Rename send to send_queue in network.Connection 2011-07-28 22:28:17 +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
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