Exemple #1
0
    def testReadStationXML(self):
        from pyrocko.io import stationxml  # noqa

        fpath = common.test_data_file('test1.stationxml')
        sx = guts.load_xml(filename=fpath)
        s = sx.dump_xml(ns_ignore=True)
        sx2 = guts.load_xml(string=s)
        assert sx.dump_xml() == sx2.dump_xml()
Exemple #2
0
    def testReadStationXML(self):
        from pyrocko.io import stationxml  # noqa

        fpath = common.test_data_file('test1.stationxml')
        sx = guts.load_xml(filename=fpath)
        s = sx.dump_xml(ns_ignore=True)
        sx2 = guts.load_xml(string=s)
        assert sx.dump_xml() == sx2.dump_xml()
Exemple #3
0
    def testXMLNamespaces(self):
        ns1 = 'http://www.w3.org/TR/html4/'
        ns2 = 'https://www.w3schools.com/furniture'

        class Row(Object):
            xmlns = ns1
            cells = List.T(String.T(xmltagname='td'))

        class Table1(Object):
            xmlns = ns1
            rows = List.T(Row.T(xmltagname='tr'))

        class Table2(Object):
            xmlns = ns2
            name = String.T()
            width = Int.T()
            length = Int.T()

        class Root(Object):
            xmltagname = 'root'
            tables1 = List.T(Table1.T(xmltagname='table'))
            tables2 = List.T(Table2.T(xmltagname='table'))

        doc = '''
<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="https://www.w3schools.com/furniture">

<h:table>
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>

<f:table>
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

</root>
        '''

        o = load_xml(string=doc)
        s = o.dump_xml()
        o2 = load_xml(string=s)
        del o2

        assert isinstance(o.tables1[0], Table1)
        assert isinstance(o.tables2[0], Table2)
Exemple #4
0
    def testXMLNamespaces(self):
        ns1 = 'http://www.w3.org/TR/html4/'
        ns2 = 'https://www.w3schools.com/furniture'

        class Row(Object):
            xmlns = ns1
            cells = List.T(String.T(xmltagname='td'))

        class Table1(Object):
            xmlns = ns1
            rows = List.T(Row.T(xmltagname='tr'))

        class Table2(Object):
            xmlns = ns2
            name = String.T()
            width = Int.T()
            length = Int.T()

        class Root(Object):
            xmltagname = 'root'
            tables1 = List.T(Table1.T(xmltagname='table'))
            tables2 = List.T(Table2.T(xmltagname='table'))

        doc = '''
<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="https://www.w3schools.com/furniture">

<h:table>
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>

<f:table>
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

</root>
        '''

        o = load_xml(string=doc)
        s = o.dump_xml()
        o2 = load_xml(string=s)
        del o2

        assert isinstance(o.tables1[0], Table1)
        assert isinstance(o.tables2[0], Table2)
Exemple #5
0
    def testXMLNamespaces2(self):
        ns1 = 'http://www.w3.org/TR/html4/'

        class Row(Object):
            xmlns = ns1
            cells = List.T(String.T(xmltagname='td'))

        class Table1(Object):
            xmlns = ns1
            rows = List.T(Row.T(xmltagname='tr'))

        class Root(Object):
            xmltagname = 'root'
            tables1 = List.T(Table1.T(xmltagname='table'))

        doc = '''
<root xmlns:h="http://www.w3.org/TR/html4/">

<h:table>
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>

</root>
        '''

        o = load_xml(string=doc)
        assert isinstance(o.tables1[0], Table1)
        s = o.dump_xml()

        o2 = load_xml(string=s)
        assert isinstance(o2.tables1[0], Table1)
        s2 = o2.dump_xml(ns_ignore=True)

        o3 = load_xml(string=s2, ns_hints=['', 'http://www.w3.org/TR/html4/'])
        assert isinstance(o3.tables1[0], Table1)
Exemple #6
0
    def testXMLNamespaces2(self):
        ns1 = 'http://www.w3.org/TR/html4/'

        class Row(Object):
            xmlns = ns1
            cells = List.T(String.T(xmltagname='td'))

        class Table1(Object):
            xmlns = ns1
            rows = List.T(Row.T(xmltagname='tr'))

        class Root(Object):
            xmltagname = 'root'
            tables1 = List.T(Table1.T(xmltagname='table'))

        doc = '''
<root xmlns:h="http://www.w3.org/TR/html4/">

<h:table>
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>

</root>
        '''

        o = load_xml(string=doc)
        assert isinstance(o.tables1[0], Table1)
        s = o.dump_xml()

        o2 = load_xml(string=s)
        assert isinstance(o2.tables1[0], Table1)
        s2 = o2.dump_xml(ns_ignore=True)

        o3 = load_xml(string=s2, ns_hints=['', 'http://www.w3.org/TR/html4/'])
        assert isinstance(o3.tables1[0], Table1)
Exemple #7
0
    def testReadQuakeML(self):

        fpath = common.test_data_file('test.quakeml')
        qml = quakeml.QuakeML.load_xml(filename=fpath)
        events = qml.get_pyrocko_events()
        assert len(events) == 1
        e = events[0]
        assert e.lon == -116.9945
        assert e.lat == 33.986
        assert e.depth == 17300
        assert e.time == util.stt("1999-04-02 17:05:10.500")

        fpath = common.test_data_file('example-catalog.xml')
        qml = quakeml.QuakeML.load_xml(filename=fpath)
        events = qml.get_pyrocko_events()
        assert len(events) == 2
        assert events[0].moment_tensor is not None

        s = qml.dump_xml(ns_ignore=True)
        qml2 = quakeml.QuakeML.load_xml(string=s)
        qml3 = guts.load_xml(string=s)
        assert qml2.dump_xml() == qml3.dump_xml()
Exemple #8
0
    def testReadQuakeML(self):

        fpath = common.test_data_file('test.quakeml')
        qml = quakeml.QuakeML.load_xml(filename=fpath)
        events = qml.get_pyrocko_events()
        assert len(events) == 1
        e = events[0]
        assert e.lon == -116.9945
        assert e.lat == 33.986
        assert e.depth == 17300
        assert e.time == util.stt("1999-04-02 17:05:10.500")

        fpath = common.test_data_file('example-catalog.xml')
        qml = quakeml.QuakeML.load_xml(filename=fpath)
        events = qml.get_pyrocko_events()
        assert len(events) == 2
        assert events[0].moment_tensor is not None

        s = qml.dump_xml(ns_ignore=True)
        qml2 = quakeml.QuakeML.load_xml(string=s)
        qml3 = guts.load_xml(string=s)
        assert qml2.dump_xml() == qml3.dump_xml()
Exemple #9
0
def load_xml(*args, **kwargs):
    wadl = guts.load_xml(*args, **kwargs)
    if not isinstance(wadl, Application):
        FileLoadError('Not a WADL file.')

    return wadl