def testChannel(self): channel = Channel('TVP-1', "TVP 1") otherChannel = Channel('TVP-2', "TVP 2") f = StringIO.StringIO() output = TxtOutput.TxtOutput() output.Init(f) channel_list = [channel, otherChannel] output.SaveChannelList(channel_list) output.Finish() expected = """ TVP-1 - TVP 1 TVP-2 - TVP 2 """.lstrip() self.assertEqual(f.getvalue(), expected)
def testEventMinimal(self): day = datetime.datetime(2012, 12, 31) parserOptions = ParserOptions() channel = Channel(123, 'testchan', 'http://media.teleman.pl/logos/m/tvp-1.png') event = TelemanEvent(parserOptions, channel, 'simple event', 'Movie/Drama', 'movie', None, day, day + datetime.timedelta(days=1), None) f = StringIO.StringIO() output = XmltvOutput.XmltvOutput() output.Init(f) guide = [event] output.SaveGuide(day, guide) output.SaveGuideChannels() output.Finish() expected = """ <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE tv SYSTEM "xmltv.dtd"> <tv generator-info-name="epguide generator"> <programme start="20121231000000 +0200" stop="20130101000000 +0200" channel="123"> <title>simple event</title> <category language="en">Movie/Drama</category> <category language="pl">movie</category> </programme> <channel id="123"><display-name lang="pl">testchan</display-name><icon src="http://media.teleman.pl/logos/m/tvp-1.png"/></channel> </tv> """.lstrip() self.assertEqual(f.getvalue(), expected)
def testEvent(self): channel = Channel(123, 'testchan', 'http://media.teleman.pl/logos/m/tvp-1.png') parserOptions = ParserOptions() event = TelemanEvent(parserOptions, channel, 'simple event', 'Movie/Drama', 'movie', 'this is description for an event', datetime.date.today(), datetime.date.today() + datetime.timedelta(days=1), None) f = StringIO.StringIO() output = TxtOutput.TxtOutput() output.Init(f) guide = [event] day = datetime.datetime(2012, 12, 31) output.SaveGuide(day, guide) output.Finish() expected = u""" Program testchan na dzień: 2012-12-31 -------------------------------------------- 00:00 00:00 simple event | | | Movie/Drama this is description for an event """ actual = f.getvalue() print("actual: " + actual) print("expected: " + expected) self.assertEqual(actual, expected)
def get_channels(self, buf): station_list = self._get_channels_data(buf) channel_list = [ Channel(station['id'], station['name']) for station in station_list ] # usuwamy duplikaty i sortujemy liste channel_set = {} for channel in channel_list: channel_set[channel] = channel channel_list = channel_set.values() channel_list.sort() return channel_list
def testChannel(self): channel = Channel('TVP-1', "TVP 1", "http://media.teleman.pl/logos/m/tvp-1.png") otherChannel = Channel('TVP-2', "TVP 2", "http://media.teleman.pl/logos/m/tvp-2.png") f = StringIO.StringIO() output = XmltvOutput.XmltvOutput() output.Init(f) channel_list = [channel, otherChannel] output.SaveChannelList(channel_list) output.Finish() expected = """ <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE tv SYSTEM "xmltv.dtd"> <tv generator-info-name="epguide generator"> <channel id="TVP-1"><display-name lang="pl">TVP 1</display-name><icon src="http://media.teleman.pl/logos/m/tvp-1.png"/></channel> <channel id="TVP-2"><display-name lang="pl">TVP 2</display-name><icon src="http://media.teleman.pl/logos/m/tvp-2.png"/></channel> </tv> """.lstrip() actual = f.getvalue() print("actual: " + actual) print("expected: " + expected) self.assertEqual(actual, expected)
def _create_channel(self, channel_element): """ tworzy z elementu HTML obiekt kanalu """ # <li class="station station[431]"> # <a href="0,110298,8700474,,,,,431,Polsat News.html"> # <span> # Polsat News # </span> # </a> # <small class="favorite"></small> # </li> m = re.search('station station\[(\d{1,3})\]', channel_element.get("class")) prog_id = m.group(1) name = self.get_texts(channel_element, './/span') return Channel(prog_id, name, None)
def get_events(self, event_date, channel_id, buf): """ parsuje stronę, zwraca liste elementow klasy Event """ parser = etree.HTMLParser() tree = etree.parse(StringIO.StringIO(buf), parser) channel_name = self.get_texts(tree, '//*[@class="stationTitle"]/h1') channel_icon_url = self.get_attr(tree, '//*[@class="stationTitle"]/img', "src") programmeElements = tree.xpath('//*[@id="stationItems"]/li') channel = Channel(channel_id, channel_name, channel_icon_url) events = [ self.create_event(event_element, channel, event_date) for event_element in programmeElements ] updated_events = [] prev_event = None add_days = 0 for current_event in events: if current_event: if prev_event is not None: # jesli przekraczamy kolejna dobe, robimy poprawke w dacie if current_event.time_start < prev_event.time_start: add_days = 1 current_event.time_start = current_event.time_start + datetime.timedelta( days=add_days) current_event.time_end = current_event.time_start prev_event.time_end = current_event.time_start updated_events.append(current_event) prev_event = current_event return updated_events
def testGetDetails(self): p = GazetaProgrammeDetailsParser.GazetaProgrammeDetailsParser("a") f = codecs.open("Dziewczyna z Alabamy.html", "r", "ISO-8859-2") buf = f.read() actual = p.get_details(buf) f.close() expected_description = u"\nOpis: Narzeczona syna pani burmistrz Nowego Jorku wraca przed ślubem na\n amerykańskie Południe, by uregulować sprawy, w tym? rozwód. Plus \nniezawodna Reese Witherspoon broniąca całość przed rutyną." expected_primary_title = u"Dziewczyna z Alabamy" expected_year = u"2002" expected_country = u"USA" expected_genre = u"Komedia romantyczna" expected_duration = u"1 godzina 44 minuty" expected_photo_url = u"Dziewczyna%20z%20Alabamy_pliki/d91d2a2effa1f879bb48d3b1aa9d58ec532d0800-thumb.jpg" expected_pg = ParentalRating(u"od12", 12) expected_crew = None expected = GazetaEventDetails(expected_primary_title, expected_description, expected_year, expected_country, expected_genre, expected_duration, expected_photo_url, expected_pg, expected_crew) print("actual :" + to_string(actual)) print("expected:" + to_string(expected)) self.assertEqual(actual.description, expected.description) self.assertEqual(to_string(actual.pg), to_string(expected.pg)) self.assertEqual(actual.photo_url, expected.photo_url) self.assertEqual(str(actual), str(expected)) parserOptions = ParserOptions() channel = Channel('TVP-1', 'TVP 1') event = GazetaEvent(parserOptions, channel, 'Dziewczyna z Alabamy', \ 'Movie/Drama', 'Komedia romantyczna', \ 'Melanie jest nowojorską projektantką mody. Wkrótce ma poślubić bogatego polityka. Aby to zrobić, musi jednak wrócić do rodzinnego miasteczka i rozwieść się z pierwszym mężem. ', \ '2013-01-02 02:10:00', '2013-01-02 03:50:00',\ '', actual) self.assertEqual(event.get_title(), "Dziewczyna z Alabamy")
def get_events(self, event_date, channel_id, buf): """ parsuje stronę, zwraca liste elementow klasy Event """ parser = etree.HTMLParser() tree = etree.parse(StringIO.StringIO(buf), parser) channel_name = self.get_texts( tree, ".//div[starts-with(@class,'station')]/a/span") programme_elements = tree.xpath(".//li[starts-with(@id,'program')]") channel = Channel(channel_id, channel_name, None) events = [ self.create_event(event_element, channel, event_date) for event_element in programme_elements ] updated_events = [] prev_event = None add_days = 0 for current_event in events: if current_event: if prev_event is not None: # jesli przekraczamy kolejna dobe, robimy poprawke w dacie if current_event.time_start < prev_event.time_start: add_days = 1 current_event.time_start = current_event.time_start + datetime.timedelta( days=add_days) current_event.time_end = current_event.time_start prev_event.time_end = current_event.time_start updated_events.append(current_event) prev_event = current_event return updated_events
def testEventFull(self): day = datetime.datetime(2012, 12, 31) channel = Channel(123, 'testchan', 'http://media.teleman.pl/logos/m/tvp-1.png') parserOptions = ParserOptions(split_title=True) event = TelemanEvent(parserOptions, channel, 'simple event: subtitle for an event (2/3)', 'Movie/Drama', 'movie', 'this is description for an event', day, day + datetime.timedelta(days=1), None) f = StringIO.StringIO() output = XmltvOutput.XmltvOutput() output.Init(f) guide = [event] output.SaveGuide(day, guide) output.SaveGuideChannels() output.Finish() expected = """ <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE tv SYSTEM "xmltv.dtd"> <tv generator-info-name="epguide generator"> <programme start="20121231000000 +0200" stop="20130101000000 +0200" channel="123"> <title>simple event</title> <sub-title>subtitle for an event</sub-title> <desc><![CDATA[this is description for an event]]></desc> <category language="en">Movie/Drama</category> <category language="pl">movie</category> <episode-num system="onscreen">2/3</episode-num> </programme> <channel id="123"><display-name lang="pl">testchan</display-name><icon src="http://media.teleman.pl/logos/m/tvp-1.png"/></channel> </tv> """.lstrip() actual = f.getvalue() print("actual: " + actual) print("expected: " + expected) self.assertEqual(actual, expected)
def testShowWithSubtitleWithDetails(self): imdb_url = u"x" imdb_rank = u"x" imdb = Imdb(imdb_url, imdb_rank) filmweb_url = u"x" filmweb_rank = u"x" filmweb = Imdb(filmweb_url, filmweb_rank) photo_url = u"x" channel = Channel('x', 'x', "x") title = u'Rodzinka.pl: Zachcianki (80)' category = 'serial komediowy' desc = 'One line summary.' primary_title = u'Rodzinka.pl: Zachcianki (80)' secondary_title = None original_title = None genre = u"serial komediowy" country = u"Polska" year = u"2013" pg = ParentalRating(u"od 12 lat", 12) description = u"Long description" details = TelemanEventDetails(primary_title, secondary_title, description, original_title, year, country, genre, imdb, filmweb, photo_url, pg) main_category = 'Show/Game show' time_start = '2013-01-02 02:10:00' time_end = '2013-01-02 03:50:00' url = None parser_options = ParserOptions(split_title=False, add_original_title_to_title=True, add_year_to_title=True, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual( event.get_title(), u'Rodzinka.pl: Zachcianki (80)') # with original title and year self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), None) self.assertEqual(event.get_filename(), u'Rodzinka.pl: Zachcianki (80)') parser_options = ParserOptions(split_title=True, add_original_title_to_title=True, add_year_to_title=True, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), u'Rodzinka.pl') # with original title and year self.assertEqual(event.get_subtitle(), "Zachcianki") self.assertEqual(event.get_episode_num(), "80") self.assertEqual(event.get_filename(), u'Rodzinka.pl (80) Zachcianki') parser_options = ParserOptions(split_title=True, add_original_title_to_title=False, add_year_to_title=True, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), u'Rodzinka.pl') # with year self.assertEqual(event.get_subtitle(), "Zachcianki") self.assertEqual(event.get_episode_num(), "80") self.assertEqual(event.get_filename(), u'Rodzinka.pl (80) Zachcianki') parser_options = ParserOptions(split_title=True, add_original_title_to_title=True, add_year_to_title=False, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), u'Rodzinka.pl') # with original title self.assertEqual(event.get_subtitle(), "Zachcianki") self.assertEqual(event.get_episode_num(), "80") parser_options = ParserOptions(split_title=True, add_original_title_to_title=False, add_year_to_title=False, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), u'Rodzinka.pl') # nothing self.assertEqual(event.get_subtitle(), "Zachcianki") self.assertEqual(event.get_episode_num(), "80") parser_options = ParserOptions(split_title=True, add_original_title_to_title=True, add_year_to_title=True, add_age_rating_to_title=12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual( event.get_title(), u'Rodzinka.pl [od 12 lat]') # with original title, year and age self.assertEqual(event.get_subtitle(), "Zachcianki") self.assertEqual(event.get_episode_num(), "80") parser_options = ParserOptions(split_title=True, add_original_title_to_title=False, add_year_to_title=True, add_age_rating_to_title=12) self.assertEqual(event.get_title(), u'Rodzinka.pl [od 12 lat]') # with year and age self.assertEqual(event.get_subtitle(), "Zachcianki") self.assertEqual(event.get_episode_num(), "80") parser_options = ParserOptions(split_title=True, add_original_title_to_title=True, add_year_to_title=False, add_age_rating_to_title=12) self.assertEqual( event.get_title(), u'Rodzinka.pl [od 12 lat]') # with original title and age self.assertEqual(event.get_subtitle(), "Zachcianki") self.assertEqual(event.get_episode_num(), "80") parser_options = ParserOptions(split_title=True, add_original_title_to_title=False, add_year_to_title=False, add_age_rating_to_title=12) self.assertEqual(event.get_title(), u'Rodzinka.pl [od 12 lat]') # with age self.assertEqual(event.get_subtitle(), "Zachcianki") self.assertEqual(event.get_episode_num(), "80") self.assertEqual(event.get_description(), u'One line summary.Long description')
def testMovie(self): imdb_url = u"x" imdb_rank = u"x" imdb = Imdb(imdb_url, imdb_rank) filmweb_url = u"x" filmweb_rank = u"x" filmweb = Imdb(filmweb_url, filmweb_rank) photo_url = u"x" channel = Channel('x', 'x', "x") primary_title = 'Liberator 2' secondary_title = '' description = u"description" original_title = u"original title" year = u"2009" country = u"USA" genre = u"FILM GANGSTERSKI" pg = ParentalRating(u"od 16 lat", 16) details = TelemanEventDetails(primary_title, secondary_title, description, original_title, year, country, genre, imdb, filmweb, photo_url, pg) title = 'Megahit: Liberator 2' main_category = 'Movie/Drama' category = 'film sensacyjny, USA 1995' desc = 'summary' time_start = '2013-01-02 02:10:00' time_end = '2013-01-02 03:50:00' url = None parser_options = ParserOptions(split_title = True, add_original_title_to_title = True, add_year_to_title = True, add_age_rating_to_title = 16) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), u"original title (2009) - Liberator 2 [od 16 lat] [Megahit]") self.assertEqual(event.get_filename(), u"original title (2009) - Liberator 2 [od 16 lat] [Megahit]") parser_options = ParserOptions(split_title = True, add_original_title_to_title = False, add_year_to_title = True, add_age_rating_to_title = 16) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), "Liberator 2 [od 16 lat] [Megahit]") self.assertEqual(event.get_filename(), u"Liberator 2 [od 16 lat] [Megahit]") parser_options = ParserOptions(split_title = True, add_original_title_to_title = True, add_year_to_title = False, add_age_rating_to_title = 16) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), u"original title - Liberator 2 [od 16 lat] [Megahit]") self.assertEqual(event.get_filename(), u"original title - Liberator 2 [od 16 lat] [Megahit]") parser_options = ParserOptions(split_title = True, add_original_title_to_title = False, add_year_to_title = False, add_age_rating_to_title = 16) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), "Liberator 2 [od 16 lat] [Megahit]") self.assertEqual(event.get_filename(), u"Liberator 2 [od 16 lat] [Megahit]") parser_options = ParserOptions(split_title = True, add_original_title_to_title = True, add_year_to_title = True, add_age_rating_to_title = 18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), u"original title (2009) - Liberator 2 [Megahit]") self.assertEqual(event.get_filename(), u"original title (2009) - Liberator 2 [Megahit]") parser_options = ParserOptions(split_title = True, add_original_title_to_title = False, add_year_to_title = True, add_age_rating_to_title = 18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), "Liberator 2 [Megahit]") self.assertEqual(event.get_filename(), u"Liberator 2 [Megahit]") parser_options = ParserOptions(split_title = True, add_original_title_to_title = True, add_year_to_title = False, add_age_rating_to_title = 18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), u"original title - Liberator 2 [Megahit]") self.assertEqual(event.get_filename(), u"original title - Liberator 2 [Megahit]") parser_options = ParserOptions(split_title = True, add_original_title_to_title = False, add_year_to_title = False, add_age_rating_to_title = 18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), "Liberator 2 [Megahit]") self.assertEqual(event.get_filename(), u"Liberator 2 [Megahit]") parser_options = ParserOptions(split_title = True, add_original_title_to_title = False, add_year_to_title = False, add_age_rating_to_title = 18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_description(), u'summarydescription\nTytul oryginalny:original title')
def testShowWithoutEpisodeNumWithoutSubtitleWithoutDetails(self): channel = Channel('x', 'x', "x") title = u'Uwaga' category = 'magazyn reporterów' desc = 'One line summary.' main_category = 'Show/Game show' time_start = '2013-01-02 02:10:00' time_end = '2013-01-02 03:50:00' url = None parser_options = ParserOptions(split_title=False, add_original_title_to_title=True, add_year_to_title=True, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Uwaga') # with original title and year parser_options = ParserOptions(split_title=False, add_original_title_to_title=False, add_year_to_title=True, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Uwaga') # with year parser_options = ParserOptions(split_title=False, add_original_title_to_title=True, add_year_to_title=False, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Uwaga') # with original title parser_options = ParserOptions(split_title=False, add_original_title_to_title=False, add_year_to_title=False, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Uwaga') # nothing parser_options = ParserOptions(split_title=False, add_original_title_to_title=True, add_year_to_title=True, add_age_rating_to_title=12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Uwaga') # with original title, year and age parser_options = ParserOptions(split_title=False, add_original_title_to_title=False, add_year_to_title=True, add_age_rating_to_title=12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Uwaga') # with year and age parser_options = ParserOptions(split_title=False, add_original_title_to_title=True, add_year_to_title=False, add_age_rating_to_title=12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Uwaga') # with original title and age parser_options = ParserOptions(split_title=False, add_original_title_to_title=False, add_year_to_title=False, add_age_rating_to_title=12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Uwaga') # with age self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_description(), "One line summary.")
def testShow3(self): imdb_url = u"x" imdb_rank = u"x" imdb = Imdb(imdb_url, imdb_rank) filmweb_url = u"x" filmweb_rank = u"x" filmweb = Imdb(filmweb_url, filmweb_rank) photo_url = u"x" channel = Channel('x', 'x', "x") title = u'Na linii strzału 2 (15)' category = 'serial sensacyjny' desc = 'One line summary.' primary_title = 'Na linii strzału' secondary_title = 'sezon 2 odc. 15' original_title = "In Plain Sight: In My Humboldt Opinion" genre = u"serial sensacyjny" country = u"USA" year = u"2009" pg = ParentalRating(u"od 16 lat", 16) description = u"Long description" details = TelemanEventDetails(primary_title, secondary_title, description, original_title, year, country, genre, imdb, filmweb, photo_url, pg) main_category = 'Show/Game show' time_start = '2013-01-02 02:10:00' time_end = '2013-01-02 03:50:00' url = None parser_options = ParserOptions(split_title=False, add_original_title_to_title=True, add_year_to_title=True, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title( ), u'In Plain Sight: In My Humboldt Opinion - Na linii strza\u0142u 2 (15)' ) # with original title and year parser_options = ParserOptions(split_title=False, add_original_title_to_title=False, add_year_to_title=True, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), u'Na linii strza\u0142u 2 (15)') # with year parser_options = ParserOptions(split_title=False, add_original_title_to_title=True, add_year_to_title=False, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual( event.get_title(), u'In Plain Sight: In My Humboldt Opinion - Na linii strzału 2 (15)' ) # with original title parser_options = ParserOptions(split_title=False, add_original_title_to_title=False, add_year_to_title=False, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), u'Na linii strzału 2 (15)') # nothing parser_options = ParserOptions(split_title=False, add_original_title_to_title=True, add_year_to_title=True, add_age_rating_to_title=12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title( ), u'In Plain Sight: In My Humboldt Opinion - Na linii strzału 2 (15) [od 16 lat]' ) # with original title, year and age parser_options = ParserOptions(split_title=False, add_original_title_to_title=False, add_year_to_title=True, add_age_rating_to_title=12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual( event.get_title(), u'Na linii strzału 2 (15) [od 16 lat]') # with year and age parser_options = ParserOptions(split_title=False, add_original_title_to_title=True, add_year_to_title=False, add_age_rating_to_title=12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title( ), u'In Plain Sight: In My Humboldt Opinion - Na linii strzału 2 (15) [od 16 lat]' ) # with original title and age parser_options = ParserOptions(split_title=False, add_original_title_to_title=False, add_year_to_title=False, add_age_rating_to_title=12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), u'Na linii strzału 2 (15) [od 16 lat]') # with age parser_options = ParserOptions(split_title=False, add_original_title_to_title=False, add_year_to_title=False, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_subtitle(), None) self.assertEqual( event.get_description(), "One line summary.Long description\nTytul oryginalny:In Plain Sight: In My Humboldt Opinion" )
def testChannel(self): channel = Channel(123, 'testchannel') self.assertEqual(channel.name, 'testchannel') self.assertEqual(channel.id, 123) otherChannel = Channel(123, 'testchan') self.assertEqual(channel, otherChannel)
def testMovie(self): imdb_url = u"x" imdb_rank = u"x" imdb = Imdb(imdb_url, imdb_rank) filmweb_url = u"x" filmweb_rank = u"x" filmweb = Imdb(filmweb_url, filmweb_rank) photo_url = u"x" channel = Channel('x', 'x', "x") primary_title = 'U Pana Boga za piecem' secondary_title = "" description = u"description" original_title = "" year = u"1998" country = u"Polska" genre = u"KOMEDIA" pg = ParentalRating(u"od 16 lat", 16) details = TelemanEventDetails(primary_title, secondary_title, description, original_title, year, country, genre, imdb, filmweb, photo_url, pg) title = 'Wakacyjny hit Jedynki: U Pana Boga za piecem' main_category = 'Movie/Drama' category = 'komedia, Polska 1998' desc = 'summary' time_start = '2013-01-02 02:10:00' time_end = '2013-01-02 03:50:00' url = None parser_options = ParserOptions(split_title=False, add_original_title_to_title=False, add_year_to_title=False, add_age_rating_to_title=99) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), u"Wakacyjny hit Jedynki: U Pana Boga za piecem") self.assertEqual(event.get_filename(), u"Wakacyjny hit Jedynki: U Pana Boga za piecem") parser_options = ParserOptions(split_title=False, add_original_title_to_title=True, add_year_to_title=True, add_age_rating_to_title=16) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual( event.get_title(), u"Wakacyjny hit Jedynki: U Pana Boga za piecem (1998) [od 16 lat]") self.assertEqual( event.get_filename(), u"Wakacyjny hit Jedynki: U Pana Boga za piecem (1998) [od 16 lat]") parser_options = ParserOptions(split_title=True, add_original_title_to_title=True, add_year_to_title=True, add_age_rating_to_title=16) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual( event.get_title(), u"U Pana Boga za piecem (1998) [od 16 lat] [Wakacyjny hit Jedynki]" ) self.assertEqual( event.get_filename(), u"U Pana Boga za piecem (1998) [od 16 lat] [Wakacyjny hit Jedynki]" ) parser_options = ParserOptions(split_title=True, add_original_title_to_title=False, add_year_to_title=True, add_age_rating_to_title=16) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual( event.get_title(), u"U Pana Boga za piecem (1998) [od 16 lat] [Wakacyjny hit Jedynki]" ) self.assertEqual( event.get_filename(), u"U Pana Boga za piecem (1998) [od 16 lat] [Wakacyjny hit Jedynki]" ) parser_options = ParserOptions(split_title=True, add_original_title_to_title=True, add_year_to_title=False, add_age_rating_to_title=16) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual( event.get_title(), u"U Pana Boga za piecem [od 16 lat] [Wakacyjny hit Jedynki]") self.assertEqual( event.get_filename(), u"U Pana Boga za piecem [od 16 lat] [Wakacyjny hit Jedynki]") parser_options = ParserOptions(split_title=True, add_original_title_to_title=False, add_year_to_title=False, add_age_rating_to_title=16) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual( event.get_title(), "U Pana Boga za piecem [od 16 lat] [Wakacyjny hit Jedynki]") self.assertEqual( event.get_filename(), u"U Pana Boga za piecem [od 16 lat] [Wakacyjny hit Jedynki]") parser_options = ParserOptions(split_title=True, add_original_title_to_title=True, add_year_to_title=True, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual( event.get_title(), u"U Pana Boga za piecem (1998) [Wakacyjny hit Jedynki]") self.assertEqual( event.get_filename(), u"U Pana Boga za piecem (1998) [Wakacyjny hit Jedynki]") parser_options = ParserOptions(split_title=True, add_original_title_to_title=False, add_year_to_title=True, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual( event.get_title(), "U Pana Boga za piecem (1998) [Wakacyjny hit Jedynki]") self.assertEqual( event.get_filename(), u"U Pana Boga za piecem (1998) [Wakacyjny hit Jedynki]") parser_options = ParserOptions(split_title=True, add_original_title_to_title=True, add_year_to_title=False, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), u"U Pana Boga za piecem [Wakacyjny hit Jedynki]") self.assertEqual(event.get_filename(), u"U Pana Boga za piecem [Wakacyjny hit Jedynki]") parser_options = ParserOptions(split_title=True, add_original_title_to_title=False, add_year_to_title=False, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_title(), "U Pana Boga za piecem [Wakacyjny hit Jedynki]") self.assertEqual(event.get_filename(), u"U Pana Boga za piecem [Wakacyjny hit Jedynki]") parser_options = ParserOptions(split_title=True, add_original_title_to_title=False, add_year_to_title=False, add_age_rating_to_title=18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=details) self.assertEqual(event.get_description(), u'summarydescription')
def testShowWithEpisodeNumWithoutSubtitleWithoutDetails(self): channel = Channel('x','x',"x") title = u'Barwy szczęścia (948)' category = 'serial obyczajowy' desc = 'One line summary.' main_category = 'Show/Game show' time_start = '2013-01-02 02:10:00' time_end = '2013-01-02 03:50:00' url = None parser_options = ParserOptions(split_title = False, add_original_title_to_title = True, add_year_to_title = True, add_age_rating_to_title = 18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia (948)') # with original title and year self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), None) self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = False, add_original_title_to_title = False, add_year_to_title = True, add_age_rating_to_title = 18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia (948)') # with year self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), None) self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = False, add_original_title_to_title = True, add_year_to_title = False, add_age_rating_to_title = 18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia (948)') # with original title self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), None) self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = False, add_original_title_to_title = False, add_year_to_title = False, add_age_rating_to_title = 18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia (948)')# nothing self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), None) self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = False, add_original_title_to_title = True, add_year_to_title = True, add_age_rating_to_title = 12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia (948)')# with original title, year and age self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), None) self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = False, add_original_title_to_title = False, add_year_to_title = True, add_age_rating_to_title = 12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia (948)')# with year and age self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), None) self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = False, add_original_title_to_title = True, add_year_to_title = False, add_age_rating_to_title = 12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia (948)') # with original title and age self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), None) self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = False, add_original_title_to_title = False, add_year_to_title = False, add_age_rating_to_title = 12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia (948)') # with age self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), None) self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = True, add_original_title_to_title = True, add_year_to_title = True, add_age_rating_to_title = 18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia') # with original title and year self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), "948") self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = True, add_original_title_to_title = False, add_year_to_title = True, add_age_rating_to_title = 18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia') # with year self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), "948") self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = True, add_original_title_to_title = True, add_year_to_title = False, add_age_rating_to_title = 18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia') # with original title self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), "948") self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = True, add_original_title_to_title = False, add_year_to_title = False, add_age_rating_to_title = 18) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia')# nothing self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), "948") self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = True, add_original_title_to_title = True, add_year_to_title = True, add_age_rating_to_title = 12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia')# with original title, year and age self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), "948") self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = True, add_original_title_to_title = False, add_year_to_title = True, add_age_rating_to_title = 12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia')# with year and age self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), "948") self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = True, add_original_title_to_title = True, add_year_to_title = False, add_age_rating_to_title = 12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia') # with original title and age self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), "948") self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') parser_options = ParserOptions(split_title = True, add_original_title_to_title = False, add_year_to_title = False, add_age_rating_to_title = 12) event = TelemanEvent(parser_options, channel, title, main_category, category, desc, time_start, time_end, url, details=None) self.assertEqual(event.get_title(), u'Barwy szczęścia') # with age self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_episode_num(), "948") self.assertEqual(event.get_filename(), u'Barwy szczęścia (948)') self.assertEqual(event.get_subtitle(), None) self.assertEqual(event.get_description(), "One line summary.")