def _channels(): # Fetch remote data log.info('fetch free to air channel info') chn_data = cache.get_data('uk_satellite_channels.csv', ttl=86400 * 7) reg_data = cache.get_data('uk_satellite_regions.csv', ttl=86400 * 7) # Channels list log.info('processing channel list') regional = [] chns = [] for l in chn_data.splitlines()[1:]: p = l.strip().split(',') if len(p) < 9: continue try: c = Channel() c.extra['stream'] = [(int(p[0]), p[1])] c.uri = p[2] c.title = p[3] c.extra['freesat_number'] = int(p[4]) c.number = c.extra['sky_number'] = int(p[5]) c.hd = p[6] == '1' c.radio = p[8] == '1' if (p[10]): c.image = p[10] else: c.image = p[9] # Skip if not c.uri: continue # Already included if c in chns: for t in chns: if t == c: t.extra['stream'].extend(c.extra['stream']) break continue # Regional channel if p[7] == '1': regional.append(c) # Store elif c.extra['stream'][0][0]: chns.append(c) except Exception, e: log.error('failed to process [%s] [e=%s]' % (l, str(e)))
def _channels (): # Fetch remote data log.info('fetch free to air channel info') chn_data = cache.get_data('uk_satellite_channels.csv', ttl=86400*7) reg_data = cache.get_data('uk_satellite_regions.csv', ttl=86400*7) # Channels list log.info('processing channel list') regional = [] chns = [] for l in chn_data.splitlines()[1:]: p = l.strip().split(',') if len(p) < 9: continue try: c = Channel() c.extra['stream'] = [ (int(p[0]), p[1]) ] c.uri = p[2] c.title = p[3] c.extra['freesat_number'] = int(p[4]) c.number = c.extra['sky_number'] = int(p[5]) c.hd = p[6] == '1' c.radio = p[8] == '1' if (p[10]): c.image = p[10] else: c.image = p[9] # Skip if not c.uri: continue # Already included if c in chns: for t in chns: if t == c: t.extra['stream'].extend(c.extra['stream']) break continue # Regional channel if p[7] == '1': regional.append(c) # Store elif c.extra['stream'][0][0]: chns.append(c) except Exception, e: log.error('failed to process [%s] [e=%s]' % (l, str(e)))
def process_channel ( data ): ret = None try: c = Channel() if 'title' in data: c.title = data['title'].encode('utf8') elif 'channel_title' in data: c.title = data['channel_title'].encode('utf8') if 'uri' in data: c.uri = data['uri'] elif 'channel_uri' in data: c.uri = data['channel_uri'] if 'channel_key' in data: c.shortid = data['channel_key'] elif 'id' in data: c.shortid = data['id'] if 'broadcaster' in data and 'key' in data['broadcaster']: c.publisher.append(data['broadcaster']['key']) if 'media_type' in data: c.radio = data['media_type'] == 'audio' c.hd = 'HD' in c.title ret = c except Exception, e: log.error(str(e))
def process_channel(data): ret = None try: c = Channel() if 'title' in data: c.title = data['title'].encode('utf8') elif 'channel_title' in data: c.title = data['channel_title'].encode('utf8') if 'uri' in data: c.uri = data['uri'] elif 'channel_uri' in data: c.uri = data['channel_uri'] if 'channel_key' in data: c.shortid = data['channel_key'] elif 'id' in data: c.shortid = data['id'] if 'broadcaster' in data and 'key' in data['broadcaster']: c.publisher.append(data['broadcaster']['key']) if 'media_type' in data: c.radio = data['media_type'] == 'audio' c.hd = 'HD' in c.title ret = c except Exception, e: log.error(str(e))