def __getitem__(self, key): if isinstance(key, (basestring, QtCore.QString)): try: property = self._action.getProperty(unicode(key)) propertyType = property.type() if self.isVisible(propertyType): return self.getInstance(CPropertyInfo, property) else: actionType = self._action.getType() raise CException( u'У действия типа "%s" свойство "%s" не выводится в выполнении работ' % (actionType.name, unicode(key))) except KeyError: actionType = self._action.getType() raise CException(u'Действие типа "%s" не имеет свойства "%s"' % (actionType.name, unicode(key))) if isinstance(key, (int, long)): try: return self.getInstance(CPropertyInfo, self._action.getPropertyByIndex(key)) except IndexError: actionType = self._action.getType() raise CException( u'Действие типа "%s" не имеет свойства c индексом "%s"' % (actionType.name, unicode(key))) else: raise TypeError, u'Action property subscription must be string or integer'
def __getitem__(self, key): if isinstance(key, (basestring, QtCore.QString)): try: return self.getInstance(CPropertyInfo, self._action.getProperty(unicode(key))) except KeyError: actionType = self._action.getType() raise CException(u'Действие типа "%s" не имеет свойства "%s"' % (actionType.name, unicode(key))) if isinstance(key, (int, long)): try: return self.getInstance(CPropertyInfo, self._action.getPropertyByIndex(key)) except IndexError: actionType = self._action.getType() raise CException( u'Действие типа "%s" не имеет свойства c индексом "%s"' % (actionType.name, unicode(key))) else: raise TypeError, u'Action property subscription must be string or integer'
def openDBF(self): dbf = None fileName = forceStringEx(self.edtFileName.text()) result = os.path.isfile(fileName) if result: dbf = Dbf(fileName, readOnly=True, encoding='cp866') fieldsList = ['CODE', 'NAME', 'ORG', 'ISPAY', 'DATN', 'DATO'] if not dbfCheckNames(dbf, fieldsList): raise CException(u'файл %s\nне содержит одного из полей:\n%s' % (fileName, ', '.join(fieldsList))) self.labelNum.setText(u'всего записей в источнике: '+str(dbf.recordCount)) return dbf
def on_btnOpenFromFile_clicked(self): fileName = QtGui.QFileDialog.getOpenFileName( parent=self, caption=u'Выберите файл для открытия', directory=QtCore.QDir.homePath(), filter=u'XML files (*.xml)') inpXmlFile = QtCore.QFile(fileName) if inpXmlFile.open(QtCore.QFile.ReadOnly): self.treeModel().readFromXml(inpXmlFile) else: raise CException(u'error save to file')
def openDBF(self, fileName, fieldsList): dbf = None result = os.path.isfile(fileName) if result: dbf = Dbf(fileName, readOnly=True, encoding='cp866') if not dbfCheckNames(dbf, fieldsList): raise CException(u'файл %s\nне содержит одного из полей:\n%s' % (fileName, ', '.join(fieldsList))) self.totalRecordCount += dbf.recordCount self.labelNum.setText(u'всего записей в источниках: ' + str(self.totalRecordCount)) return dbf
def on_btnSaveToFile_clicked(self): fileName = QtGui.QFileDialog.getSaveFileName( parent=self, caption=u'Выберите файл для сохранения', directory=QtCore.QDir.homePath(), filter=u'XML files (*.xml)') outXmlFile = QtCore.QFile(fileName) if outXmlFile.open(QtCore.QFile.WriteOnly): self.treeModel().writeToXml(outXmlFile) else: raise CException(u'error save to file')