def spreadSingleAttribute(self, skinAttributes): for attrib, value in skinAttributes: if attrib == 'step': self.step = int(value) elif attrib == 'steptime': self.steptime = int(value) elif attrib == 'position': self._position = parsePosition(value, ((1, 1), (1, 1))) self.widget_attribs.append((attrib, value)) elif attrib == 'size': self._size = parseSize(value, ((1, 1), (1, 1))) self.longtext_attribs.append((attrib, value)) elif attrib == 'startdelay': if value.startswith('config.'): value = int(configfile.getResolvedKey(value)) * 1000 self.startdelay = int(value) elif attrib == 'animation': self.animationScreen = True elif attrib == 'astartdelay': if value.startswith('config.'): value = int(configfile.getResolvedKey(value)) * 1000 self.astartdelay = int(value) elif attrib == 'aposition': self.aposition = parsePosition(value, ((1, 1), (1, 1))) elif attrib == 'asize': self.asize = parseSize(value, ((1, 1), (1, 1))) elif attrib == 'autoScroll': self.autoScroll = value == '1' elif attrib == 'align': if 'bottom' in value.split(','): self.valignbottom = True self.longtext_attribs.append((attrib, value)) elif attrib == 'valign': if 'bottom' in value.split(','): self.valignbottom = True self.longtext_attribs.append((attrib, value)) elif attrib == 'scrollbarMode': self.scrollbarmode = value.lower() elif attrib == 'sliderLengthTip': self.sliderlengthtip = int(value) self.scrollbar_attribs.append((attrib, value)) elif attrib in ('borderColor', 'borderWidth', 'sliderBackground', 'sliderForeground', 'sliderPointer'): self.scrollbar_attribs.append((attrib, value)) elif attrib in ('font', 'transparent', 'foregroundColor', 'backgroundColor', 'halign'): self.longtext_attribs.append((attrib, value)) elif attrib == 'css': from skin import cascadingStyleSheets styles = value.split(',') for style in styles: for _attrib in cascadingStyleSheets[style].keys(): _value = cascadingStyleSheets[style][_attrib] self.spreadSingleAttribute([(_attrib, _value)]) else: self.widget_attribs.append((attrib, value))
def addItem(self, destList, node): requires = node.get('requires') if requires: if requires.startswith('config.'): if configfile.getResolvedKey(requires) == 'False': return elif requires[0] == '!': if SystemInfo.get(requires[1:], False): return elif not SystemInfo.get(requires, False): return item_text = node.get('text', '').encode('UTF-8') entryID = node.get('entryID', 'undefined') weight = node.get('weight', 50) end_text = node.get('endtext', '>').encode('UTF-8') for x in node: if x.tag == 'screen': module = x.get('module') screen = x.get('screen') if screen is None: screen = module print module, screen if module: if module.find('.') == -1: module = 'Screens.' + module else: try: exec 'from ' + module + ' import *' except: module = None else: module = '' args = x.text or '' screen += ', ' + args if module is not None: destList.append((_(item_text or '??'), boundFunction(self.runScreen, (module, screen)), entryID, weight, end_text)) return if x.tag == 'code': destList.append( (_(item_text or '??'), boundFunction(self.execText, x.text), entryID, weight, end_text)) return if x.tag == 'setup': id = x.get('id') if item_text == '': item_text = getSetupTitle(id) destList.append( (_(item_text), boundFunction(self.openSetup, id), entryID, weight, end_text)) return destList.append( (_(item_text), self.nothing, entryID, weight, end_text))
def getBoolean(self): if self.argerror: print("ConfigEntryTest got invalid arguments", self.converter_arguments, "force True!!") return True if self.checkSourceBoolean and not getattr(self.source, "boolean", False): return False val = configfile.getResolvedKey(self.configKey) ret = val == self.configValue return ret ^ self.invert
def getBoolean(self): if self.argerror: print "ConfigEntryTest got invalid arguments", self.converter_arguments, "force True!!" return True if self.checkSourceBoolean and not self.source.boolean: return False val = configfile.getResolvedKey(self.configKey) ret = val == self.configValue return ret ^ self.invert
def getBoolean(self): if self.argerror: print 'ConfigEntryTest got invalid arguments', self.converter_arguments, 'force True!!' return True if self.checkSourceBoolean and not self.source.boolean: return False val = configfile.getResolvedKey(self.configKey) ret = val == self.configValue return ret ^ self.invert
def addItem(self, destList, node): requires = node.get('requires') if requires: if requires.startswith('config.'): if configfile.getResolvedKey(requires) == 'False': return elif requires[0] == '!': if SystemInfo.get(requires[1:], False): return elif not SystemInfo.get(requires, False): return item_text = node.get('text', '').encode('UTF-8') entryID = node.get('entryID', 'undefined') weight = node.get('weight', 50) end_text = node.get('endtext', '>').encode('UTF-8') for x in node: if x.tag == 'screen': module = x.get('module') screen = x.get('screen') if screen is None: screen = module print module, screen if module: if module.find('.') == -1: module = 'Screens.' + module else: try: exec 'from ' + module + ' import *' except: module = None else: module = '' args = x.text or '' screen += ', ' + args if module is not None: destList.append((_(item_text or '??'), boundFunction(self.runScreen, (module, screen)), entryID, weight, end_text)) return if x.tag == 'code': destList.append((_(item_text or '??'), boundFunction(self.execText, x.text), entryID, weight, end_text)) return if x.tag == 'setup': id = x.get('id') if item_text == '': item_text = getSetupTitle(id) destList.append((_(item_text), boundFunction(self.openSetup, id), entryID, weight, end_text)) return destList.append((_(item_text), self.nothing, entryID, weight, end_text))
def getBoolean(self): if self.argError: print("[ConfigEntryTest] Got invalid arguments '%s', force True!" % self.converter_arguments) return True if self.checkSourceBoolean and not self.source.boolean: return False if self.checkInvertSourceBoolean and self.source.boolean: return False value = configfile.getResolvedKey( self.configKey, silent=True) # Invalid/non-existent keys will return None. if value is None and not self.ignore: print( "[ConfigEntryTest] Converter argument '%s' is missing or invalid!" % self.configKey) retVal = value == self.configValue return retVal ^ self.invert
def addMenu(self, destList, node): requires = node.get('requires') if requires: if requires.startswith('config.'): if configfile.getResolvedKey(requires) == 'False': return elif requires[0] == '!': if SystemInfo.get(requires[1:], False): return elif not SystemInfo.get(requires, False): return MenuTitle = _(node.get('text', '??').encode('UTF-8')) entryID = node.get('entryID', 'undefined') weight = node.get('weight', 50) end_text = node.get('endtext', '>').encode('UTF-8') x = node.get('flushConfigOnClose') if x: a = boundFunction(self.session.openWithCallback, self.menuClosedWithConfigFlush, Menu, node) else: a = boundFunction(self.session.openWithCallback, self.menuClosed, Menu, node) destList.append((MenuTitle, a, entryID, weight, end_text))