Update README to reflect restructuring of repository
This commit is contained in:
parent
2c3cf27779
commit
ca9a089108
42
README.md
42
README.md
@ -1,33 +1,35 @@
|
|||||||
# Claremont Makerspace Member Plumbing
|
# Claremont MakerSpace Member Plumbing
|
||||||
|
|
||||||
This repo contains a set of scripts to sync data around for the Claremont MakerSpace. They primarilly revolve around pulling member data from [MembershipWorks](https://membershipworks.com/) and pushing it out to various systems at the Space.
|
This repo contains a set of scripts to sync data around for the Claremont MakerSpace. They primarily revolve around pulling member data from [MembershipWorks](https://membershipworks.com/) and pushing it out to various systems at the Space.
|
||||||
|
|
||||||
## `passwords.py`
|
## Setup
|
||||||
|
|
||||||
Most of the scripts require a `passwords.py` file, defining the usernames in passwords for various services. This file is not distributed in this repository, for obvious reasons, but here is an example:
|
This project uses [Poetry](https://python-poetry.org/) for dependency management. Typical usage is first running `poetry install` to create a virtualenv and install dependencies, then running `poetry run bin/<script>` to start a specific script.
|
||||||
|
|
||||||
```python
|
## Config
|
||||||
DOOR_USERNAME = "user1"
|
|
||||||
DOOR_PASSWORD = "password1"
|
|
||||||
|
|
||||||
MEMBERSHIPWORKS_USERNAME = "user2"
|
Many of the scripts use data from a `config.yaml` in the current working directory when they are run. There is an example config in [`config.example.yaml`](./config.example.yaml) which has been stripped of authentication information.
|
||||||
MEMBERSHIPWORKS_PASSWORD = "password2"
|
|
||||||
|
|
||||||
MEMBERSHIPWORKS_DB = {
|
## Scripts
|
||||||
"database": "db_name_here",
|
|
||||||
"user": "user3",
|
|
||||||
"password": "password3"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## `doorUpdater.py`
|
The primary entry points have scripts in [`bin`](./bin/). They assume that memberPlumbing is in `PYTHONPATH`, which can either be done with `poetry` or manually set.
|
||||||
|
|
||||||
Retrieves member information from MembershipWorks and pushes it out to the HID Edge Evo SOLO controllers that do access controll at the Space. Configuration lives in `config.yaml`.
|
### `doorUpdater`
|
||||||
|
|
||||||
## `ucsAccounts.py`
|
Retrieves member information from MembershipWorks and pushes it out to the HID Edge Evo SOLO controllers that do access control at the Space. Configuration lives in `config.yaml`.
|
||||||
|
|
||||||
|
### `ucsAccounts`
|
||||||
|
|
||||||
Retrieves member information from MembershipWorks and pushes it out to [UCS](https://www.univention.com/products/ucs/), which we use as a domain controller for the Windows computers at the Space.
|
Retrieves member information from MembershipWorks and pushes it out to [UCS](https://www.univention.com/products/ucs/), which we use as a domain controller for the Windows computers at the Space.
|
||||||
|
|
||||||
## `sqlExport.py`
|
### `sqlExport`
|
||||||
|
|
||||||
Retrieves account and transaction information from MembershipWorks, and pushes it to a MariaDB database for use in other projects. Schemas are defined with [peewee](peewee-orm.com) in `./lib/mw_models.py`.
|
Retrieves account and transaction information from MembershipWorks, and pushes it to a MariaDB database for use in other projects. Schemas are defined with [peewee](peewee-orm.com) in [`memberPlumbing/mw_models.py`](./memberPlumbing/mw_models.py).
|
||||||
|
|
||||||
|
### `hidEvents`
|
||||||
|
|
||||||
|
Retrieves events from the HID Evo Solo door controllers, and pushes them to a SQL database.
|
||||||
|
|
||||||
|
## Systemd
|
||||||
|
|
||||||
|
There are systemd units in the [`systemd`](./systemd/) folder, which can be used to run the various scripts regularly.
|
||||||
|
Reference in New Issue
Block a user