XMPP server address as optional argument
This commit is contained in:
+8
-6
@@ -127,14 +127,14 @@ class EcoVacsAPI:
|
|||||||
|
|
||||||
|
|
||||||
class VacBot():
|
class VacBot():
|
||||||
def __init__(self, user, domain, resource, secret, vacuum, continent):
|
def __init__(self, user, domain, resource, secret, vacuum, continent, server_address=None):
|
||||||
|
|
||||||
self.vacuum = vacuum
|
self.vacuum = vacuum
|
||||||
self.clean_status = None
|
self.clean_status = None
|
||||||
self.charge_status = None
|
self.charge_status = None
|
||||||
self.battery_status = None
|
self.battery_status = None
|
||||||
|
|
||||||
self.xmpp = EcoVacsXMPP(user, domain, resource, secret, continent)
|
self.xmpp = EcoVacsXMPP(user, domain, resource, secret, continent, server_address)
|
||||||
self.xmpp.register_callback("error", self._handle_error)
|
self.xmpp.register_callback("error", self._handle_error)
|
||||||
self.xmpp.subscribe_to_ctls(self._handle_ctl)
|
self.xmpp.subscribe_to_ctls(self._handle_ctl)
|
||||||
|
|
||||||
@@ -190,7 +190,7 @@ class VacBot():
|
|||||||
|
|
||||||
|
|
||||||
class EcoVacsXMPP(ClientXMPP):
|
class EcoVacsXMPP(ClientXMPP):
|
||||||
def __init__(self, user, domain, resource, secret, continent):
|
def __init__(self, user, domain, resource, secret, continent, server_address=None):
|
||||||
ClientXMPP.__init__(self, user + '@' + domain, '0/' + resource + '/' + secret)
|
ClientXMPP.__init__(self, user + '@' + domain, '0/' + resource + '/' + secret)
|
||||||
|
|
||||||
self.user = user
|
self.user = user
|
||||||
@@ -198,8 +198,11 @@ class EcoVacsXMPP(ClientXMPP):
|
|||||||
self.resource = resource
|
self.resource = resource
|
||||||
self.continent = continent
|
self.continent = continent
|
||||||
self.credentials['authzid'] = user
|
self.credentials['authzid'] = user
|
||||||
|
if server_address is None:
|
||||||
|
self.server_address = ('msg-{}.ecouser.net'.format(self.continent), '5223')
|
||||||
|
else:
|
||||||
|
self.server_address = server_address
|
||||||
self.add_event_handler("session_start", self.session_start)
|
self.add_event_handler("session_start", self.session_start)
|
||||||
|
|
||||||
self.ctl_subscribers = []
|
self.ctl_subscribers = []
|
||||||
self.ready_flag = Event()
|
self.ready_flag = Event()
|
||||||
|
|
||||||
@@ -212,7 +215,6 @@ class EcoVacsXMPP(ClientXMPP):
|
|||||||
self.register_handler(Callback("general",
|
self.register_handler(Callback("general",
|
||||||
MatchXPath('{jabber:client}iq/{com:ctl}query/{com:ctl}'),
|
MatchXPath('{jabber:client}iq/{com:ctl}query/{com:ctl}'),
|
||||||
self._handle_ctl))
|
self._handle_ctl))
|
||||||
|
|
||||||
self.ready_flag.set()
|
self.ready_flag.set()
|
||||||
|
|
||||||
def subscribe_to_ctls(self, function):
|
def subscribe_to_ctls(self, function):
|
||||||
@@ -262,7 +264,7 @@ class EcoVacsXMPP(ClientXMPP):
|
|||||||
q.send()
|
q.send()
|
||||||
|
|
||||||
def connect_and_wait_until_ready(self):
|
def connect_and_wait_until_ready(self):
|
||||||
self.connect(('msg-{}.ecouser.net'.format(self.continent), '5223'))
|
self.connect(self.server_address)
|
||||||
self.process()
|
self.process()
|
||||||
self.wait_until_ready()
|
self.wait_until_ready()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user