Example #1
0
    def __init__(self, *args, **kwargs):
        Lib.__init__(self, *args, **kwargs)

        self.play_lists_by_id = {}
        self.play_lists_by_name = {}
        self.play_list_by_hierarchy_name = {}
        self.play_lists = []
        for p in self.il['Playlists']:
            pl = Playlist(p["Playlist Persistent ID"],
                          p["Parent Persistent ID"] if "Parent Persistent ID" in p else None,
                          self, p["Name"])
            tracknum = 1
            if 'Playlist Items' in p:
                for track in p['Playlist Items']:
                    id=int(track['Track ID'])
                    t = self.songs[id]
                    t.playlist_order = tracknum
                    tracknum += 1
                    pl.tracks.append(t)

            self.play_lists_by_id[pl.id] = pl
            if pl.name not in self.play_lists_by_name:
                self.play_lists_by_name[pl.name] = []
            self.play_lists_by_name[pl.name].append(pl)
            self.play_lists.append(pl)
        for p in self.play_lists:
            self.play_list_by_hierarchy_name[self.get_playlist_hierarchy(p)] = p