mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
from __future__ import (absolute_import, division, print_function)
|
|
|
|
from owslib.waterml.wml import SitesResponse, TimeSeriesResponse, VariablesResponse, namespaces
|
|
from owslib.etree import etree, ElementType
|
|
|
|
def ns(namespace):
|
|
return namespaces.get(namespace)
|
|
|
|
class WaterML_1_0(object):
|
|
def __init__(self, element):
|
|
|
|
if isinstance(element, ElementType):
|
|
self._root = element
|
|
else:
|
|
self._root = etree.fromstring(element)
|
|
|
|
if hasattr(self._root, 'getroot'):
|
|
self._root = self._root.getroot()
|
|
|
|
self._ns = 'wml1.0'
|
|
|
|
@property
|
|
def response(self):
|
|
try:
|
|
if self._root.tag == str(ns(self._ns) + 'variablesResponse'):
|
|
return VariablesResponse(self._root, self._ns)
|
|
elif self._root.tag == str(ns(self._ns) + 'timeSeriesResponse'):
|
|
return TimeSeriesResponse(self._root, self._ns)
|
|
elif self._root.tag == str(ns(self._ns) + 'sitesResponse'):
|
|
return SitesResponse(self._root, self._ns)
|
|
except:
|
|
raise
|
|
|
|
raise ValueError('Unable to determine response type from xml')
|