예제 #1
0
파일: music_db.py 프로젝트: arambelo/mopidy
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())
예제 #2
0
파일: music_db.py 프로젝트: arambelo/mopidy
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())
예제 #3
0
파일: music_db.py 프로젝트: xim/mopidy
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())
예제 #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)
예제 #5
0
파일: music_db.py 프로젝트: xim/mopidy
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())
예제 #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)
예제 #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])
예제 #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])
예제 #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')
예제 #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')
예제 #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)
예제 #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)
예제 #13
0
파일: models.py 프로젝트: ruudud/mopidy
 def mpd_format(self, *args, **kwargs):
     from mopidy.frontends.mpd import translator
     return translator.playlist_to_mpd_format(self, *args, **kwargs)
예제 #14
0
파일: models.py 프로젝트: bok/mopidy
 def mpd_format(self, *args, **kwargs):
     return translator.playlist_to_mpd_format(self, *args, **kwargs)