Ejemplo n.º 1
0
    def set_rating(self, rating):
        assert isinstance(rating, (int, str))
        if isinstance(rating, str):
            self._rating_code = get_content_rating(rating)
        else:
            self._rating_code = rating

        self._rating = get_content_rating_name(self._rating_code)
Ejemplo n.º 2
0
def main():
    if not os.path.isdir('logs'):
        os.mkdir('logs')

    config_file = os.path.join('logs', 'config.cfg')
    config = config_load(config_file, no_save=True)

    conn = PlexServerConnection(
        config['plex_server_host'], config['plex_server_port'])

    sections_page = conn.fetch('library/sections')
    sections_soup = BeautifulSoup(sections_page)

    for section_tag in sections_soup.find_all('directory'):
        key = section_tag['key']

        print('{0:#^40}'.format("[ " + section_tag['title'] + " ]"))
        items_page = conn.fetch('library/sections/{0}/all'.format(key))
        items_soup = BeautifulSoup(items_page)

        ratings = [[] for i in range(RATING_UNKNOWN + 1)]

        for item in itertools.chain(
                items_soup.find_all('directory'),
                items_soup.find_all('video')):
            string_rating = item.get('contentrating', '')

            content_rating = get_content_rating(string_rating)
            ratings[content_rating].append(item.get('title'))

        for rating, shows in enumerate(ratings):
            if len(shows) == 0:
                continue
            print(u"  {0}".format(get_content_rating_name(rating)))
            for show in shows:
                print(u"    {0}".format(show))
            print('')