예제 #1
0
 def get_entries(self, rel_path=None):
     root = Directory(self.directory.join(rel_path))
     entries = {}
     for song in self.songs:
         if song.directory.name.startswith(root.name):
             rel_depth = song.directory.get_depth() - \
                 root.get_depth()
             rel_path = song.directory.get_layer(root.name, 0)
             if rel_depth > 1:# and not rel_path in entries:
                 if rel_path not in entries:
                     entries[rel_path] = DirectoryEntry(\
                         parent=self.parent_widget, name=rel_path, \
                         start_screen=self.sing_screen, \
                         player=self.player, song_manager=self
                     )
                 if isinstance(entries[rel_path], DirectoryEntry):
                     entries[rel_path].entries.append(song)
             elif rel_depth == 1:
                 entries[rel_path] = SongEntry(\
                     parent = self.parent_widget, song = song, \
                     start_screen = self.sing_screen, \
                     player = self.player, song_manager=self,
                     start_button_text=self.parent_widget.song_start_text
                 )
     return entries