86fa9f5e35
The context manager is implemented based on a newly added storage called CachedStorage. It is a bufferred storage that doesn't sync with the database until it's flushed. With CachedStorage, we can implement the context manager easily by loading all the data on __enter__ and just flush all the modified (dirty) data on __exit__. This approach can help the user minimize the number of round-trips to the server almost invisibly (despite the fact that they need to use it with "with"). Fixes: #679 |
||
---|---|---|
.. | ||
zulip_bots | ||
architecture.md | ||
README.md | ||
setup.py |
Zulip bots
This directory contains the source code for the zulip_bots
PyPI package.
The Zulip documentation has guides on using Zulip's bot system and writing your own bots.
Directory structure
zulip_bots # This directory
├───zulip_bots # `zulip_bots` package.
│ ├───bots/ # Actively maintained and tested bots.
│ ├───bots_unmaintained/ # Unmaintained, potentially broken bots.
│ ├───game_handler.py # Handles game-related bots.
│ ├───lib.py # Backbone of run.py
│ ├───provision.py # Creates a development environment.
│ ├───run.py # Used to run bots.
│ ├───simple_lib.py # Used for terminal testing.
│ ├───test_lib.py # Backbone for bot unit tests.
│ ├───test_run.py # Unit tests for run.py
│ └───terminal.py # Used to test bots in the command line.
└───setup.py # Script for packaging.