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()
예제 #4
0
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()
예제 #7
0
    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