api | ||
bot_z | ||
bot.z_web | ||
docs | ||
tests | ||
.dockerignore | ||
.editorconfig | ||
.gitignore | ||
.pylintrc | ||
.travis.yml | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
MANIFEST.in | ||
README.md | ||
requirements_build.txt | ||
setup.cfg | ||
setup.py | ||
tox.ini |
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: "<your_target_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.
You can either proceed in one of the following ways:
- Install the source distribution and put in your
$PATH
thegeckodriver
binary (that can be downloaded here) - Install the wheel for your architecture
pip install .
orpip install -e .
will download the latestgeckodriver
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
- Check in/out
- systemd {unit, timer}
- APIs
- Mailer