Example Sucks script fails #112

Closed
opened 2021-03-22 00:33:59 +01:00 by Nama · 0 comments
Nama commented 2021-03-22 00:33:59 +01:00 (Migrated from github.com)

Describe the bug
If I run the script from here, I get this Traceback:

$ python scripts/sucks_bumper.py
Traceback (most recent call last):
  File "/home/kirika/scripts/sucks_bumper.py", line 21, in <module>
    vacbot = BumperVacBot(server_address)
  File "/home/kirika/scripts/sucks_bumper.py", line 10, in __init__
    super().__init__('sucks', 'ecouser.net', '', '', vacuum, '')
  File "/home/kirika/venv/sucks/lib/python3.9/site-packages/sucks/__init__.py", line 412, in __init__
    if not vacuum['iotmq']:
KeyError: 'iotmq'

And yeah, you can't check for non-existent keys in such way. Try-Except must be used there.

After force-trueing the if (if True:, since my robot uses XMPP), I get the following Traceback:

$ python scripts/sucks_bumper.py
Traceback (most recent call last):
  File "/home/kirika/scripts/sucks_bumper.py", line 21, in <module>
    vacbot = BumperVacBot(server_address)
  File "/home/kirika/scripts/sucks_bumper.py", line 10, in __init__
    super().__init__('sucks', 'ecouser.net', '', '', vacuum, '')
  File "/home/kirika/venv/sucks/lib/python3.9/site-packages/sucks/__init__.py", line 413, in __init__
    self.xmpp = EcoVacsXMPP(user, domain, resource, secret, continent, vacuum, server_address)
  File "/home/kirika/venv/sucks/lib/python3.9/site-packages/sucks/__init__.py", line 876, in __init__
    ClientXMPP.__init__(self, "{}@{}/{}".format(user, domain,resource), '0/' + resource + '/' + secret) #Init with resource to bind it
  File "/home/kirika/venv/sucks/lib/python3.9/site-packages/sleekxmppfs/clientxmpp.py", line 70, in __init__
    BaseXMPP.__init__(self, jid, 'jabber:client', **kwargs)
  File "/home/kirika/venv/sucks/lib/python3.9/site-packages/sleekxmppfs/basexmpp.py", line 69, in __init__
    self.requested_jid = JID(jid, cache_lock=True)
  File "/home/kirika/venv/sucks/lib/python3.9/site-packages/sleekxmppfs/jid.py", line 462, in __init__
    parsed_jid = _parse_jid(jid)
  File "/home/kirika/venv/sucks/lib/python3.9/site-packages/sleekxmppfs/jid.py", line 146, in _parse_jid
    raise InvalidJID('JID could not be parsed')
sleekxmppfs.jid.InvalidJID: JID could not be parsed

To Reproduce
Install bmartin's sucks and run the script.

Vacuum:

  • Model: OZMO 610

Additional context
The docs say only about Python 3.7. I've tested 3.7, too. Same behavior.

The robot connects to bumper successfully, but I couldn't make sucks nor the app connect to it. I also simply used the sucks script I use with EcoVacs servers. Only getting connection refused. I feel like #99 has something to do with it.

**Describe the bug** If I run the script from [here](https://bumper.readthedocs.io/en/latest/Use_With_Sucks/), I get this Traceback: ``` $ python scripts/sucks_bumper.py Traceback (most recent call last): File "/home/kirika/scripts/sucks_bumper.py", line 21, in <module> vacbot = BumperVacBot(server_address) File "/home/kirika/scripts/sucks_bumper.py", line 10, in __init__ super().__init__('sucks', 'ecouser.net', '', '', vacuum, '') File "/home/kirika/venv/sucks/lib/python3.9/site-packages/sucks/__init__.py", line 412, in __init__ if not vacuum['iotmq']: KeyError: 'iotmq' ``` And yeah, you can't check for non-existent keys in such way. Try-Except must be used there. After force-trueing the if (`if True:`, since my robot uses XMPP), I get the following Traceback: ``` $ python scripts/sucks_bumper.py Traceback (most recent call last): File "/home/kirika/scripts/sucks_bumper.py", line 21, in <module> vacbot = BumperVacBot(server_address) File "/home/kirika/scripts/sucks_bumper.py", line 10, in __init__ super().__init__('sucks', 'ecouser.net', '', '', vacuum, '') File "/home/kirika/venv/sucks/lib/python3.9/site-packages/sucks/__init__.py", line 413, in __init__ self.xmpp = EcoVacsXMPP(user, domain, resource, secret, continent, vacuum, server_address) File "/home/kirika/venv/sucks/lib/python3.9/site-packages/sucks/__init__.py", line 876, in __init__ ClientXMPP.__init__(self, "{}@{}/{}".format(user, domain,resource), '0/' + resource + '/' + secret) #Init with resource to bind it File "/home/kirika/venv/sucks/lib/python3.9/site-packages/sleekxmppfs/clientxmpp.py", line 70, in __init__ BaseXMPP.__init__(self, jid, 'jabber:client', **kwargs) File "/home/kirika/venv/sucks/lib/python3.9/site-packages/sleekxmppfs/basexmpp.py", line 69, in __init__ self.requested_jid = JID(jid, cache_lock=True) File "/home/kirika/venv/sucks/lib/python3.9/site-packages/sleekxmppfs/jid.py", line 462, in __init__ parsed_jid = _parse_jid(jid) File "/home/kirika/venv/sucks/lib/python3.9/site-packages/sleekxmppfs/jid.py", line 146, in _parse_jid raise InvalidJID('JID could not be parsed') sleekxmppfs.jid.InvalidJID: JID could not be parsed ``` **To Reproduce** Install bmartin's sucks and run the script. **Vacuum:** - Model: OZMO 610 **Additional context** The docs say only about Python 3.7. I've tested 3.7, too. Same behavior. The robot connects to bumper successfully, but I couldn't make sucks nor the app connect to it. I also simply used the sucks script I use with EcoVacs servers. Only getting connection refused. I feel like #99 has something to do with it.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: mia/bumper#112
No description provided.