Thomas Adamcik
5b7a6065e7
util: Add find_mtimes helper
2014-02-26 23:27:44 +01:00
Stein Magnus Jodal
30dde4e593
ext: Remove old extension API
...
As far as I know, all extensions except Mopidy-Arcam (not currently
maintained) and Mopidy-VKontakte already use the new API. Both of the
remaining extensions got open pull requests with the needed changes to use the
new API.
2014-02-17 11:44:57 +01:00
Thomas Adamcik
79ce2ab902
Merge branch 'develop' into feature/mpd-tokenized-requests
...
Conflicts:
docs/changelog.rst
2014-02-16 23:22:07 +01:00
Thomas Adamcik
8756c2bff5
review: Type fixing
2014-02-16 23:17:46 +01:00
Stein Magnus Jodal
4df730742d
Release v0.18.3
2014-02-16 21:46:21 +01:00
Stein Magnus Jodal
fa15e7a264
Bump version number to 0.18.2
2014-02-16 21:24:57 +01:00
Thomas Adamcik
2e6f716b72
Merge branch 'develop' into feature/mpd-tokenized-requests
...
Conflicts:
mopidy/mpd/protocol/stored_playlists.py
2014-01-30 22:48:28 +01:00
Stein Magnus Jodal
38d3c6ccf9
models: Make Playlist.last_modified milliseconds since Unix epoch
2014-01-28 23:57:02 +01:00
Thomas Adamcik
f24ca36e5a
mpd: Switch browse commands to common helper
2014-01-25 00:42:32 +01:00
Thomas Adamcik
3cec929bd7
Merge branch 'develop' into feature/mpd-tokenized-requests
...
Conflicts:
mopidy/mpd/protocol/music_db.py
tests/mpd/protocol/test_music_db.py
2014-01-24 19:38:56 +01:00
Thomas Adamcik
da724e6b77
Merge remote-tracking branch 'UncommonGoods/develop' into develop
2014-01-24 19:31:25 +01:00
Thomas Adamcik
e304b7fc2b
mpd: Use mopidy.mpd.exceptions in commands
2014-01-24 01:12:26 +01:00
Thomas Adamcik
86f5602023
mpd: Remove old command handlers
2014-01-24 00:35:10 +01:00
Thomas Adamcik
dc8d311bc3
mpd: Complete music db conversion with list
2014-01-24 00:23:05 +01:00
Thomas Adamcik
68aa0b556c
mpd: Convert search functions in music db
2014-01-23 23:58:42 +01:00
Stein Magnus Jodal
bf9499131a
Bump version number to 0.18.1
2014-01-23 23:19:51 +01:00
Thomas Adamcik
8f8bed5b87
mpd: Implement playlistinfo from current playlist
2014-01-23 23:12:25 +01:00
Thomas Adamcik
fddb299ed9
mpd: Update type converters naming and add UINT
...
Also adds tests for RANGE helper.
2014-01-23 21:31:18 +01:00
Thomas Adamcik
eb85f92d96
mpd: Store auth required and if command should be listed
2014-01-22 23:27:25 +01:00
nathanharper
039fc4b681
refactored mpd.protocol.music_db regex
...
got quote backreference working,
eliminated need for the non-capturing pattern,
fixed problem with quoted fields.
2014-01-22 05:16:38 -05:00
Thomas Adamcik
066fed1522
mpd: Update tokenizer to use mopidy.mpd.exceptions
2014-01-22 00:10:30 +01:00
Thomas Adamcik
756cf1518b
mpd: Add last missing error cases for tokenizer.
...
If we decide that exact error message parity is not needed these can and should
be removed as they complicate the tokenizer.
2014-01-21 23:20:24 +01:00
Thomas Adamcik
f7ec1fba01
mpd: Fix tokenizer error messages to match original protocol
2014-01-21 22:10:00 +01:00
Thomas Adamcik
f7aff706a8
mpd: Move commands tests to mpd directory
2014-01-21 21:14:30 +01:00
Thomas Adamcik
d445740318
mpd: Split out tokenizer and add proper errors.
2014-01-21 21:10:55 +01:00
Thomas Adamcik
335cf4e612
mpd: Return command name in find handler.
2014-01-21 20:40:49 +01:00
Thomas Adamcik
3c0cc1564c
local: Make browse test check ordering again
2014-01-20 23:22:15 +01:00
Thomas Adamcik
9ba168e9b9
local: Update browse cache code to add all directories
...
Tests have been updated to make sure multiple folders are added. We had
forgotten to add child folders to the ones that had already been created.
2014-01-19 22:21:02 +01:00
Thomas Adamcik
455f3dd403
mpd: Write commands helper for tokenized command handling
...
This provides a class which works as a command registry. Functions are added to
the registry through a method on the class `add`. Add acts as a decorator
taking in the name of the command and optionally type converters for arguments.
When handling requests, we can now tokenize the line, and then just pass the
arguments to our commands helper. It will lookup the correct handler and apply
any validation before calling the original function.
For the sake of testing the original function is not wrapped. This the
functions, and anything testing them directly can simply assume pre-converted
data as long as type annotations are in place.
A sample usage would be:
@protocol.commands.add('addid', position=protocol.integer)
def addid(context, uri, position=None)
pass
def handle_request(line):
tokens = protocol.tokenizer(line)
context = ...
result = protocol.commands.call(tokens, context=context)
2014-01-19 19:59:07 +01:00
Thomas Adamcik
b34a8c1f73
mpd: Add MPD tokenizer
...
- Adds tests for correctness of tokenizer (which also would have shown shlex
wouldn't have worked).
- Should conform with the original's behavior, though we won't be able to match
the error messages without a lot of extra work as a non-regexp version is
likely a no go on python due to speed.
2014-01-19 13:47:09 +01:00
Stein Magnus Jodal
1ea0978af5
dummy: Move dummy backend back into the mopidy package
2014-01-18 01:38:10 +01:00
Thomas Adamcik
e97e620635
local: Rename json test to new naming scheme
2014-01-18 01:35:33 +01:00
Stein Magnus Jodal
da71d7fb14
Merge pull request #647 from adamcik/feature/browse-by-uri
...
Convert browse API to be fully URI based.
2014-01-17 15:58:39 -08:00
Stein Magnus Jodal
31abe0bc93
mpd: Annotate exceptions with current command automatically ( fixes #649 )
2014-01-18 00:34:41 +01:00
Stein Magnus Jodal
06856851f7
local: Make search filters more robust ( fixes #635 )
2014-01-17 23:43:43 +01:00
Thomas Adamcik
43e16ddb65
mpd: Switch mpd to use path<->uri mapping for browsing
2014-01-17 17:16:24 +01:00
Thomas Adamcik
d6aa9fb013
local: Convert local browsing to uri based system.
2014-01-17 17:16:24 +01:00
Thomas Adamcik
999f478010
core: Update browse to use uri isntead of path
2014-01-17 17:16:24 +01:00
Thomas Adamcik
826419d829
backend/core: Switch to root_directory instead of name
2014-01-16 22:53:18 +01:00
Stein Magnus Jodal
300c5d2e64
Merge pull request #644 from adamcik/feature/scanner-tag-handling
...
Cleanup taglist handling and translation to tracks.
2014-01-15 15:10:26 -08:00
Stein Magnus Jodal
06719d0e66
Bump version to 0.18.0a1 for easier testing of updated extensions
2014-01-15 23:51:28 +01:00
Thomas Adamcik
81b920a9e4
model: Update to handle None in sets.
...
Also adds some missing tests for composers and performers.
2014-01-15 22:20:36 +01:00
Thomas Adamcik
3e9cd0c4b7
audio: Add tests for all fields that can be converted
2014-01-15 22:20:36 +01:00
Thomas Adamcik
ac9f106107
audio: Update how translator test data is built.
2014-01-15 22:20:36 +01:00
Thomas Adamcik
b0b5d4972f
models: Make .copy(foo=None) null out field.
2014-01-15 22:20:36 +01:00
Thomas Adamcik
807bedad85
audio: Change audio data convert to operate on taglists
2014-01-15 22:20:36 +01:00
Thomas Adamcik
7209b38aa6
audio: Nest tags in scan data return value
2014-01-15 22:20:36 +01:00
Thomas Adamcik
57798a2757
audio: Ensure tests can be run on their own
2014-01-15 22:20:35 +01:00
Stein Magnus Jodal
d698653d83
mpd: Implement "listallinfo" command ( fixes #145 )
2014-01-15 01:11:27 +01:00
Stein Magnus Jodal
afbff12ccc
mpd: Implement "listall" command
2014-01-15 00:52:01 +01:00