Example #1
0
def search(context, mpd_query):
    """
    *musicpd.org, music database section:*

        ``search {TYPE} {WHAT}``

        Searches for any song that contains ``WHAT``. ``TYPE`` can be
        ``title``, ``artist``, ``album`` or ``filename``. Search is not
        case sensitive.

    *GMPC:*

    - does not add quotes around the field argument.
    - uses the undocumented field ``any``.
    - searches for multiple words like this::

        search any "foo" any "bar" any "baz"

    *ncmpc:*

    - does not add quotes around the field argument.
    - capitalizes the field argument.

    *ncmpcpp:*

    - also uses the search type "date".
    """
    query = _build_query(mpd_query)
    return playlist_to_mpd_format(
        context.backend.library.search(**query).get())
Example #2
0
def find(context, mpd_query):
    """
    *musicpd.org, music database section:*

        ``find {TYPE} {WHAT}``

        Finds songs in the db that are exactly ``WHAT``. ``TYPE`` should be
        ``album``, ``artist``, or ``title``. ``WHAT`` is what to find.

    *GMPC:*

    - does not add quotes around the field argument.
    - also uses ``find album "[ALBUM]" artist "[ARTIST]"`` to list album
      tracks.

    *ncmpc:*

    - does not add quotes around the field argument.
    - capitalizes the type argument.

    *ncmpcpp:*

    - also uses the search type "date".
    """
    query = _build_query(mpd_query)
    return playlist_to_mpd_format(
        context.backend.library.find_exact(**query).get())
Example #3
0
def find(context, mpd_query):
    """
    *musicpd.org, music database section:*

        ``find {TYPE} {WHAT}``

        Finds songs in the db that are exactly ``WHAT``. ``TYPE`` should be
        ``album``, ``artist``, or ``title``. ``WHAT`` is what to find.

    *GMPC:*

    - does not add quotes around the field argument.
    - also uses ``find album "[ALBUM]" artist "[ARTIST]"`` to list album
      tracks.

    *ncmpc:*

    - does not add quotes around the field argument.
    - capitalizes the type argument.

    *ncmpcpp:*

    - also uses the search type "date".
    """
    query = _build_query(mpd_query)
    return playlist_to_mpd_format(
        context.backend.library.find_exact(**query).get())
Example #4
0
 def test_mpd_format(self):
     playlist = Playlist(
         tracks=[Track(track_no=1),
                 Track(track_no=2),
                 Track(track_no=3)])
     result = translator.playlist_to_mpd_format(playlist)
     self.assertEqual(len(result), 3)
Example #5
0
def search(context, mpd_query):
    """
    *musicpd.org, music database section:*

        ``search {TYPE} {WHAT}``

        Searches for any song that contains ``WHAT``. ``TYPE`` can be
        ``title``, ``artist``, ``album`` or ``filename``. Search is not
        case sensitive.

    *GMPC:*

    - does not add quotes around the field argument.
    - uses the undocumented field ``any``.
    - searches for multiple words like this::

        search any "foo" any "bar" any "baz"

    *ncmpc:*

    - does not add quotes around the field argument.
    - capitalizes the field argument.

    *ncmpcpp:*

    - also uses the search type "date".
    """
    query = _build_query(mpd_query)
    return playlist_to_mpd_format(
        context.backend.library.search(**query).get())
Example #6
0
 def test_mpd_format_with_range(self):
     playlist = Playlist(
         tracks=[Track(track_no=1),
                 Track(track_no=2),
                 Track(track_no=3)])
     result = translator.playlist_to_mpd_format(playlist, 1, 2)
     self.assertEqual(len(result), 1)
     self.assertEqual(dict(result[0])['Track'], 2)
Example #7
0
def listplaylistinfo(context, name):
    """
    *musicpd.org, stored playlists section:*

        ``listplaylistinfo {NAME}``

        Lists songs in the playlist ``NAME.m3u``.

    Output format:

        Standard track listing, with fields: file, Time, Title, Date,
        Album, Artist, Track
    """
    playlists = context.core.playlists.filter(name=name).get()
    if not playlists:
        raise MpdNoExistError('No such playlist', command='listplaylistinfo')
    return playlist_to_mpd_format(playlists[0])
Example #8
0
def listplaylistinfo(context, name):
    """
    *musicpd.org, stored playlists section:*

        ``listplaylistinfo {NAME}``

        Lists songs in the playlist ``NAME.m3u``.

    Output format:

        Standard track listing, with fields: file, Time, Title, Date,
        Album, Artist, Track
    """
    playlists = context.core.playlists.filter(name=name).get()
    if not playlists:
        raise MpdNoExistError('No such playlist', command='listplaylistinfo')
    return playlist_to_mpd_format(playlists[0])
Example #9
0
def listplaylistinfo(context, name):
    """
    *musicpd.org, stored playlists section:*

        ``listplaylistinfo {NAME}``

        Lists songs in the playlist ``NAME.m3u``.

    Output format:

        Standard track listing, with fields: file, Time, Title, Date,
        Album, Artist, Track
    """
    try:
        playlist = context.backend.stored_playlists.get(name=name).get()
        return playlist_to_mpd_format(playlist)
    except LookupError:
        raise MpdNoExistError(u'No such playlist', command=u'listplaylistinfo')
Example #10
0
def listplaylistinfo(context, name):
    """
    *musicpd.org, stored playlists section:*

        ``listplaylistinfo {NAME}``

        Lists songs in the playlist ``NAME.m3u``.

    Output format:

        Standard track listing, with fields: file, Time, Title, Date,
        Album, Artist, Track
    """
    try:
        playlist = context.backend.stored_playlists.get(name=name).get()
        return playlist_to_mpd_format(playlist)
    except LookupError:
        raise MpdNoExistError(
            u'No such playlist', command=u'listplaylistinfo')
Example #11
0
 def test_mpd_format_with_range(self):
     playlist = Playlist(tracks=[
         Track(track_no=1), Track(track_no=2), Track(track_no=3)])
     result = translator.playlist_to_mpd_format(playlist, 1, 2)
     self.assertEqual(len(result), 1)
     self.assertEqual(dict(result[0])['Track'], 2)
Example #12
0
 def test_mpd_format(self):
     playlist = Playlist(tracks=[
         Track(track_no=1), Track(track_no=2), Track(track_no=3)])
     result = translator.playlist_to_mpd_format(playlist)
     self.assertEqual(len(result), 3)
Example #13
0
 def mpd_format(self, *args, **kwargs):
     from mopidy.frontends.mpd import translator
     return translator.playlist_to_mpd_format(self, *args, **kwargs)
Example #14
0
File: models.py Project: bok/mopidy
 def mpd_format(self, *args, **kwargs):
     return translator.playlist_to_mpd_format(self, *args, **kwargs)