Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add_event_handler causes errors with utf-8 encoded specific event type #2

Open
notaco opened this issue Jul 20, 2021 · 0 comments
Open

Comments

@notaco
Copy link

notaco commented Jul 20, 2021

following the function parameter in pydoc and encoding event type as UTF-8 results in error in protobuf. passing string literal (believe it would default to unicode) does not cause error but handler function is never called (let me know if i am passing incorrect event type strings)

here is a traceback from python 3.9.5, kismetexternal 2020.07.01 (from pip).

Traceback (most recent call last): File "/usr/local/bin/kismet_status.py", line 60, in <module> ks = KismetStatus() File "/usr/local/bin/kismet_status.py", line 37, in __init__ self.kei.add_event_handler("GPS_LOCATION".encode("UTF-8"), self.gps_check) File "/usr/lib/python3.9/site-packages/kismetexternal/__init__.py", line 422, in add_event_handler regevt.event.extend(event) File "/usr/lib/python3.9/site-packages/protobuf-4.0.0rc2-py3.9.egg/google/protobuf/internal/containers.py", line 282, in extend new_values = [self._type_checker.CheckValue(elem) for elem in elem_seq_iter] File "/usr/lib/python3.9/site-packages/protobuf-4.0.0rc2-py3.9.egg/google/protobuf/internal/containers.py", line 282, in <listcomp> new_values = [self._type_checker.CheckValue(elem) for elem in elem_seq_iter] File "/usr/lib/python3.9/site-packages/protobuf-4.0.0rc2-py3.9.egg/google/protobuf/internal/type_checkers.py", line 215, in CheckValue raise TypeError(message) TypeError: 71 has type <class 'int'>, but expected one of: (<class 'bytes'>, <class 'str'>)

also getting error on a python 3.8.5, kismetexternal 2020.10.01 (from git).

Traceback (most recent call last): File "/usr/local/bin/kismet_status.py", line 60, in <module> ks = KismetStatus() File "/usr/local/bin/kismet_status.py", line 36, in __init__ self.kei.add_event_handler("STATISTICS".encode("UTF-8"), self.gps_check) File "/usr/local/lib/python3.8/dist-packages/kismetexternal-2020.10.1-py3.8.egg/kismetexternal/__init__.py", line 483, in add_event_handler regevt.event.extend(event) TypeError: 83 has type int, but expected one of: bytes, unicode

adding "*" event type works without error. so events can be filtered by the handler function but thought issue might be worth reporting anyway.

let me know if more info is needed. thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant