def startElement(self, tag, attrs): if not self.errorOccurred(): self.data = '' method = getattr(self, tag + 'Start', None) if method is not None: try: method(attrs) except Exception: self.saveException() self._attrs.append(attrs) XMLFilter.startElement(self, tag, attrs)
def endElement(self, tag): if not self.errorOccurred(): attrs = self._attrs.pop() method = getattr(self, tag + 'End', None) if method is not None: try: method(attrs) except Exception: self.saveException() else: if self._indexWriter is not None: self._indexWriter.close() self._indexWriter = None self.store.abortTransaction(self._txnStatus) self._txnStatus = 0 if self._lock: self._lock = self.store.releaseLock(self._lock) XMLFilter.endElement(self, tag)
def __init__(self, store, versionId, force=False): XMLFilter.__init__(self, None) self.store = store self.versionId = versionId self.force = force self._attrs = [] self._isOn = False self._isSkipping = False self._txnStatus = 0 self._lock = None self._buffer = cStringIO.StringIO() self._refBuffer = cStringIO.StringIO() self._keyBuffer = None self._document = None self._indexWriter = None self._count = 0
def cdataBlock(self, data): self.data += data XMLFilter.cdataBlock(self, data)
def characters(self, data): self.data += data XMLFilter.characters(self, data)