def browse(self, uri): result = [] variant, identifier = translator.parse_uri(uri) logger.debug('Browsing %s' % uri) if variant == 'root': for category in self.backend.tunein.categories(): result.append(translator.category_to_ref(category)) elif variant == "category" and identifier: for section in self.backend.tunein.categories(identifier): result.append(translator.section_to_ref(section, identifier)) elif variant == "location" and identifier: for location in self.backend.tunein.locations(identifier): result.append(translator.section_to_ref(location, 'local')) for station in self.backend.tunein.stations(identifier): result.append(translator.station_to_ref(station)) elif variant == "section" and identifier: if (self.backend.tunein.related(identifier)): result.append( Ref.directory(uri='tunein:related:%s' % identifier, name='Related')) if (self.backend.tunein.shows(identifier)): result.append( Ref.directory(uri='tunein:shows:%s' % identifier, name='Shows')) for station in self.backend.tunein.featured(identifier): result.append(translator.section_to_ref(station)) for station in self.backend.tunein.local(identifier): result.append(translator.station_to_ref(station)) for station in self.backend.tunein.stations(identifier): result.append(translator.station_to_ref(station)) elif variant == "related" and identifier: for section in self.backend.tunein.related(identifier): result.append(translator.section_to_ref(section)) elif variant == "shows" and identifier: for show in self.backend.tunein.shows(identifier): result.append(translator.show_to_ref(show)) elif variant == "episodes" and identifier: for episode in self.backend.tunein.episodes(identifier): result.append(translator.station_to_ref(episode)) else: logger.debug('Unknown URI: %s', uri) return result
def browse(self, uri): result = [] variant, identifier = translator.parse_uri(uri) logger.debug(f"Browsing {uri!r}") if variant == "root": for category in self.backend.tunein.categories(): result.append(translator.category_to_ref(category)) elif variant == "category" and identifier: for section in self.backend.tunein.categories(identifier): result.append(translator.section_to_ref(section, identifier)) elif variant == "location" and identifier: for location in self.backend.tunein.locations(identifier): result.append(translator.section_to_ref(location, "local")) for station in self.backend.tunein.stations(identifier): result.append(translator.station_to_ref(station)) elif variant == "section" and identifier: if self.backend.tunein.related(identifier): result.append( Ref.directory(uri=f"tunein:related:{identifier}", name="Related")) if self.backend.tunein.shows(identifier): result.append( Ref.directory(uri=f"tunein:shows:{identifier}", name="Shows")) for station in self.backend.tunein.featured(identifier): result.append(translator.section_to_ref(station)) for station in self.backend.tunein.local(identifier): result.append(translator.station_to_ref(station)) for station in self.backend.tunein.stations(identifier): result.append(translator.station_to_ref(station)) elif variant == "related" and identifier: for section in self.backend.tunein.related(identifier): result.append(translator.section_to_ref(section)) elif variant == "shows" and identifier: for show in self.backend.tunein.shows(identifier): result.append(translator.show_to_ref(show)) elif variant == "episodes" and identifier: for episode in self.backend.tunein.episodes(identifier): result.append(translator.station_to_ref(episode)) else: logger.debug(f"Unknown URI: {uri!r}") return result
def browse(self, uri): result = [] variant, identifier = translator.parse_uri(uri) logger.debug('Browsing %s' % uri) if variant == 'root': for category in self.backend.tunein.categories(): result.append(translator.category_to_ref(category)) elif variant == "category" and identifier: for section in self.backend.tunein.categories(identifier): result.append(translator.section_to_ref(section, identifier)) elif variant == "location" and identifier: for location in self.backend.tunein.locations(identifier): result.append(translator.section_to_ref(location, 'local')) for station in self.backend.tunein.stations(identifier): result.append(translator.station_to_ref(station)) elif variant == "section" and identifier: if (self.backend.tunein.related(identifier)): result.append(Ref.directory( uri='tunein:related:%s' % identifier, name='Related')) if (self.backend.tunein.shows(identifier)): result.append(Ref.directory( uri='tunein:shows:%s' % identifier, name='Shows')) for station in self.backend.tunein.featured(identifier): result.append(translator.section_to_ref(station)) for station in self.backend.tunein.local(identifier): result.append(translator.station_to_ref(station)) for station in self.backend.tunein.stations(identifier): result.append(translator.station_to_ref(station)) elif variant == "related" and identifier: for section in self.backend.tunein.related(identifier): result.append(translator.section_to_ref(section)) elif variant == "shows" and identifier: for show in self.backend.tunein.shows(identifier): result.append(translator.show_to_ref(show)) elif variant == "episodes" and identifier: for episode in self.backend.tunein.episodes(identifier): result.append(translator.station_to_ref(episode)) else: logger.debug('Unknown URI: %s', uri) return result