def get_actual_programs_locally_(self, requested_count):
		channels_epg_dict = {}
		time_now = common.datetime_to_ctime(datetime.datetime.now())
		for channel_id, program_dict in self.channels_id_with_programs_dict_.items():
			try:
				program_list = program_dict.get(channel_id, None)
				current_program_list = []
				for program in program_list:
					if time_now < (program.start_time + program.duration):
						current_program_list.append(program)
					if len(current_program_list) == requested_count:
						break
				channels_epg_dict[channel_id] = current_program_list
			except:
				pass
		return channels_epg_dict
	def get_preview_programs_(self):
		preview_programs_dict = {}
		time_now = common.datetime_to_ctime(datetime.datetime.now())
		current_dict = data_provider.get_actual_programs(self.PROGRAM_COUNT_)
		for channel_id, program_list in current_dict.items():
			if None != program_list and len(program_list):
				start_time = program_list[0].start_time
				end_time = start_time + program_list[0].duration
				if not (time_now >= start_time and time_now < end_time):
					program_list.insert(0, None)
				for i, v in enumerate(program_list[:-1]):
					if program_list[i] and program_list[i + 1].start_time != (program_list[i].start_time + program_list[i].duration):
						program_list.insert(i + 1, None)
				program_list += [None,] * (self.PROGRAM_COUNT_ - 1)
				program_list = program_list[:self.PROGRAM_COUNT_]
			preview_programs_dict[channel_id] = program_list
		return preview_programs_dict
示例#3
0
	def	create_channel_epg_list_(self):
		oc = ObjectContainer(
			no_history = True,
			no_cache = True,
			title1 = IDS_GUIDE_MENU_ITEM,
			title2 = self.channel_name_,
			art = R(helper.ART_TV_GUIDE))
			
		time_now = common.datetime_to_ctime(datetime.datetime.now())
		programs_dict = data_provider.get_channel_epg(self.channel_id_)
		self.recording_list_ = data_provider.get_recordings()
		if None != programs_dict and programs_dict.has_key(self.channel_id_):
			channel_programs = programs_dict[self.channel_id_]
			for program in channel_programs:
				if time_now < program.start_time + program.duration:
					program_object = self.create_program_item_(program)
					oc.add(program_object)
		return oc
 def create_program_list_(self, programs_dict, title_1, title_2):
     oc = ObjectContainer(no_history=True,
                          no_cache=True,
                          title1=title_1,
                          title2=title_2,
                          art=R(helper.ART_SEARCH))
     time_now = common.datetime_to_ctime(datetime.datetime.now())
     channels = data_provider.get_channels()
     #stream_info_dict = data_provider.get_stream_info()
     self.recording_list_ = data_provider.get_recordings(False)
     if len(programs_dict) and len(channels):
         program_list = self.get_programs_(programs_dict)
         for list_item in program_list:
             channel = common.search_channel(channels, list_item[0])
             if channel:
                 program = list_item[1]
                 if time_now < program.start_time + program.duration:
                     program_object = self.create_program_item_(
                         program, channel)
                     oc.add(program_object)
     return oc
示例#5
0
	def create_program_list_(self, programs_dict, title_1, title_2):
		oc = ObjectContainer(
			no_history = True,
			no_cache = True,
			title1 = title_1,
			title2 = title_2,
			art = R(helper.ART_SEARCH))
		time_now = common.datetime_to_ctime(datetime.datetime.now())
		channels = data_provider.get_channels()
		#stream_info_dict = data_provider.get_stream_info()
		self.recording_list_ = data_provider.get_recordings(False)
		if len(programs_dict) and len(channels):
			program_list = self.get_programs_(programs_dict)
			for list_item in program_list:
				channel = common.search_channel(channels, list_item[0])
				if channel:
					program = list_item[1]
					if time_now < program.start_time + program.duration:
						program_object = self.create_program_item_(program, channel)
						oc.add(program_object)
		return oc
示例#6
0
 def get_preview_programs_(self):
     preview_programs_dict = {}
     time_now = common.datetime_to_ctime(datetime.datetime.now())
     current_dict = data_provider.get_actual_programs(self.PROGRAM_COUNT_)
     for channel_id, program_list in current_dict.items():
         if None != program_list and len(program_list):
             start_time = program_list[0].start_time
             end_time = start_time + program_list[0].duration
             if not (time_now >= start_time and time_now < end_time):
                 program_list.insert(0, None)
             for i, v in enumerate(program_list[:-1]):
                 if program_list[i] and program_list[i + 1].start_time != (
                         program_list[i].start_time +
                         program_list[i].duration):
                     program_list.insert(i + 1, None)
             program_list += [
                 None,
             ] * (self.PROGRAM_COUNT_ - 1)
             program_list = program_list[:self.PROGRAM_COUNT_]
         preview_programs_dict[channel_id] = program_list
     return preview_programs_dict
	def get_actual_programs_remotely_(self, requsted_count):
		time_now = datetime.datetime.now()
		start_time = common.datetime_to_ctime(time_now)
		end_time = common.datetime_to_ctime(time_now + datetime.timedelta(days=1))
		searcher = EpgSearcher(start_time=start_time, end_time=end_time, requested_count=requsted_count, epg_short=True)
		return self.http_data_provider_.search_epg(searcher)
	def search_epg_(self, channel_id):
		time_now = datetime.datetime.now()
		start_time = common.datetime_to_ctime(time_now)
		end_time = common.datetime_to_ctime(time_now + datetime.timedelta(days=self.epg_of_days_))
		searcher = EpgSearcher(channels_ids=[channel_id], start_time=start_time, end_time=end_time)
		return self.http_data_provider_.search_epg(searcher)