From b1f0a67dd42e8fdf041250514611003f5130f642 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sat, 15 Dec 2012 23:43:45 +0100 Subject: [PATCH] mpd: Reuse query regexp. Fix 'filename' expression --- mopidy/frontends/mpd/protocol/music_db.py | 31 ++++++++--------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/mopidy/frontends/mpd/protocol/music_db.py b/mopidy/frontends/mpd/protocol/music_db.py index 66735538..7cdfc5e0 100644 --- a/mopidy/frontends/mpd/protocol/music_db.py +++ b/mopidy/frontends/mpd/protocol/music_db.py @@ -8,6 +8,11 @@ from mopidy.frontends.mpd.protocol import handle_request, stored_playlists from mopidy.frontends.mpd.translator import tracks_to_mpd_format +QUERY_RE = ( + r'(?P("?([Aa]lbum|[Aa]rtist|[Dd]ate|[Ff]ile|[Ff]ilename|' + r'[Tt]itle|[Aa]ny)"? "[^"]*"\s?)+)$') + + def _build_query(mpd_query): """ Parses a MPD query string and converts it to the Mopidy query format. @@ -50,10 +55,7 @@ def count(context, tag, needle): return [('songs', 0), ('playtime', 0)] # TODO -@handle_request( - r'^find ' - r'(?P("?([Aa]lbum|[Aa]rtist|[Dd]ate|[Ff]ile[name]*|' - r'[Tt]itle|[Aa]ny)"? "[^"]*"\s?)+)$') +@handle_request(r'^find ' + QUERY_RE) def find(context, mpd_query): """ *musicpd.org, music database section:* @@ -89,10 +91,7 @@ def find(context, mpd_query): return tracks_to_mpd_format(result) -@handle_request( - r'^findadd ' - r'(?P("?([Aa]lbum|[Aa]rtist|[Dd]ate|[Ff]ile[name]*|' - r'[Tt]itle|[Aa]ny)"? "[^"]*"\s?)+)$') +@handle_request(r'^findadd ' + QUERY_RE) def findadd(context, mpd_query): """ *musicpd.org, music database section:* @@ -339,10 +338,7 @@ def rescan(context, uri=None): return update(context, uri, rescan_unmodified_files=True) -@handle_request( - r'^search ' - r'(?P("?([Aa]lbum|[Aa]rtist|[Dd]ate|[Ff]ile[name]*|' - r'[Tt]itle|[Aa]ny)"? "[^"]*"\s?)+)$') +@handle_request(r'^search ' + QUERY_RE) def search(context, mpd_query): """ *musicpd.org, music database section:* @@ -378,10 +374,7 @@ def search(context, mpd_query): return tracks_to_mpd_format(result) -@handle_request( - r'^searchadd ' - r'(?P("?([Aa]lbum|[Aa]rtist|[Dd]ate|[Ff]ile[name]*|' - r'[Tt]itle|[Aa]ny)"? "[^"]*"\s?)+)$') +@handle_request(r'^searchadd ' + QUERY_RE) def searchadd(context, mpd_query): """ *musicpd.org, music database section:* @@ -402,11 +395,7 @@ def searchadd(context, mpd_query): context.core.tracklist.add(result) -@handle_request( - r'^searchaddpl ' - r'"(?P[^"]+)" ' - r'(?P("?([Aa]lbum|[Aa]rtist|[Dd]ate|[Ff]ile[name]*|' - r'[Tt]itle|[Aa]ny)"? "[^"]*"\s?)+)$') +@handle_request(r'^searchaddpl "(?P[^"]+)" ' + QUERY_RE) def searchaddpl(context, playlist_name, mpd_query): """ *musicpd.org, music database section:*