def loadOldTests(self, e): l = self.addGroup('main') for t in e.iterfind('test'): feats = {} f = t.get('feats') if f: for ft in f.split(" "): (k, v) = ft.split('=') feats[k] = int(v) txt = t.text if not txt: y = t.find('text') txt = y.text y = t.find('comment') if y is not None: c = y.text else: c = "" te = Test(txt, feats, rtl=t.get('rtl'), name=t.get('name'), comment=c) b = t.get('background') if b: res = QtGui.QColor(b) if res.isValid(): te.background = res self.appendTest(te, l)
def loadOldTests(self, e) : l = self.addGroup('main') for t in e.iterfind('test') : feats = {} f = t.get('feats') if f : for ft in f.split(" ") : (k, v) = ft.split('=') feats[k] = int(v) txt = t.text if not txt : y = t.find('text') txt = y.text y = t.find('comment') if y is not None : c = y.text else : c = "" te = Test(txt, feats, rtl = t.get('rtl'), name = t.get('name'), comment = c) b = t.get('background') if b : res = QtGui.QColor(b) if res.isValid() : te.background = res self.appendTest(te, l)
def loadTests(self, fname): #print "TestList::loadTests(" + fname + ")" # Assumes the file has been added to the UI. self.testGroups = [] self.gcombo.clear() for i in range(self.liststack.count()-1, -1, -1) : self.liststack.removeWidget(self.liststack.widget(i)) if not fname or not os.path.exists(fname) : # Create a new set of tests - these will be stored in a new file. self.initTests(fname) return try : e = et.parse(fname) except Exception as err: reportError("TestsFile %s: %s" % (fname, str(err))) return if e.getroot().tag == 'tests' : print "Can't find tests file " + fname self.loadOldTests(e) return styles = {} langs = {} self.header = e.find('.//head') if self.header is None : self.header = e.find('.//header') for s in e.iterfind('.//style') : styleName = s.get('name') featDescrip = s.get('feats') or "" langCode = s.get('lang') or "" fset = featDescrip + "\n" + langCode if fset not in self.fsets : self.fsets[fset] = styleName styles[styleName] = {} if langCode : langs[styleName] = langCode for ft in featDescrip.split(" ") : if '=' in ft : (fname, value) = ft.split('=') if value and value != "None" : # under buggy circumstances value can be 'None'; test for it just in case styles[styleName][fname] = int(value) m = re.match(r'fset([0-9]+)', styleName) if m : i = int(m.group(1)) ## number of the fset, eg 'fset2' -> 2 if i > self.fcount : self.fcount = i for g in e.iterfind('testgroup') : listwidget = self.addGroup(g.get('label')) y = g.find('comment') self.comments.append(y.text if y else '') for t in g.iterfind('test') : y = t.find('string') if y is None : y = t.find('text') txt = y.text if y is not None else "" y = t.find('comment') c = y.text if y is not None else "" y = t.get('class') if y and y in styles : feats = styles[y] lng = langs.get(y) else : feats = {} lng = None te = Test(txt, feats, lang = lng, rtl = asBool(t.get('rtl')), name = t.get('label'), comment = c) b = t.get('background') if b : res = QtGui.QColor(b) if res.isValid() : te.background = res w = t.get('expand') if w : te.setWidth(int(w)) self.appendTest(te, listwidget)
def loadTests(self, fname): #print "TestList::loadTests(" + fname + ")" # Assumes the file has been added to the UI. self.testGroups = [] self.gcombo.clear() for i in range(self.liststack.count() - 1, -1, -1): self.liststack.removeWidget(self.liststack.widget(i)) if not fname or not os.path.exists(fname): # Create a new set of tests - these will be stored in a new file. self.initTests(fname) return try: e = et.parse(fname) except Exception as err: reportError("TestsFile %s: %s" % (fname, str(err))) return if e.getroot().tag == 'tests': print "Can't find tests file " + fname self.loadOldTests(e) return styles = {} langs = {} self.header = e.find('.//head') if self.header is None: self.header = e.find('.//header') for s in e.iterfind('.//style'): styleName = s.get('name') featDescrip = s.get('feats') or "" langCode = s.get('lang') or "" fset = featDescrip + "\n" + langCode if fset not in self.fsets: self.fsets[fset] = styleName styles[styleName] = {} if langCode: langs[styleName] = langCode for ft in featDescrip.split(" "): if '=' in ft: (fname, value) = ft.split('=') if value and value != "None": # under buggy circumstances value can be 'None'; test for it just in case styles[styleName][fname] = int(value) m = re.match(r'fset([0-9]+)', styleName) if m: i = int(m.group(1)) ## number of the fset, eg 'fset2' -> 2 if i > self.fcount: self.fcount = i for g in e.iterfind('testgroup'): listwidget = self.addGroup(g.get('label')) y = g.find('comment') self.comments.append(y.text if y else '') for t in g.iterfind('test'): y = t.find('string') if y is None: y = t.find('text') txt = y.text if y is not None else "" y = t.find('comment') c = y.text if y is not None else "" y = t.get('class') if y and y in styles: feats = styles[y] lng = langs.get(y) else: feats = {} lng = None te = Test(txt, feats, lang=lng, rtl=asBool(t.get('rtl')), name=t.get('label'), comment=c) b = t.get('background') if b: res = QtGui.QColor(b) if res.isValid(): te.background = res w = t.get('expand') if w: te.setWidth(int(w)) self.appendTest(te, listwidget)