Florian Ludwig
9a1c6643be
add smoketest for CLI
2021-04-05 19:11:00 +02:00
Florian Ludwig
302963464c
HBMQTT -> aMQTT rename
2021-04-05 19:11:00 +02:00
Florian Ludwig
929b74388a
regenerate transition code
2021-04-05 19:11:00 +02:00
Florian Ludwig
343fec358f
ensure __version__ is exposed via hbmqtt module
2021-04-05 19:11:00 +02:00
Florian Ludwig
bd88f03373
make generated code follow pep8
2021-04-05 19:11:00 +02:00
Marius Kriegerowski
20186924f2
refactor scripts hbmqtt->amqtt
2021-04-05 11:37:40 +02:00
Florian Ludwig
5129e881ae
add note about importing 'hbmqtt' to changelog
2021-04-04 11:07:53 +02:00
Florian Ludwig
6bb63af9c3
consistent aMQTT spelling
2021-04-04 11:07:53 +02:00
Florian Ludwig
b6121d3edd
add notes for transitioning from hbmqtt
2021-04-04 11:07:53 +02:00
Florian Ludwig
3739ee3c75
code cleanup with pyupgrade
2021-04-04 11:07:42 +02:00
Florian Ludwig
00767c6935
Bump to 0.10.0-alpha.2
2021-04-04 07:34:04 +02:00
Marius Kriegerowski
759f0ed64f
client_handler check if ping task is cancelled
2021-04-01 12:53:46 +02:00
Marius Kriegerowski
b1ce65057a
catch Exceptions instead of BaseExceptions
2021-04-01 12:53:46 +02:00
Florian Ludwig
5d74f1a8cd
don't run flake on generated code
2021-03-27 17:49:55 +01:00
Florian Ludwig
07fa027728
disable fail-fast for easier root cause on build breaks understanding
2021-03-27 17:49:55 +01:00
Florian Ludwig
c7bf1fd212
correct coverage calc
2021-03-27 17:49:55 +01:00
Florian Ludwig
b12effdcfd
add amqtt package
2021-03-27 17:49:55 +01:00
Florian Ludwig
d8f95a409a
add generated transition code
2021-03-27 17:49:55 +01:00
Florian Ludwig
00af175e0b
code generator for transitioning module
2021-03-27 17:49:55 +01:00
Florian Ludwig
90c74e4b8a
rename hbmqtt to amqtt in samples/
2021-03-27 17:49:55 +01:00
Florian Ludwig
e85f138c50
rename random client ids
2021-03-27 17:49:55 +01:00
Florian Ludwig
d86918216a
rename hbmqtt -> amqtt in module itself
2021-03-27 17:49:55 +01:00
Florian Ludwig
478a2d18c8
entrypoint transition code
2021-03-27 17:49:55 +01:00
Florian Ludwig
1d100e5c45
rename entry_points
2021-03-27 17:49:55 +01:00
Florian Ludwig
e1c73fc53a
update imports in tests
2021-03-27 17:49:55 +01:00
Florian Ludwig
2b284f6f29
rename hbmqtt -> amqtt
2021-03-27 17:49:55 +01:00
Marius Kriegerowski
65fe9bedc1
inherit BrokerException from Exception
2021-03-26 15:20:24 +01:00
Florian Ludwig
8237912a3b
re-enable plugin manager tests
2021-03-21 19:02:02 +01:00
Florian Ludwig
69a7992b66
rename TestPlugin to so it is ignored by pytest
2021-03-21 19:02:02 +01:00
Florian Ludwig
8892760a4f
Add poetry setup to contributing.md
2021-03-21 18:55:24 +01:00
Florian Ludwig
0146cf64c3
move to poetry
2021-03-21 18:55:24 +01:00
Marius Kriegerowski
d50eef989a
Fix mutable in signature
2021-03-21 16:46:41 +01:00
Marius Kriegerowski
57bdd45321
remove complexity checks
2021-03-17 10:57:32 +01:00
Marius Kriegerowski
613e77f6b4
more strict flake8. Fixed typos.
2021-03-17 10:57:32 +01:00
Marius Kriegerowski
2c1b425820
add contributing.md and .pre-commit-config.yaml
2021-03-17 10:27:56 +01:00
Florian Ludwig
b72a389e6c
use brokwer_uri default in client connection
2021-03-16 10:59:26 +01:00
Florian Ludwig
560eed263b
cleanup BrokerContext.sessions
2021-03-16 10:59:26 +01:00
Florian Ludwig
f328f8ca90
add more type hints
2021-03-16 10:59:26 +01:00
Florian Ludwig
f3d7fa90f3
cleanup broker.start
2021-03-16 10:59:26 +01:00
Florian Ludwig
9f35a20b78
replace not_in_dict_or_none with more pythonic check
2021-03-16 10:59:26 +01:00
Florian Ludwig
14b54d830f
cleanup utils.gen_client_id
2021-03-16 10:59:26 +01:00
Florian Ludwig
9069f9bc14
fix return type of decode_string
2021-03-16 10:59:26 +01:00
Florian Ludwig
bfd515d31a
fix formatting of badges
2021-03-16 08:45:24 +01:00
Florian Ludwig
384c43dcd0
add pypi badges
2021-03-16 08:45:24 +01:00
lrasku
c41b01499d
Fix topic filter matching
...
- re.escape() the whole filter string first to escape _all_ regex
metacharacters in it, not just $. (# and + are both regex metacharacters,
so their replace expressions now need a leading \\ to replace the
escaping, too.)
- # matches topics both with and without a trailing /, so the replace
expressions adds a '?' before the '.*'. The .lstrip('?') at the end removes
this in case the # was the first character in the filter.
- + should only match a single level, but it should _also_ match empty levels,
so use '[^/]*' to replace it.
- Use Regex.fullmatch() to match against the whole topic string, not just
its start.
Also add two unit tests to test this matching, and fix an incorrect match
against + in test_client_subscribe_publish_dollar_topic_2.
2021-03-15 13:43:47 +01:00
Marius Kriegerowski
7921e2cc22
linter project with black at default line length 88
2021-03-15 10:18:00 +01:00
lrasku
8e8aafd33e
Make WebSockets work with IPv6 addresses
...
WebSocketsWriter.get_peer_info() naively returns just
self._protocol.remote_address, but this is a 4-tuple in IPv6,
which will raise ValueErrors when client code tries to unpack
it into two elements. Fortunately the first two elements of the
tuple are the same as in IPv4 and should be all that we need
(get_peer_info() is currently only used for logging), so just
return a 2-prefix of the value instead.
2021-03-15 10:16:50 +01:00
Marius Kriegerowski
db3dffa857
use black linter with 96 char line length
2021-03-14 21:44:41 +01:00
lrasku
295418a11f
Permit connect() and reconnect() coroutines to be cancelled
...
The plain `except BaseException` statement used in the two coroutines
also matches asyncio.CancelledError and thus prevents them from
being cancelled. Prepend a simple re-raising except block for
asyncio.CancelledError to get them to work with task cancellation.
2021-03-14 16:55:29 +01:00
Florian Ludwig
87d19c5342
prepare second alpha release: 0.10.0-alpha.1
2021-03-13 18:28:01 +01:00