def paintCell(self, values): val = self.color if val: colorName = forceString(val) if colorName: return QtCore.QVariant(QtGui.QColor(colorName)) return CCol.invalid
def _load(self): table = self._db.table('INFORMATION_SCHEMA.ROUTINES') typeNameMap = { CDatabaseRoutine.FUNCTION: 'FUNCTION', CDatabaseRoutine.PROCEDURE: 'PROCEDURE' } cols = [table['ROUTINE_NAME'], table['ROUTINE_TYPE']] cond = [ table['ROUTINE_SCHEMA'].eq(self._db.db.databaseName()), table['ROUTINE_TYPE'].eq(typeNameMap[self._routineType]) ] self._routineMap = dict( (forceString(rec.value('ROUTINE_NAME')), CDatabaseRoutine(self._db, forceString(rec.value('ROUTINE_NAME')), self._routineMap)) for rec in self._db.iterRecordList(table, cols, cond))
def enableBarCodeReader(self, busyByEvent=False, mode=CBarCodeReaderThread.omsMode, createNew=False, withoutSignals=False): isBarCodeReaderEnable = forceBool( getVal(QtGui.qApp.preferences.appPrefs, 'BarCodeReaderEnable', False)) scannerPort = forceString( getVal(QtGui.qApp.preferences.appPrefs, 'BarCodeReaderName', u"COM3")) if isBarCodeReaderEnable: if (not hasattr(QtGui.qApp, 'barCodethread') or createNew) or \ (hasattr(QtGui.qApp, 'barCodethread') and QtGui.qApp.barCodethread.isFinished()): self.disableBarCodeReader() QtGui.qApp.barCodethread = CBarCodeReaderThread(scannerPort) QtGui.qApp.barCodethread.start() if not withoutSignals: QtGui.qApp.barCodethread.barCodeReader.read.connect( self.barCodeResultHandler) QtGui.qApp.barCodethread.barCodeReader.error.connect( self.onBarcodeReaderError) QtGui.qApp.barCodethread.busyByEvent = busyByEvent QtGui.qApp.barCodethread.setFunc(mode)
def databaseFormatSex(sex): sex = forceString(sex).upper() if sex == u'М': return 1 elif sex == u'Ж': return 2 else: return None
def mimeData(self, indexes): idList = set() for index in indexes: idList.add(forceString(self.idList()[index.row()])) mimeData = QMimeData() mimeData.setText(u','.join(idList)) return mimeData
def __init__(self, database, tableName, field, fieldType=None): self.database = database # type: CDatabase self.tableName = tableName if isinstance(field, QtSql.QSqlField): self.fieldName = database.escapeFieldName(field.name()) self.field = field self.isSurrogate = False elif isinstance(field, (basestring, QString)): self.fieldName = forceString(field) self.field = QtSql.QSqlField( field, fieldType if isinstance(fieldType, QVariant.Type) else QVariant.String) self.isSurrogate = True
def setEditorData(self, editor, value, record): subTable = self._caches[0].table cond = self._editorValueFilter if isinstance(cond, tuple) and len(cond) == 2: masterFieldName, slaveFieldName = self._editorValueFilter masterValue = record.value(masterFieldName) cond = subTable[slaveFieldName].eq(masterValue) if not self._mapMasterIdToItemIdList.has_key(cond): self._mapMasterIdToItemIdList[cond] = QtGui.qApp.db.getIdList(table=subTable, where=cond) editor.clear() if self._addNone: editor.addItem(u'Не выбрано', userData=toVariant(None)) for itemId in self._mapMasterIdToItemIdList[cond]: itemText = forceString(self.toString(itemId, record)) editor.addItem(itemText, userData=toVariant(itemId))
def formatSNILS(SNILS): if SNILS: s = forceString(SNILS) + ' ' * 14 return s[0:3] + '-' + s[3:6] + '-' + s[6:9] + ' ' + s[9:11] else: return u''
# -*- coding: utf-8 -*- import re from PyQt4.QtCore import * from Utils.Forcing import forceString, forceStringEx, forceInt trim = lambda x: forceString(x).strip() # TODO: soltanoff: странный метод... Нужно сделать проще, зачем так сложно? def nameCase(text): result = u'' up = True for symbol in text: if symbol.isalpha(): if up: result += symbol.upper() up = False else: result += symbol.lower() else: up = True result += symbol return result def isNameValid(name): return not re.search(r'''[0-9a-zA-Z`~!@#$%^&*_=+\\|{}[\];:"<>?/().,]''', forceStringEx(name))
def readOMSBarCode(message): sixBitEncoding = { 0: u' ', 1: u'.', 2: u'-', 3: u'"', 4: u'0', 5: u'1', 6: u'2', 7: u'3', 8: u'4', 9: u'5', 10: u'6', 11: u'7', 12: u'8', 13: u'9', 14: u'А', 15: u'Б', 16: u'В', 17: u'Г', 18: u'Д', 19: u'Е', 20: u'Ё', 21: u'Ж', 22: u'З', 23: u'И', 24: u'Й', 25: u'К', 26: u'Л', 27: u'М', 28: u'Н', 29: u'О', 30: u'П', 31: u'Р', 32: u'С', 33: u'Т', 34: u'У', 35: u'Ф', 36: u'Х', 37: u'Ц', 38: u'Ч', 39: u'Ш', 40: u'Щ', 41: u'Ь', 42: u'Ъ', 43: u'Ы', 44: u'Э', 45: u'Ю', 46: u'Я', 47: u' ', 48: u' ', 49: u' ', 50: u' ', 51: u' ', 52: u' ', 53: u' ', 54: u' ', 55: u' ', 56: u' ', 57: u' ', 58: u' ', 59: u' ', 60: u' ', 61: u' ', 62: u' ', 63: u'|', } polisN = 0 for i in message[1:9]: polisN = (polisN << 8) | i name = u'' pos = 0 rest = 0 for i in message[9:60]: posMod = pos % 3 if posMod == 0: name += sixBitEncoding[(i >> 2)] rest = i & 0x03 elif posMod == 1: name += sixBitEncoding[(rest << 4) | (i >> 4)] rest = i & 0x0F elif posMod == 2: name += sixBitEncoding[(rest << 2) | (i >> 6)] name += sixBitEncoding[(i & 0x3F)] rest = 0 pos += 1 sex = message[60] bDays = 0 # birthDate for i in message[61:63]: bDays = (bDays << 8) | i dateBeg = datetime.date(1900, 1, 1) bDate = dateBeg + datetime.timedelta(days=bDays) pDays = 0 for i in message[63:65]: pDays = (pDays << 8) | i polisEndDate = dateBeg + datetime.timedelta(days=pDays) ecp = u'' for i in message[65:131]: ecp += u'%02X' % i nameSplit = name.split('|') endDate = QtCore.QDate(polisEndDate) if datetime.date( 1900, 1, 1) != polisEndDate else QtCore.QDate() result = dict() result['lastName'] = nameSplit[0].strip() result['firstName'] = nameSplit[1].strip() result['patrName'] = nameSplit[2].strip() result['sex'] = sex result['bDate'] = QtCore.QDate(bDate) # birth date result['number'] = forceString(polisN) # duration (срок действия) result['endDate'] = endDate result['errorMessage'] = u'' return result
def formatNative(self, values): return forceString(self.getValues(values)[0])
def setEditorData(self, editor, value, record): index = editor.findText(forceString(value), Qt.MatchFixedString) if index < 0: index = 0 editor.setCurrentIndex(index)
def toString(self, val, record): str = forceString(val).lower() for item in self.values: if item.lower() == str: return toVariant(item) return toVariant(u'{' + forceString(val) + u'}')
def getBackgroundColor(self, values): val = values[0] colorName = forceString(val) if colorName: return QVariant(QtGui.QColor(colorName)) return CCol.invalid