def PlaylistsMenu(id=None):
    oc = ObjectContainer(title2=L('Playlists'))

    playlists = API.get_all_playlists()
    for playlist in playlists:
        # This block is for normal selection of playlists
        if id == None:
            if 'type' in playlist and playlist['type'].lower(
            ) == 'user_generated':
                oc.add(
                    DirectoryObject(key=Callback(GetPlaylistContents,
                                                 name=playlist['name'],
                                                 id=playlist['id']),
                                    title=playlist['name']))
            else:
                oc.add(
                    DirectoryObject(key=Callback(GetSharedPlaylist,
                                                 name=playlist['name'],
                                                 token=playlist['shareToken']),
                                    title=playlist['name']))
        # This block is for when a song is being added to a playlist
        else:
            oc.add(
                DirectoryObject(key=Callback(AddToCollection,
                                             id=id,
                                             playlist=playlist['id'],
                                             type=1),
                                title=playlist['name']))

    oc.objects.sort(key=lambda obj: obj.title)
    return oc
def PlaylistsMenu(id=None):
    oc = ObjectContainer(title2=L('Playlists'))

    playlists = API.get_all_playlists()
    for playlist in playlists:
        # This block is for normal selection of playlists
        if id == None:
            if 'type' in playlist and playlist['type'].lower() == 'user_generated':
                oc.add(DirectoryObject(key=Callback(GetPlaylistContents, name=playlist['name'], id=playlist['id']), title=playlist['name']))
            else:
                oc.add(DirectoryObject(key=Callback(GetSharedPlaylist, name=playlist['name'], token=playlist['shareToken']), title=playlist['name']))
        # This block is for when a song is being added to a playlist
        else:
            oc.add(DirectoryObject(key=Callback(AddToCollection, id=id, playlist=playlist['id'], type=1), title=playlist['name']))

    oc.objects.sort(key=lambda obj: obj.title)
    return oc