Skip to content
This repository has been archived by the owner on Apr 5, 2021. It is now read-only.

Commit

Permalink
Merge pull request #26 from torbjornaxelsson/server-argument
Browse files Browse the repository at this point in the history
XMPP server address as optional argument
  • Loading branch information
wpietri authored Dec 22, 2017
2 parents bda504d + 06e2a3e commit 624d54c
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions sucks/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,14 +127,15 @@ def encrypt(text):


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.clean_status = None
self.charge_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.subscribe_to_ctls(self._handle_ctl)

def connect_and_wait_until_ready(self):
Expand Down Expand Up @@ -184,16 +185,19 @@ def disconnect(self, wait=False):


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)

self.user = user
self.domain = domain
self.resource = resource
self.continent = continent
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.ctl_subscribers = []
self.ready_flag = Event()

Expand All @@ -206,7 +210,6 @@ def session_start(self, event):
self.register_handler(Callback("general",
MatchXPath('{jabber:client}iq/{com:ctl}query/{com:ctl}'),
self._handle_ctl))

self.ready_flag.set()

def subscribe_to_ctls(self, function):
Expand Down Expand Up @@ -256,7 +259,7 @@ def send_ping(self, to):
q.send()

def connect_and_wait_until_ready(self):
self.connect(('msg-{}.ecouser.net'.format(self.continent), '5223'))
self.connect(self.server_address)
self.process()
self.wait_until_ready()

Expand Down

0 comments on commit 624d54c

Please sign in to comment.