def __init__(self, url_base, service_type, service_id, control_url, scpd_url, event_sub_url):
self._url_base = url_base
self.service_type = service_type
self.service_id = service_id
self._control_url = control_url
self.scpd_url = scpd_url
self._event_sub_url = event_sub_url
self.actions = []
self.action_map = {}
self.statevars = {}
self._log = _getLogger('Service')
self._log.debug('%s url_base: %s', self.service_id, self._url_base)
self._log.debug('%s SCPDURL: %s', self.service_id, self.scpd_url)
self._log.debug('%s controlURL: %s', self.service_id, self._control_url)
self._log.debug('%s eventSubURL: %s', self.service_id, self._event_sub_url)
url = urljoin(self._url_base, self.scpd_url)
self._log.info('Reading %s', url)
resp = requests.get(url, timeout=HTTP_TIMEOUT)
resp.raise_for_status()
self.scpd_xml = etree.fromstring(resp.content)
self._find = partial(self.scpd_xml.find, namespaces=self.scpd_xml.nsmap)
self._findtext = partial(self.scpd_xml.findtext, namespaces=self.scpd_xml.nsmap)
self._findall = partial(self.scpd_xml.findall, namespaces=self.scpd_xml.nsmap)
self._read_state_vars()
self._read_actions()
评论列表
文章目录