33 lines
1.1 KiB
Python

from owslib.waterml.wml import SitesResponse, TimeSeriesResponse, VariablesResponse, namespaces
from owslib.etree import etree
def ns(namespace):
return namespaces.get(namespace)
class WaterML_1_1(object):
def __init__(self, element):
if isinstance(element, str) or isinstance(element, unicode):
self._root = etree.fromstring(str(element))
else:
self._root = element
if hasattr(self._root, 'getroot'):
self._root = self._root.getroot()
self._ns = 'wml1.1'
@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')