예제 #1
0
def HandleAudioTracks(name, thumb, page=1, **params):
    oc = ObjectContainer(title2=unicode(name))

    page = int(page)
    limit = common.get_elements_per_page()
    offset = (page-1)*limit

    response = service.get_tracks(limit=common.get_elements_per_page(), offset=offset, **params)

    for media in response['objects']:
        title = media['title']
        file = media['file']

        if media['album']['artist']:
            artist = media['album']['artist']['title']
        else:
            artist = ''

        format = 'mp3'
        url = service.BASE_URL + file

        oc.add(GetAudioTrack(title=unicode(title), thumb=thumb, artist=artist, format=format, url=url))

    music_queue.append_controls(oc, name=name, thumb=thumb, **params)

    common.add_pagination_to_response(response, page)
    pagination.append_controls(oc, response, callback=HandleAudioTracks, name=name, thumb=thumb, page=page, **params)

    return oc
예제 #2
0
def GetArtistMenu(id, title, thumb, **params):
    oc = ObjectContainer(title2=unicode(L("Artist") + " " + title))

    response1 = service.get_albums(artists=id, limit=1, offset=0,
                                         year__gte=common.get_start_music_year(),
                                         year__lte=common.get_end_music_year())
    count1 = int(response1['meta']['total_count'])

    if count1 > 0:
        oc.add(DirectoryObject(
            key=Callback(albums.HandleAlbums, title=unicode(L('Albums')) + " " + title, artists=id),
            title=unicode(L('Albums') + ' (' + str(count1) + ')'),
            thumb=thumb
        ))

    response2 = service.get_tracks(artists=id, limit=1, offset=0,
                                         year__gte=common.get_start_music_year(),
                                         year__lte=common.get_end_music_year())
    count2 = int(response2['meta']['total_count'])

    if count2 > 0:
        oc.add(DirectoryObject(
            key=Callback(audio_tracks.HandleAudioTracks, name=L('Audio Tracks') + " " + title, thumb=thumb, artists=id),
            title=unicode(L('Audio Tracks') + ' (' + response2['meta']['total_count'] + ')'),
            thumb=thumb
        ))

    music_queue.append_controls(oc, name=title, artists=id, thumb=thumb)

    return oc
예제 #3
0
def HandleCollection(title, collection__id, thumb):
    oc = ObjectContainer(title2=unicode(L(title)))

    key = Callback(audio_tracks.HandleAudioTracks, name=title, collection__id=collection__id, thumb=thumb)
    oc.add(DirectoryObject(key=key, title=unicode(title), thumb=thumb))

    music_queue.append_controls(oc, name=title, thumb=thumb, collection__id=collection__id)

    return oc
예제 #4
0
def HandleMusicGenre(title, genre__in, thumb):
    oc = ObjectContainer(title2=unicode(L(title)))

    key = Callback(albums.HandleAlbums, title=title, genre__in=genre__in)
    oc.add(DirectoryObject(key=key, title=unicode(title)))

    music_queue.append_controls(oc, name=title, thumb=thumb, genre__in=genre__in)

    common.add_search_music(oc)

    return oc
예제 #5
0
def HandleCollection(title, collection__id, thumb):
    oc = ObjectContainer(title2=unicode(L(title)))

    key = Callback(audio_tracks.HandleAudioTracks,
                   name=title,
                   collection__id=collection__id,
                   thumb=thumb)
    oc.add(DirectoryObject(key=key, title=unicode(title), thumb=thumb))

    music_queue.append_controls(oc,
                                name=title,
                                thumb=thumb,
                                collection__id=collection__id)

    return oc
예제 #6
0
def HandleDoubleAlbum(name, thumb, **params):
    oc = ObjectContainer(title2=unicode(name))

    response = service.get_albums(limit=common.get_elements_per_page(),
                                        year__gte=common.get_start_music_year(),
                                        year__lte=common.get_end_music_year(),
                                        **params)

    for media in response['objects']:
        id = media['id']
        title = media['title']
        thumb = media['thumbnail']

        key = Callback(audio_tracks.HandleAudioTracks, album=id, name=title, thumb=thumb)
        oc.add(DirectoryObject(key=key, title=unicode(title), thumb=thumb))

    music_queue.append_controls(oc, name=name, thumb=thumb, **params)

    return oc
예제 #7
0
def HandleDoubleAlbum(name, thumb, **params):
    oc = ObjectContainer(title2=unicode(name))

    response = service.get_albums(limit=common.get_elements_per_page(),
                                  year__gte=common.get_start_music_year(),
                                  year__lte=common.get_end_music_year(),
                                  **params)

    for media in response['objects']:
        id = media['id']
        title = media['title']
        thumb = media['thumbnail']

        key = Callback(audio_tracks.HandleAudioTracks,
                       album=id,
                       name=title,
                       thumb=thumb)
        oc.add(DirectoryObject(key=key, title=unicode(title), thumb=thumb))

    music_queue.append_controls(oc, name=name, thumb=thumb, **params)

    return oc