def update_progress(self, remaining): # Run time and end time for next episode runtime = utils.get_int(self.item, 'runtime', 0) if runtime: runtime = datetime.timedelta(seconds=runtime) endtime = datetime.datetime.now() + runtime endtime = statichelper.from_unicode(utils.localize_time(endtime)) self.setProperty('endtime', endtime) # Remaining time countdown for current episode remaining_str = '{0:02.0f}'.format(remaining) self.log(remaining_str) self.setProperty( 'remaining', statichelper.from_unicode(remaining_str) ) if not self.progress_control: return # Set total countdown time on initial progress update if remaining and self.countdown_total_time is None: self.countdown_total_time = remaining # Calculate countdown progress on subsequent updates elif remaining: percent = 100 * remaining / self.countdown_total_time self.current_progress_percent = min(100, max(0, percent)) self.update_progress_control()
def update_progress_control(self, timeout, wait): if self.progress_control is None: return self.current_progress_percent -= 100 * wait / timeout self.progress_control.setPercent(self.current_progress_percent) # pylint: disable=no-member,useless-suppression self.setProperty('remaining', from_unicode('%02d' % ceil((timeout / 1000) * (self.current_progress_percent / 100)))) self.setProperty('endtime', from_unicode(localize_time(datetime.now() + timedelta(seconds=50 * 60))))
def update_progress_control(self, remaining=None, runtime=None): self.current_progress_percent = self.current_progress_percent - self.progress_step_size try: self.progress_control = self.getControl(3014) except RuntimeError: # Occurs when skin does not include progress control pass else: self.progress_control.setPercent(self.current_progress_percent) # pylint: disable=no-member,useless-suppression if remaining: self.setProperty('remaining', from_unicode('%02d' % remaining)) if runtime: self.setProperty( 'endtime', from_unicode( localize_time(datetime.now() + timedelta(seconds=runtime))))