Exemple #1
0
 def __init__(self, item, title, field, editable=False):
     Item.__init__(self, name=get_field(item, field), type_='info')
     self.item = item
     self.title = title
     self.field = field
     self.editable = editable
     return None
Exemple #2
0
 def __init__(self,
              name,
              type_='item_list',
              menu=None,
              _list=[],
              list_name='main_list',
              selected_pos=0):
     Item.__init__(self, name, type_)
     ItemList.__init__(self, menu, _list, list_name, selected_pos)
     return None
Exemple #3
0
 def __init__(self,
              name,
              type_,
              menu=None,
              display_type=None,
              action=None,
              args=None,
              kwargs=None):
     Item.__init__(self, name, type_, menu=menu, display_type=display_type)
     self.action = action
     self.preview_list = []
     self.args = (args or tuple())
     self.kwargs = (kwargs or dict())
Exemple #4
0
 def __init__(self,
              val,
              type_='int',
              menu=None,
              display_type=None,
              parent=None):
     Item.__init__(self,
                   '%.2d' % val,
                   type_,
                   menu=None,
                   display_type=None,
                   parent=None)
     self.val = val
     return None
Exemple #5
0
	def __init__(self, item, data, name='Media information menu', eventhandler=None, type='media_info'):
		self.eventhandler = (InfoMenuEventHandler(self) if not eventhandler else eventhandler)
		ContextMenu.__init__(self, name, type=type)
		self.item = item
		self._getitems_keywords.update({'titles_list': (lambda : self.get_item_list('titles_list'))})
		self.set_items(([] if not data else data), 'main_list')
		self._set_options_list()
		titles = []
		for i in self['main_list']:
			try:
				title_item = Item(name=i.title, type_='info_%s' % i.field)
				titles.append(title_item)
			except AttributeError:
				titles.append(Item(name='', type_=''))
		self.set_items(titles, 'titles_list', 0)
		return None
Exemple #6
0
 def _set_record(self, scheduled_record):
     self._record_to_remove = scheduled_record
     _wyrecord = WyRecord()
     self.record_name = scheduled_record.name
     self.select_date(scheduled_record.record.start_time,
                      scheduled_record.record.stop_time)
     target_channel = TVRootItem().get_acl(
         self).get_channel_from_service_id(
             str(scheduled_record.record.service_id))
     for i in xrange(len(self.favorite_list)):
         if self.favorite_list[i]['serviceId'] == str(
                 scheduled_record.record.service_id):
             target_channel, target_channel = None, self.favorite_list[i]
             break
     self.select_channel(target_channel)
     if isinstance(scheduled_record, PeriodicScheduledRecordItem):
         _rule = _wyrecord.scheduler.GetPeriodicRuleById(
             scheduled_record.record.periodicity_rule_id)
         self.repetition_type_list.select(
             Item(self.PERIODICITY[_rule.extern_rule_name][0], 'periodic',
                  self))
         _num = (mktime(_rule.last_time.timetuple()) -
                 _rule.recording_ref.start_time) / float(
                     self.PERIODICITY[_rule.extern_rule_name][1] * 86400)
         self.repetition_number_list.select(IntegerItem(int(_num)))
     return None
Exemple #7
0
 def __init__(self,
              name,
              url=None,
              type_='url',
              menu=None,
              display_type='url'):
     Item.__init__(self,
                   name=name,
                   type_=type_,
                   menu=menu,
                   display_type=display_type)
     self.url = url
     if URLItem.player is None:
         from pygui.menu.players import WebBrowser
         URLItem.player = WebBrowser()
     return None
Exemple #8
0
 def search(self, kbd):
     self.kbd.hide()
     self.pattern = self.kbd.text
     self._wil_result = WindowedItemList(None,
                                         menu=self.navigator,
                                         universe=self.universe,
                                         browse_fn=wm_search,
                                         pattern=self.pattern)
     log.debug('Search(%s): %s', self.pattern, self._wil_result)
     if len(self._wil_result):
         self.set_items(self._wil_result, 'main_list')
         self.select(0, force_select=True)
         louie_send('result_count',
                    sender=self,
                    value=self.get_result_count())
         louie_send('title', sender=self, value=self.get_title())
     else:
         no_result_item = Item(name=_("No results for '%s'") % self.pattern,
                               type_='info')
         self.set_items([no_result_item], 'main_list')
         louie_send('result_count',
                    sender=self,
                    value=self.get_result_count())
         louie_send('title', sender=self, value=self.get_title())
     return None
Exemple #9
0
 def __init__(self,
              server,
              name,
              antenna,
              transponder,
              scan_network,
              include_scrambled=True,
              high_lnb_power=False,
              type_='dvbsscan',
              menu=None):
     Item.__init__(self, name, type_=type_, menu=menu)
     if self.player is None:
         try:
             from pygui.menu.players import ChannelScanner
             self.player = ChannelScanner()
         except Exception, e:
             log.error('Unable to spawn ChannelScanner (%s)', e)
Exemple #10
0
 def __init__(self,
              name,
              type_='setupitem',
              menu=None,
              display_type=None,
              related_item=None,
              name_args=None):
     if name_args is None:
         displayed_name = _(name)
     else:
         displayed_name = _(name) % name_args
     Item.__init__(self,
                   displayed_name,
                   type_,
                   menu=menu,
                   display_type=display_type)
     self.related_item = related_item
     self.preview_list = []
     self.base_name = name
     self.name_args = name_args
     return None
Exemple #11
0
 def __init__(self, program):
     Menu.__init__(self,
                   name='EPG Info Banner',
                   choices=[],
                   type='epg_info_banner')
     self.eventhandler = EpgInfoBannerEventHandler(self)
     self._getitems_keywords.update({
         'name': self.get_name,
         'start_time': self.get_start_time,
         'end_time': self.get_end_time,
         'duration': self.get_duration,
         'content_type': self.get_content_type,
         'description': self.get_description
     })
     self.program = program
     description = self.program.short_description + '\n' + program.description
     if description:
         self.pages = [
             description[start:start + self.PAGE_SIZE]
             for start in xrange(0, len(description), self.PAGE_SIZE)
         ]
     else:
         self.pages = []
     self.selected_page = 0
     extra_info = [
         Item(name=title, type_=key.lower(), menu=self)
         for key, title in program.EXTRA_INFO_FIELDS if int(program[key])
     ]
     maturity_key = program['maturityRating']
     if maturity_key is not None:
         maturity = 'maturityrating_%i.png' % int(maturity_key)
     else:
         maturity = 'maturityrating_unknown.png'
     extra_info.append(Item(name='maturity', type_=maturity, menu=self))
     self.set_items(extra_info, 'main_list', -1)
     return None
Exemple #12
0
 def __init__(self, name, verif_first=True, eventhandler=None, **kw):
     SecretCodeCheckMenu.__init__(self, name, **kw)
     self.main_items.append(
         SecretCodeUserConfigSetupItem(name='SecretCode',
                                       menu=self,
                                       domain='security',
                                       key='secretcode'))
     self.prompt_items.append(
         Item(name=_('Enter your new code'), type_='unknown'))
     self._current_action = self.main_items[0]
     self._display_explain = False
     if not verif_first:
         self._display_explain = True
         self._good_verif()
     return None
Exemple #13
0
 def browse(self, preview=False):
     trans = {
         '802.3': _('Ethernet'),
         '802.11': _('Wireless'),
         None: _('Disconnected')
     }
     active_cfg = wn_cfg.getActiveConfigurationInfos()
     dev_infos = wn_dev.getDeviceInfos(active_cfg['interface'])
     return [
         Item(trans[dev_infos['networkType']], type_='setupitem'),
         IpSetupItem(can_modify=self._can_modify, active_values=dev_infos),
         NetmaskSetupItem(can_modify=self._can_modify,
                          active_values=dev_infos),
         GatewaySetupItem(can_modify=self._can_modify,
                          active_values=dev_infos),
         DnsSetupItem(dns_num=1,
                      can_modify=self._can_modify,
                      active_values=dev_infos),
         DnsSetupItem(dns_num=2,
                      can_modify=self._can_modify,
                      active_values=dev_infos),
         Item(_('MAC : %(addr)s') % dict(addr=dev_infos['hwAddress']),
              type_='setupitem')
     ]
Exemple #14
0
 def __init__(self):
     Item.__init__(self,
                   _('EPG not available'),
                   type_='empty',
                   display_type='empty')
     return None
Exemple #15
0
 def __init__(self):
     Item.__init__(self,
                   _('No scheduled recordings'),
                   type_='empty',
                   display_type='empty')
     return None
Exemple #16
0
 def reset_view(self):
     for i in range(len(self.preview_list)):
         self.preview_list[i].reset_view()
     Item.reset_view(self)
Exemple #17
0
    def __init__(self,
                 name=_('Scheduled recordings'),
                 type_='scheduled_records'):
        Menu.__init__(self, name, type=type_, universe='tv')
        self.PERIODICITY = {
            'none': (_('Only this time'), 0),
            'daily': (_('Every day'), 1),
            'weekly': (_('Every week'), 7)
        }
        self._favorite_list = [TVRootItem().get_acl(menu=self)]
        self._favorite_list.extend(TVRootItem().browse_favorites(self))
        self._all_channel_list = self._favorite_list[0]
        self.eventhandler = ModifyScheduledRecordMenuEventHandler(self)
        self.channel_list = ItemListItem(_('Channels'),
                                         menu=self,
                                         _list=self._favorite_list,
                                         list_name='channel_name_list')
        self.favorite_list = ItemListItem(
            _('Favorites'),
            menu=self,
            _list=self._all_channel_list.browse(),
            list_name='favorite_name_list')
        self.service_list = ItemListItem(
            _('Channel'),
            menu=self,
            _list=[self.channel_list, self.favorite_list],
            list_name='service_list')
        self.item_lists_dict['service_list'] = self.service_list
        _today = date.today()
        date_list = [[_('Month'), MONTHS],
                     [
                         _('Year'),
                         [IntegerItem(i) for i in xrange(_today.year + 10)]
                     ],
                     [
                         _('Day'),
                         [
                             IntegerItem(i) for i in xrange(
                                 1,
                                 days_in_month(_today.year, _today.month) + 1)
                         ]
                     ]]
        date_order = DATE_ORDERS[user_config['base']['dateformat']]
        self.day_index = date_order.index(2)
        self.month_index = date_order.index(0)
        self.year_index = date_order.index(1)
        self.date_1_list = ItemListItem(date_list[date_order[0]][0],
                                        menu=self,
                                        _list=date_list[date_order[0]][1],
                                        list_name='date_1_list')
        self.date_2_list = ItemListItem(date_list[date_order[1]][0],
                                        menu=self,
                                        _list=date_list[date_order[1]][1],
                                        list_name='date_2_list')
        self.date_3_list = ItemListItem(date_list[date_order[2]][0],
                                        menu=self,
                                        _list=date_list[date_order[2]][1],
                                        list_name='date_3_list')
        self.date_list = ItemListItem(
            _('Date'),
            menu=self,
            _list=[self.date_1_list, self.date_2_list, self.date_3_list],
            list_name='date_list')
        self.item_lists_dict['date_list'] = self.date_list
        self.start_hour_list = ItemListItem(_('Hour'),
                                            menu=self,
                                            _list=HOURS,
                                            list_name='start_hour_list')
        self.start_minute_list = ItemListItem(_('Minute'),
                                              menu=self,
                                              _list=MINUTES,
                                              list_name='start_minute_list')
        self.start_time_list = ItemListItem(
            _('Start time'),
            menu=self,
            _list=[self.start_hour_list, self.start_minute_list],
            list_name='start_time_list')
        self.item_lists_dict['start_time_list'] = self.start_time_list
        self.stop_hour_list = ItemListItem(_('Hour'),
                                           menu=self,
                                           _list=HOURS,
                                           list_name='stop_hour_list')
        self.stop_minute_list = ItemListItem(_('Minute'),
                                             menu=self,
                                             _list=MINUTES,
                                             list_name='stop_minute_list')
        self.stop_time_list = ItemListItem(
            _('End time'),
            menu=self,
            _list=[self.stop_hour_list, self.stop_minute_list],
            list_name='stop_time_list')
        self.item_lists_dict['stop_time_list'] = self.stop_time_list
        self.record_name = ''

        def _fun(key):
            it = Item(self.PERIODICITY[key][0], 'periodic', self)
            it.val = self.PERIODICITY[key]
            it.key = key
            return it

        self.repetition_type_list = ItemListItem(
            _('Frequency'),
            menu=self,
            _list=map(_fun, ['none', 'daily', 'weekly']),
            list_name='repetition_type_list')
        self.repetition_list = ItemListItem(_('Frequency'),
                                            menu=self,
                                            _list=[self.repetition_type_list],
                                            list_name='repetition_list')
        self.item_lists_dict['repetition_list'] = self.repetition_list
        self.repetition_number_list = ItemListItem(
            _('Number of recordings'),
            menu=self,
            _list=REPEAT_NUMBERS,
            list_name='repetition_number_list')
        self.repetition_num_list = ItemListItem(
            _('Number of recordings'),
            menu=self,
            _list=[self.repetition_number_list],
            list_name='repetition_num_list')
        self.item_lists_dict['repetition_num_list'] = self.repetition_num_list
        self.confirm_list = ItemListItem(
            _('Confirm'),
            menu=self,
            list_name='confirmation_option_list',
            _list=[Item(_('Confirm'), 'choice', menu=self)])
        self.cancel_list = ItemListItem(
            _('Cancel'),
            menu=self,
            list_name='cancellation_option_list',
            _list=[Item(_('Cancel'), 'choice', menu=self)])
        self.confirm_list.execute = self._confirm
        self.cancel_list.execute = self.cancel
        self.confirmation_list = ItemListItem(
            _('Actions'),
            menu=self,
            list_name='confirmation_list',
            _list=[self.confirm_list, self.cancel_list])
        self.confirmation_list.select(None, True)
        self.item_lists_dict['confirmation_list'] = self.confirmation_list
        self.set_items([
            self.service_list, self.date_list, self.start_time_list,
            self.stop_time_list, self.repetition_list,
            self.repetition_num_list, self.confirmation_list
        ])
        self._getitems_keywords.update({
            'channel_name': (lambda:
                             (self.channel_list.selected.name
                              if self.channel_list.selected and self.
                              channel_list.selected.name else _('Unknown'))),
            'favorite_name':
            (lambda: (self.favorite_list.selected.name
                      if self.favorite_list.selected and self.favorite_list.
                      selected.name else _('Unknown'))),
            'record_name': (lambda: self.record_name),
            'date_1': (lambda: self.date_1_list.selected.name),
            'date_2': (lambda: self.date_2_list.selected.name),
            'date_3': (lambda: self.date_3_list.selected.name),
            'date_weekday':
            self._get_weekday_from_date,
            'start_hour': (lambda: self.start_hour_list.selected.name),
            'start_minute': (lambda: self.start_minute_list.selected.name),
            'stop_hour': (lambda: self.stop_hour_list.selected.name),
            'stop_minute': (lambda: self.stop_minute_list.selected.name),
            'repetition_type':
            (lambda: self.repetition_type_list.selected.name),
            'repetition_number':
            (lambda: self.repetition_number_list.selected.name),
            'confirmation_list': (lambda: self.confirmation_list)
        })
        self._record_to_remove = None
        self.scheduled_record = None
        return None
Exemple #18
0
 def __init__(self, *args, **kw):
     self.name = _('SetPoint : %d \xc2\xb0C') % (self._get_value())
     Item.__init__(self, name=self.name, *args, **kw)
Exemple #19
0
 def _fun(key):
     it = Item(self.PERIODICITY[key][0], 'periodic', self)
     it.val = self.PERIODICITY[key]
     it.key = key
     return it
Exemple #20
0
 def __init__(self, record, type_='schedule', menu=None, display_type=None):
     Item.__init__(self, record.name.decode('utf-8', 'ignore'), type_, menu,
                   display_type)
     self.record = record
     return None
Exemple #21
0
 def __init__(self, menu=None, display_type=None, parent=None):
     Item.__init__(self, _('My scheduled recordings'), 'schedule_dir', menu,
                   display_type, parent)
     return None