Bot_Z ===== A bot to easen the daily routine with zucchetti virtual badge. * Free software: GLWTS public licence. Features -------- * Login/Logout * Check in/Check out * web ui Develop ------- To allow local development you either need a configuration file named `.botz.yaml` in the root of the project with something like this: ``` --- base_uri: "" debug: true headless: true log: level: DEBUG syslog: false http: bind_addr: - "127.0.0.1" port: 3003 cookie_secure: false cors_allow: "http://localhost:3000" ``` Read the docstring in `api/conf.py` to understand the menaning of the various parameters. *Do not `pip install -e .`*. It will miss the geckodriver download step. Take a look at the provided `Dockerfile`. You can either run it: ``` $ docker build -t botz:latest . $ docker run -v $PWD:/app -p "3003:3003" botz ``` and find a working app at `http://localhost:3003`. Or you can `python setup.py bdist_wheel && python setup.py develop`. You will need: - `python >= 3.7` - `yarn` (`npm` support coming soon...) If you want to develop the ui, you can also serve it via yarn (as it supports hot reload): ``` $ cd bot.z_web $ yarn start ``` You will find a working ui at `localhost:3000` (but you need the last two lines of the previous example config file). Install ------- Either clone this repo and `pip install .` or use one of the provided packages. Pay attention: this package needs a working binary of [geckodriver](https://github.com/mozilla/geckodriver). You can either proceed in one of the following ways: * Install the source distribution and put in your `$PATH` the `geckodriver` binary (that can be downloaded [here](https://github.com/mozilla/geckodriver/releases/)) * Install the wheel for your architecture * `pip install .` or `pip install -e .` will download the latest `geckodriver` and put it in a path where the code will be able to find it. *BEWARE*: the code gives precedence to the `geckodriver` in `$PATH` over that donwloaded. TODO ---- - [x] Check in/out - [ ] systemd {unit, timer} - [x] APIs - [ ] Mailer