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