The bits of software that synchronize and manage members between various systems.
This repository has been archived on 2024-02-23. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2020-04-01 19:21:41 -04:00
lib lib/MembershipWorks: Allow getting both CSV and json transactions data 2020-03-29 00:28:58 -04:00
systemd Add systemd config for running as a service 2019-11-09 15:09:54 -05:00
templates viewer: add basic buttons to lock/unlock front door 2018-09-18 14:05:06 -04:00
.gitignore Move door controller code into a class 2018-09-18 14:05:06 -04:00
common.py Move hid/*.py and MembershipWorks.py to lib folder 2020-02-14 18:32:34 -05:00
config.yaml Refactor doorUpdater to add support for door specific schedules 2019-12-20 18:42:57 -05:00
doorUpdater.py doorUpdater: Retrieve former members and remove their schedules 2020-03-29 00:28:58 -04:00
events.py Move door controller code into a class 2018-09-18 14:05:06 -04:00
membershipViewer.py Refactor MembershipWorks handling into separate class/file 2020-02-06 17:48:47 -05:00
README.md Add sqlExport.py to README 2020-03-29 00:32:32 -04:00
schedules.xml Add schedule pusher 2018-05-08 20:46:07 -04:00
sqlExport.py sqlExport: Use FROM DUAL in insertDistinct to fix older mariadb 2020-04-01 19:21:41 -04:00
tableMapping.yaml sqlExport: WIP: Even worse fix for missing transactions 2020-04-01 17:38:49 -04:00
ucsAccounts.py lib/membershipworks: Rework to be more generic, add more methods 2020-03-29 00:28:37 -04:00

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 and pushing it out to various systems at the Space.

passwords.py

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:

DOOR_USERNAME = "user1"
DOOR_PASSWORD = "password1"

MEMBERSHIPWORKS_USERNAME = "user2"
MEMBERSHIPWORKS_PASSWORD = "password2"

MEMBERSHIPWORKS_DB = {
    "database": "db_name_here",
    "user": "user3",
    "password": "password3"
}

doorUpdater.py

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.

ucsAccounts.py

Retrieves member information from MembershipWorks and pushes it out to UCS, which we use as a domain controller for the Windows computers at the Space.

sqlExport.py

Retrieves account and transaction information from MembershipWorks, and pushes it to a MariaDB database for use in other projects. Schemas are defined (somewhat oddly, to be fair) in tableMapping.yaml.