Beispiel #1
0
    def endElement(self, name):
        if not self._eat_tag:
            XMLFilterBase.endElement(self, name)

        if name == 'text' and self._catch_full_line:
            self._catch_full_line = False
        elif name == 'dialogue_act' and self._write_full_line:
            self._write_full_line = False
            if len(self._full_line) < self._da_line_len:
                self._whole_line.append("... (missing)")
                self.errorCallback()
            line = self._full_line[:self._da_line_len]
            del self._full_line[:self._da_line_len]
            self._da_line_len = 0
            line = u' '.join(line)

            writer = self.getContentHandler()
            writer.characters('\n' + ' '*self.TAG_INDENT)
            attrs = {'type': self.text_type}
            attrs.update(self._da_attrs)
            writer.startElement('parametrized_act', attrs)
            writer.characters('\n' + ' '*self.CHAR_INDENT)
            writer.characters(line)
            writer.characters('\n' + ' '*self.TAG_INDENT)
            writer.endElement('parametrized_act')
        elif name == 'utterance':
            if self._full_line and self._da_count != 0:
                self.errorCallback()
        elif name == 'parametrized_act':
            self._eat_tag = False
Beispiel #2
0
	def endElement(self, name):
		if len(self.header) == 1 or name == 'xcb':
			XMLFilterBase.endElement(self, name)

		if name == 'xcb':
			self.header.pop(0)
		elif name == 'struct' or name == 'union':
			assert getattr(self, name) is not None
			self.setTypeSize(getattr(self, name), self.totalsize)
			setattr(self, name, None)
			del self.totalsize
Beispiel #3
0
    def endElement(self, name):
        if len(self.header) == 1 or name == 'xcb':
            XMLFilterBase.endElement(self, name)

        if name == 'xcb':
            self.header.pop(0)
        elif name == 'struct' or name == 'union':
            assert getattr(self, name) is not None
            self.setTypeSize(getattr(self, name), self.totalsize)
            setattr(self, name, None)
            del self.totalsize
Beispiel #4
0
 def test_filter_basic(self):
     result = BytesIO()
     gen = XMLGenerator(result)
     filter = XMLFilterBase()
     filter.setContentHandler(gen)
     filter.startDocument()
     filter.startElement('doc', {})
     filter.characters('content')
     filter.ignorableWhitespace(' ')
     filter.endElement('doc')
     filter.endDocument()
     self.assertEqual(result.getvalue(), start + b'<doc>content </doc>')
Beispiel #5
0
def test_filter_basic():
    result = StringIO()
    gen = XMLGenerator(result)
    filter = XMLFilterBase()
    filter.setContentHandler(gen)

    filter.startDocument()
    filter.startElement("doc", {})
    filter.characters("content")
    filter.ignorableWhitespace(" ")
    filter.endElement("doc")
    filter.endDocument()

    return result.getvalue() == start + "<doc>content </doc>"
Beispiel #6
0
def test_filter_basic():
    result = StringIO()
    gen = XMLGenerator(result)
    filter = XMLFilterBase()
    filter.setContentHandler(gen)

    filter.startDocument()
    filter.startElement("doc", {})
    filter.characters("content")
    filter.ignorableWhitespace(" ")
    filter.endElement("doc")
    filter.endDocument()

    return result.getvalue() == start + "<doc>content </doc>"
Beispiel #7
0
    def test_filter_basic(self):
        result = BytesIO()
        gen = XMLGenerator(result)
        filter = XMLFilterBase()
        filter.setContentHandler(gen)

        filter.startDocument()
        filter.startElement("doc", {})
        filter.characters("content")
        filter.ignorableWhitespace(" ")
        filter.endElement("doc")
        filter.endDocument()

        self.assertEqual(result.getvalue(), start + b"<doc>content </doc>")
Beispiel #8
0
    def endElement(self, name):
        if not self._eat_tag:
            XMLFilterBase.endElement(self, name)
        if name == 'text' and self._write_tag:
            self._write_tag = False

            writer = self.getContentHandler()
            writer.characters('\n' + ' '*self.TAG_INDENT)
            writer.startElement('text', {'type': self._new_type})
            if self._tags:
                line = self._tags.pop(0)
                writer.characters('\n' + ' '*self.CHAR_INDENT)
                writer.characters(line)
                writer.characters('\n' + ' '*self.TAG_INDENT)
            writer.endElement('text')
Beispiel #9
0
 def endElement(self, name):
     if name == "record":
         XMLFilterBase.endElement(self, name)
         self.processed += 1
         if self.processed % self.groups_of == 0:
             XMLFilterBase.endElement(self, "collection")
             XMLFilterBase.endPrefixMapping(self, "")
             XMLFilterBase.endDocument(self)
     elif name != "collection":
         XMLFilterBase.endElement(self, name)
Beispiel #10
0
 def endElement(self, name):
     XMLFilterBase.endElement(self, name)
     if name == 'xcb':
         self.endScope()
 def endElement(self, name):
     self._complete_text_node()
     XMLFilterBase.endElement(self, name)
     return
 def endElement(self, name):
     self._complete_text_node()
     XMLFilterBase.endElement(self, name)
     return
Beispiel #13
0
# regression test for SAX 2.0
Beispiel #14
0
	def endElement(self, name):
		if name == 'import':
			self.ensure(self.inimport)
			self.inimport = None
			return
		XMLFilterBase.endElement(self, name)
Beispiel #15
0
 def endElement(self, name):
     if self.in_universe >= 0:
         self.in_universe -= 1
         if self.in_universe == -1:
             # send the recorded tags in the new format
             if not (self.cell is None and self.cell_active is None):
                 if self.cell is None:
                     self.cell = numpy.identity(3, float)*20.0
                 if self.cell_active is None:
                     self.cell_active = numpy.zeros(3, bool)
                 XMLFilterBase.startElement(self, "unit_cell", Attributes({"label": "cell"}))
                 # matrix
                 XMLFilterBase.startElement(self, "array", Attributes({"label": "matrix"}))
                 XMLFilterBase.startElement(self, "shape", Attributes({}))
                 XMLFilterBase.characters(self, "3 3")
                 XMLFilterBase.endElement(self, "shape")
                 XMLFilterBase.startElement(self, "cells", Attributes({}))
                 XMLFilterBase.characters(self, " ".join(str(v) for v in self.cell.ravel()))
                 XMLFilterBase.endElement(self, "cells")
                 XMLFilterBase.endElement(self, "array")
                 # matrix
                 XMLFilterBase.startElement(self, "array", Attributes({"label": "active"}))
                 XMLFilterBase.startElement(self, "shape", Attributes({}))
                 XMLFilterBase.characters(self, "3")
                 XMLFilterBase.endElement(self, "shape")
                 XMLFilterBase.startElement(self, "cells", Attributes({}))
                 XMLFilterBase.characters(self, " ".join(str(v) for v in self.cell_active))
                 XMLFilterBase.endElement(self, "cells")
                 XMLFilterBase.endElement(self, "array")
                 # end unit cell
                 XMLFilterBase.endElement(self, "unit_cell")
     if self.recording is None:
         XMLFilterBase.endElement(self, name)
     else:
         if name == "array" and self.recording == "cell":
             self.recording = None
             words = (" ".join(self.cell)).split()[2:]
             self.cell = numpy.array([float(v) for v in words])
             self.cell.shape = (3,3)
         if name == "array" and self.recording == "cell_active":
             self.recording = None
             words = (" ".join(self.cell_active)).split()[1:]
             self.cell_active = numpy.array([eval(v) for v in words])
             self.cell_active.shape = (3,)
Beispiel #16
0
	def endElement(self, name):
		XMLFilterBase.endElement(self, name)
		if name == 'xcb':
			self.endScope()