Exemplo n.º 1
0
 def __init__(self, parent, showLog=False):
     QXmlStreamReader.__init__(self)
     self.parent = parent
     self.db = QtGui.qApp.db
     self.showLog = showLog
     self.sheetData = {}
     self.currentCol = ""
Exemplo n.º 2
0
 def __init__(self, parent, showLog=False):
     QXmlStreamReader.__init__(self)
     self.parent = parent
     self.db = QtGui.qApp.db
     self.tableAction = tbl('Action')
     self.tableActionProperty = tbl('ActionProperty')
     self.tableActionPropertyTemplate = tbl('ActionPropertyTemplate')
     self.tableActionPropertyType = tbl('ActionPropertyType')
     self.tableActionType = tbl('ActionType')
     self.tableActionTemplate = tbl('ActionTemplate')
     self.tableSpeciality = tbl('rbSpeciality')
     self.tablePerson = tbl('Person')
     self.tableUnit = tbl('rbUnit')
     self.nadded = 0
     self.ncoincident = 0
     self.nprocessed = 0
     self.nupdated = 0
     self.mapActionTemplateKeyToId = {}
     self.mapActionPropertyTemplateKeyToId = {}
     self.mapActionTypeKeyToId = {}
     self.mapSpecialityKeyToId = {}
     self.mapOwnerKeyToId = {}
     self.mapUnitKeyToId = {}
     self.showLog = showLog
     self.actionList = []
     self.recursionLevel = 0
Exemplo n.º 3
0
 def readSettings ( self ):
   # read XML by QXmlStreamReader 
   # fix changed locations between versions
   try:
     from PyQt4.QtCore import QXmlStreamReader 
   except:
     from PyQt4.QtXml import QXmlStreamReader 
     
   from PyQt4.QtCore import QXmlStreamReader 
     
   if ( self.file.open( QtCore.QIODevice.ReadWrite | QtCore.QIODevice.Text ) ) : 
     xml = QXmlStreamReader( self.file ) 
     label = ''
     while not xml.atEnd():
       token = xml.readNext()
       if token == QXmlStreamReader.StartElement:
         name = xml.name()
         attr = xml.attributes()
         if name == 'preset' :
           label = str( "%s" % attr.value('name').toString() ) 
           #print "label = %s" % label
           self.presets[ label ] = {}
         elif name in self.key_list.keys() :
           section = str( name.toString() )
           #print "section = %s" % section
           item_list = {}
           for key in self.key_list[ section ] :
             value = str( "%s" % attr.value( key ).toString() )
             item_list[key] = value
             #print "%s = %s" % (key, value)
           
           self.presets[ label ].setdefault( section, item_list.copy() )  
        
     self.file.close()
Exemplo n.º 4
0
 def __init__(self, str):
     QXmlStreamReader.__init__(self, str)
     self._result = None
     self._lastName = None
     self._name = None
     self._patronymicName = None
     self._SNILS = None
     self._benefitCategories = []
Exemplo n.º 5
0
 def __init__(self, parent, showLog=False):
     QXmlStreamReader.__init__(self)
     self.parent = parent
     self.db = QtGui.qApp.db
     self.tableRbUnit = tbl('rbUnit')
     self.nadded = 0
     self.ncoincident = 0
     self.nprocessed = 0
     self.nupdated = 0
     self.mapRbUnitKeyToId = {}
     self.showLog = showLog
     self.elementsList = []
Exemplo n.º 6
0
 def __init__(self, parent):
     QXmlStreamReader.__init__(self)
     self.parent = parent
     self.db = QtGui.qApp.db
     self.tableThesaurus = tbl('rbThesaurus')
     self.nadded = 0
     self.ncoincident = 0
     self.nprocessed = 0
     self.nupdated = 0
     self.mapThesaurusKeyToId = {}
     self.showLog = self.parent.chkFullLog.isChecked()
     self.recursionLevel = 0
Exemplo n.º 7
0
 def __init__(self,  parent,  compareOnlyByCode):
     QXmlStreamReader.__init__(self)
     self.parent = parent
     self.db=QtGui.qApp.db
     self.table = tbl('rbService')
     self.nadded = 0
     self.ncoincident = 0
     self.nprocessed = 0
     self.nupdated = 0
     self.mapServiceKeyToId = {}
     self.showLog = self.parent.chkFullLog.isChecked()
     self.recursionLevel = 0
     self.compareOnlyByCode = compareOnlyByCode
Exemplo n.º 8
0
    def _handle_reply(self, reply, request, handler, xml, refresh):
        error = int(reply.error())
        if error:
            log.error("Network request error for %s: %s (QT code %d, HTTP code %s)",
                      reply.request().url().toString(QUrl.RemoveUserInfo),
                      reply.errorString(),
                      error,
                      repr(reply.attribute(QtNetwork.QNetworkRequest.HttpStatusCodeAttribute))
                      )
            if handler is not None:
                handler(str(reply.readAll()), reply, error)
        else:
            redirect = reply.attribute(QtNetwork.QNetworkRequest.RedirectionTargetAttribute)
            fromCache = reply.attribute(QtNetwork.QNetworkRequest.SourceIsFromCacheAttribute)
            cached = ' (CACHED)' if fromCache else ''
            log.debug("Received reply for %s: HTTP %d (%s) %s",
                      reply.request().url().toString(QUrl.RemoveUserInfo),
                      reply.attribute(QtNetwork.QNetworkRequest.HttpStatusCodeAttribute),
                      reply.attribute(QtNetwork.QNetworkRequest.HttpReasonPhraseAttribute),
                      cached
                      )
            if handler is not None:
                # Redirect if found and not infinite
                if redirect and not XmlWebService.urls_equivalent(redirect, reply.request().url()):
                    log.debug("Redirect to %s requested", redirect.toString(QUrl.RemoveUserInfo))
                    redirect_host = str(redirect.host())
                    redirect_port = redirect.port(80)

                    url = request.url()
                    original_host = str(url.host())
                    original_port = url.port(80)

                    if ((original_host, original_port) in REQUEST_DELAY
                            and (redirect_host, redirect_port) not in REQUEST_DELAY):
                        log.debug("Setting rate limit for %s:%i to %i" %
                                  (redirect_host, redirect_port,
                                   REQUEST_DELAY[(original_host, original_port)]))
                        REQUEST_DELAY[(redirect_host, redirect_port)] =\
                            REQUEST_DELAY[(original_host, original_port)]

                    self.get(redirect_host,
                             redirect_port,
                             # retain path, query string and anchors from redirect URL
                             redirect.toString(QUrl.RemoveAuthority | QUrl.RemoveScheme),
                             handler, xml, priority=True, important=True, refresh=refresh,
                             cacheloadcontrol=request.attribute(QtNetwork.QNetworkRequest.CacheLoadControlAttribute))
                elif redirect:
                    log.error("Redirect loop: %s",
                              reply.request().url().toString(QUrl.RemoveUserInfo)
                              )
                    handler(str(reply.readAll()), reply, error)
                elif xml:
                    document = _read_xml(QXmlStreamReader(reply))
                    handler(document, reply, error)
                else:
                    handler(str(reply.readAll()), reply, error)
Exemplo n.º 9
0
 def __init__(self, parent):
     QXmlStreamReader.__init__(self)
     self.parent = parent
     self.db = QtGui.qApp.db
     self.tableActionType = tbl('ActionType')
     self.tableActionPropertyType = tbl('ActionPropertyType')
     self.tableActionPropertyTemplate = tbl('ActionPropertyTemplate')
     self.tableUnit = tbl('rbUnit')
     self.tableService = tbl('rbService')
     self.nadded = 0
     self.ncoincident = 0
     self.nprocessed = 0
     self.nupdated = 0
     self.mapUnitKeyToId = {}
     self.mapTemplateKeyToId = {}
     self.mapServiceKeyToId = {}
     self.mapActionTypeKeyToId = {}
     self.mapActionTypeFlatCodeToId = {}
     self.showLog = self.parent.chkFullLog.isChecked()
     self.recursionLevel = 0
Exemplo n.º 10
0
class CXmlReading:
    def __init__(self):
        self._xmlReader = QXmlStreamReader()

    def readNext(self):
        return self._xmlReader.readNext()

    def atEnd(self):
        return self._xmlReader.atEnd()

    def name(self):
        return self._xmlReader.name()

    def readElementText(self):
        return self._xmlReader.readElementText()

    def isStartElement(self):
        return self._xmlReader.isStartElement()

    def isEndElement(self):
        return self._xmlReader.isEndElement()
Exemplo n.º 11
0
    def _process_reply(self, reply):
        self.num_active_requests -= 1
        try:
            request, handler, xml = self._active_requests.pop(reply)
        except KeyError:
            log.error("Error: Request not found for %s" %
                      str(reply.request().url().toString()))
            return
        error = int(reply.error())
        redirect = reply.attribute(
            QtNetwork.QNetworkRequest.RedirectionTargetAttribute).toUrl()
        fromCache = reply.attribute(
            QtNetwork.QNetworkRequest.SourceIsFromCacheAttribute).toBool()
        cached = ' (CACHED)' if fromCache else ''
        log.debug(
            "Received reply for %s: HTTP %d (%s) %s",
            reply.request().url().toString(),
            reply.attribute(
                QtNetwork.QNetworkRequest.HttpStatusCodeAttribute).toInt()[0],
            reply.attribute(QtNetwork.QNetworkRequest.HttpReasonPhraseAttribute
                            ).toString(), cached)
        if handler is not None:
            if error:
                log.error(
                    "Network request error for %s: %s (QT code %d, HTTP code %d)",
                    reply.request().url().toString(), reply.errorString(),
                    error,
                    reply.attribute(QtNetwork.QNetworkRequest.
                                    HttpStatusCodeAttribute).toInt()[0])

            # Redirect if found and not infinite
            if not redirect.isEmpty() and not XmlWebService.urls_equivalent(
                    redirect,
                    reply.request().url()):
                log.debug("Redirect to %s requested", redirect.toString())
                redirect_host = str(redirect.host())
                redirect_port = redirect.port(80)

                url = request.url()
                original_host = str(url.host())
                original_port = url.port(80)

                if ((original_host, original_port) in REQUEST_DELAY and
                    (redirect_host, redirect_port) not in REQUEST_DELAY):
                    log.debug("Setting rate limit for %s:%i to %i" %
                              (redirect_host, redirect_port,
                               REQUEST_DELAY[(original_host, original_port)]))
                    REQUEST_DELAY[(redirect_host, redirect_port)] =\
                        REQUEST_DELAY[(original_host, original_port)]

                self.get(
                    redirect_host,
                    redirect_port,
                    # retain path, query string and anchors from redirect URL
                    redirect.toString(QUrl.RemoveAuthority
                                      | QUrl.RemoveScheme),
                    handler,
                    xml,
                    priority=True,
                    important=True,
                    cacheloadcontrol=request.attribute(
                        QtNetwork.QNetworkRequest.CacheLoadControlAttribute))
            elif xml:
                document = _read_xml(QXmlStreamReader(reply))
                handler(document, reply, error)
            else:
                handler(str(reply.readAll()), reply, error)
        reply.close()
Exemplo n.º 12
0
 def readNext(self):
     QXmlStreamReader.readNext(self)
     self.parent.progressBar.setValue(self.device().pos())
Exemplo n.º 13
0
 def __init__(self):
     self._xmlReader = QXmlStreamReader()
Exemplo n.º 14
0
    def parseHtml(self, htmlTemplate):
        # reload smartObject each time
        self.smartObject = self.entryModel.getSmartObject()
        #TODO remove QString
        reader = QXmlStreamReader(htmlTemplate)
        tmpList = []
        while not reader.atEnd():
            reader.readNext()
            name = unicode(reader.name().toString())
            if reader.isStartElement():
                attributes = reader.attributes()
                if name == "ldapobject":
                    tmpList.append(self.createStringFromTemplate(attributes))
                else:
                    if not attributes.isEmpty():
                        size = attributes.size()
                        list = []
                        for i in range(0, size):
                            attribute = attributes.at(i)
                            attributeName = unicode(attribute.name().toString())
                            attributeValue = unicode(attribute.value().toString())
                            attributeString = '%s="%s"' % (attributeName, attributeValue)
                            list.append(attributeString)
                        attributesString = ' '.join(list)
                        tag = "<%s %s>" % (name, attributesString)
                        tmpList.append(tag)
                    else:
                        tag = "<%s>" % name
                        tmpList.append(tag)
            elif reader.isEndElement():
                if not (name == "ldapobject"):
                    tag = "</%s>" % name
                    tmpList.append(tag)
            elif reader.isCharacters():
                if not (unicode(reader.name()) == "ldapobject"):
                    tmpList.append(unicode(reader.text().toString()))

        if reader.hasError():
            return reader.errorString()
        return ''.join(tmpList)
Exemplo n.º 15
0
 def __init__(self, parent, showLog=False):
     QXmlStreamReader.__init__(self)
     self.parent = parent
     self.showLog = showLog
     self.elementsList = {}
Exemplo n.º 16
0
 def __init__(self, parent, showLog=False):
     QXmlStreamReader.__init__(self)
     self.parent = parent
     self.db = QtGui.qApp.db
     self.showLog = showLog
     self.sharedStrings = []
Exemplo n.º 17
0
 def raiseError(self, str):
     QXmlStreamReader.raiseError(
         self,
         u'[%d:%d] %s' % (self.lineNumber(), self.columnNumber(), str))
     raise CException(u'Ошибка при разборе xml :[%d:%d] %s' %
                      (self.lineNumber(), self.columnNumber(), str))
Exemplo n.º 18
0
 def readNext(self):
     QXmlStreamReader.readNext(self)
     if hasattr(self.parent, "progressBar"):
         self.parent.progressBar.setValue(self.device().pos())
Exemplo n.º 19
0
 def raiseError(self, str):
     QXmlStreamReader.raiseError(
         self,
         u'[%d:%d] %s' % (self.lineNumber(), self.columnNumber(), str))
Exemplo n.º 20
0
    def parseHtml(self, htmlTemplate):
        # reload smartObject each time
        self.smartObject = self.entryModel.getSmartObject()
        #TODO remove QString
        reader = QXmlStreamReader(htmlTemplate)
        tmpList = []
        while not reader.atEnd():
            reader.readNext()
            name = unicode(reader.name().toString())
            if reader.isStartElement():
                attributes = reader.attributes()
                if name == "ldapobject":
                    tmpList.append(self.createStringFromTemplate(attributes))
                else:
                    if not attributes.isEmpty():
                        size = attributes.size()
                        list = []
                        for i in range(0, size):
                            attribute = attributes.at(i)
                            attributeName = unicode(
                                attribute.name().toString())
                            attributeValue = unicode(
                                attribute.value().toString())
                            attributeString = '%s="%s"' % (attributeName,
                                                           attributeValue)
                            list.append(attributeString)
                        attributesString = ' '.join(list)
                        tag = "<%s %s>" % (name, attributesString)
                        tmpList.append(tag)
                    else:
                        tag = "<%s>" % name
                        tmpList.append(tag)
            elif reader.isEndElement():
                if not (name == "ldapobject"):
                    tag = "</%s>" % name
                    tmpList.append(tag)
            elif reader.isCharacters():
                if not (unicode(reader.name()) == "ldapobject"):
                    tmpList.append(unicode(reader.text().toString()))

        if reader.hasError():
            return reader.errorString()
        return ''.join(tmpList)