Wykres commitów

1340 Commity (config_dataclasses)

Autor SHA1 Wiadomość Data
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