def report_tag_map(self, msg: str = '') -> None: """ :param msg: :return: """ # First sort by number of movies that each tag is # in a = sorted(self._tag_map, key=lambda key: len(self._tag_map[key]), reverse=True) playlist = Playlist.get_playlist('Tag_Frequency.report', append=False) for tag in a: movies_in = self._tag_map[tag] string_buffer = tag + ' : ' + str(len(movies_in)) separator = ' ' for movie in sorted(movies_in): if len(string_buffer) > 100: string_buffer = string_buffer + separator playlist.writeLine(string_buffer) string_buffer = ' ' string_buffer = string_buffer + separator + movie separator = ' ' playlist.writeLine(string_buffer) playlist.close()
def report_actor_frequency(self, msg: str = '') -> None: """ :param msg: :return: """ # First sort by number of movies that each actor is # in a = sorted(self._actor_map, key=lambda key: len(self._actor_map[key]), reverse=True) playlist = Playlist.get_playlist('Actor_Frequency.report', append=False) for actor in a: movies_in = self._actor_map[actor] string_buffer = actor + ' : ' + str(len(movies_in)) for movie in sorted(movies_in): if len(string_buffer) > 100: playlist.writeLine(string_buffer) string_buffer = ' ' string_buffer = string_buffer + ' ' + movie playlist.writeLine(string_buffer) playlist.close()
def report_genre_map(self, msg=''): # type: (str) -> None """ :param msg: :return: """ # First sort by number of movies that each genre is # in a = sorted(self._genre_map, key=lambda key: len( self._genre_map[key]), reverse=True) playlist = Playlist.get_playlist( 'Genre_Frequency.report', append=False) for genre in a: movies_in = self._genre_map[genre] string_buffer = genre + ' : ' + str(len(movies_in)) separator = ' ' for movie in sorted(movies_in): if len(string_buffer) > 100: string_buffer += separator playlist.writeLine(string_buffer) string_buffer = ' ' separator = ' ' string_buffer = string_buffer + separator + movie separator = ', ' playlist.writeLine(string_buffer) playlist.close()
def getUserPlaylists(username, client): playlists = {} results = client.user_playlists(username) if results: temp = { playlist['id']: Playlist(playlist, client) for playlist in results['items'] } playlists = {**playlists, **temp} while results['next']: results = client.next(results) temp = { playlist['id']: Playlist(playlist, client) for playlist in results['items'] } playlists = {**playlists, **temp} return playlists
def report_tags(tags: List[str]) -> None: """ :param tags: :return: """ string_buffer = '' separator = '' playlist = Playlist.get_playlist('Tags.report', append=False) for tag in tags: string_buffer = string_buffer + separator + tag separator = ', ' if len(string_buffer) > 100: string_buffer = string_buffer + separator playlist.writeLine(string_buffer) string_buffer = ' ' separator = '' playlist.close()
def report_genres(genres: List[str]) -> None: """ :param genres: :return: """ string_buffer = '' separator = '' playlist = Playlist.get_playlist('Genres.report', append=False) for genre in genres: string_buffer = string_buffer + separator + genre separator = ', ' if len(string_buffer) > 100: string_buffer = string_buffer + separator playlist.writeLine(string_buffer) string_buffer = ' ' separator = '' playlist.close()
def start_playing_trailers(self): # type: () -> None """ :return: """ # black_background = None try: if not xbmc.Player().isPlaying() and not self.check_for_xsqueeze(): if (self._started_as_screensaver and Settings.is_set_fullscreen_when_screensaver()): if not xbmc.getCondVisibility('System.IsFullscreen'): xbmc.executebuiltin('xbmc.Action(togglefullscreen)') # TODO: Use settings volume_was_adjusted = False if Settings.get_adjust_volume(): muted = xbmc.getCondVisibility(u"Player.Muted") if not muted and Settings.get_volume() == 0: xbmc.executebuiltin('xbmc.Mute()') else: volume = Settings.get_volume() if volume != 100: volume_was_adjusted = True xbmc.executebuiltin('XBMC.SetVolume(' + str(volume) + ')') self._player_container = PlayerContainer.get_instance() play_trailers() # TODO: Need to adjust whenever settings changes if volume_was_adjusted: muted = xbmc.getCondVisibility('Player.Muted') if muted and Settings.get_volume() == 0: xbmc.executebuiltin('xbmc.Mute()') else: # TODO: Looks fishy, why not set to what it was? current_volume = xbmc.getInfoLabel('Player.Volume') current_volume = int( (float(current_volume.split(' ')[0]) + 60.0) / 60.0 * 100.0) xbmc.executebuiltin('XBMC.SetVolume(' + str(current_volume) + ')') if logger.isEnabledFor(LazyLogger.DEBUG): self._logger.debug('Shutting down') Playlist.shutdown() else: self._logger.info( 'Exiting Random Trailers Screen Saver Something is playing!!!!!!' ) except AbortException: pass except Exception as e: self._logger.exception('') finally: if logger.isEnabledFor(LazyLogger.DEBUG_VERBOSE): self._logger.debug_verbose('Stopping xbmc.Player') # # Player is set to a dummy in the event that it is no longer in # Random Trailers control if (self._player_container is not None and self._player_container.get_player() is not None): self._player_container.get_player().stop() black_background = BlackBackground.get_instance() if black_background is not None: black_background.close() black_background.destroy() del black_background black_background = None