This repository was archived by the owner on Aug 23, 2022. It is now read-only.
Tags: spotify/comet-core
Tags
Improve data store (#54) * Bump version to 2.11 * Start refactoring SQLAlchemy usage for 1.4/2.0 Start refactoring the code in the datastore to follow SQLAlchemy 2.0 syntax. Something is up with equality checking, hence __repr__ in test Co-authored-by: Mattias Springare <mspringare@gmail.com> * Add mypy config to gradually roll out types Add mypy config to gradually roll out types in the code base. The configured tox environment will not run unless explicitly specified (with tox -e types). The mypy config will ignore all files that have not been opted in, allowing a gradual roll out through the codebase. * Add types, update __repr__ and improve docs for data_store and models Add types for data_store and model, as part of an effort to gradually roll out types in the code base. Related to #56. Change import structure for sqlalchemy and only import the top level package, to make the code easier to read and understand where e.g., "Column" comes from. Improve the docstrings by attempting to have a first line summary and additional description in follow lines. Types were removed from the docstring as they are part of the function signature. The docstring is written in 120 character lines, given that the codebase is using them, but it would be easier to read in terminal usage if they were 80 char lines. Update the __repr__ method of models to print only the relevant files (and remove a bunch of unnecessary code). * Improve tests, especially around data store Re-define test utils as pytest fixtures for easier usage. Generalise pytest fixtures used for the data store and chain the fixtures so that the initialised data store-fixture depends on the data store-fixture etc. This will make it easier to do test-related changes in the objects. The fixtures can be improved further, there seems to be no clear consensus if the tests should create/load it's own data or if they should use the pre-populated fixtures. The current state is working, but the tests would be easier to read if they relied more on fixtures. Add docstrings to the data store tests, explaining what the tests do. Clean up some test code by removing duplicate tests, splitting some tests that do many things and remove unnecessary assert statements (e.g., first checking if the object is not None, then if it is a datetime instance. Only the datetime instance check is needed as it will then not be None). Co-authored-by: Mattias Springare <mspringare@gmail.com>
Remove stderr log handler and formatter Remove the log handler and formatter, including python-json-logger dependency. It is better to let the Comet implementation deal with the log handlers and formatters and let those settings be inherited to the library. This is a potential breaking change if an implementation do not configure its' own logger/formatter.
Add non-digest batch mode (#39) By default (digest mode), all batch events will be grouped by an owner and source_type. we email will look like: > here are your X new issues, and by the way, you have these Y old ones. This PR adds non-digest mode, so the router will receive only these events that are new or need a reminder.
PreviousNext