Exemplo n.º 1
0
def parse_programme_from_feed(data, keyword):
    jsondata = json.loads(data)
    show_list = []
    href_list = []
    show_index = json.loads(comm.fetch_url(config.INDEX_URL))
    series_houseno_list = [(x['href'][-13:-6], x['episodeCount'])
                           for item in show_index['index']
                           for x in item['episodes']]

    for section in jsondata[u'index']:
        for item in section[u'episodes']:

            houseno = item['episodeHouseNumber'][:7]
            title = item[u'seriesTitle']
            if title.startswith(u'Trailer'):
                continue

            show = None
            if keyword == 'category/news' or keyword == 'channel/news24':
                for s in show_list:
                    if s.series_houseno == houseno:
                        show = s
                        break
                    if s.title == title:
                        show = s
                        break

            if not show:
                show = classes.Series()
                show.series_houseno = houseno
                episode_count = 0
                for houseno in series_houseno_list:
                    if houseno[0] == show.series_houseno:
                        episode_count = houseno[1]
                        show.num_episodes = episode_count
                        break
                # some shows have multiple house no's, try matching titles
                if episode_count == 0:
                    for group in show_index['index']:
                        for listing in group['episodes']:
                            if listing['seriesTitle'] == title:
                                show.num_episodes = listing['episodeCount']
                                break

                show.title = title
                if u'title' in item:
                    show.description = item[u'title']
                    title_match = re.match('^[Ss]eries\s?(?P<series>\w+)',
                                           show.description)
                    if title_match:
                        show.title += ' Series ' + title_match.groups()[0]
                else:
                    show.description = item[u'seriesTitle']
                show.thumbnail = item['thumbnail']
                show.series_url = item['href']
                href_list.append(item['href'])
                show_list.append(show)

    return show_list
Exemplo n.º 2
0
def parse_programme_from_feed(data, keyword):
    jsondata = json.loads(data)
    show_list = []
    href_list = []
    show_index = json.loads(comm.fetch_url(config.INDEX_URL))
    series_houseno_list = [(x['href'][-13:-6], x['episodeCount'])
                           for item in show_index['index']
                           for x in item['episodes']]

    for section in jsondata[u'index']:
        for item in section[u'episodes']:

            houseno = item['episodeHouseNumber'][:7]
            title = item[u'seriesTitle']
            if title.startswith(u'Trailer'):
                continue

            show = None
            if keyword == 'category/news' or keyword == 'channel/news24':
                for s in show_list:
                    if s.series_houseno == houseno:
                        show = s
                        break
                    if s.title == title:
                        show = s
                        break

            if not show:
                show = classes.Series()
                show.series_houseno = houseno
                episode_count = 0
                for houseno in series_houseno_list:
                    if houseno[0] == show.series_houseno:
                        episode_count = houseno[1]
                        show.num_episodes = episode_count
                        break
                # some shows have multiple house no's, try matching titles
                if episode_count == 0:
                    for group in show_index['index']:
                        for listing in group['episodes']:
                            if listing['seriesTitle'] == title:
                                show.num_episodes = listing['episodeCount']
                                break

                show.title = title
                if u'title' in item:
                    show.description = item[u'title']
                    title_match = re.match(
                        '^[Ss]eries\s?(?P<series>\w+)', show.description)
                    if title_match:
                        show.title += ' Series ' + title_match.groups()[0]
                else:
                    show.description = item[u'seriesTitle']
                show.thumbnail = item['thumbnail']
                show.series_url = item['href']
                href_list.append(item['href'])
                show_list.append(show)

    return show_list
Exemplo n.º 3
0
def parse_other_episodes(url):
    """Return a list of URLs linking to other shows in series"""
    data = json.loads(comm.fetch_url(url))

    related_list = []

    for episode in data['index'][0]['episodes']:
        related_list.append(episode['href'])
    return related_list
Exemplo n.º 4
0
def parse_other_episodes(url):
    """Return a list of URLs linking to other shows in series"""
    data = json.loads(comm.fetch_url(url))

    related_list = []

    for episode in data['index'][0]['episodes']:
        related_list.append(episode['href'])
    return related_list