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)
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('')