Unofficial library to automate aspects of British/Scottish/Welsh Cycling's club Membership Manager system
Project description
britishcycling-clubs
About
Unofficial, not affiliated or endorsed by British/Scottish/Welsh Cycling.
Library to automate aspects of British Cycling's Club Management Tool, in order to simplify administration for clubs using it. It probably works for Scottish/Welsh Cycling clubs too, but this hasn't been tested.
Priority is to read data in order to create reports/notifications to club administrators.
Prerequisites
- Credentials for a club using the Club Management Tool
Installation
Install from PyPI, e.g:
pip install britishcycling-clubs
Some functions use Playwright to automate a headless Chromium browser. This needs to be installed:
playwright install chromium
If you're installing in e.g. a bare-bones server/CI environment, you'll probably be prompted to install system dependencies, which you can do with:
playwright install-deps chromium
See also https://playwright.dev/python/docs/browsers#install-system-dependencies
Usage
get_private_member_counts(club_id: str, username: str, password: str) -> dict[str, int]
Get numbers of active, pending, expired members from the club manager page.
Specifically, returns the counts from these tabs:
- Active Club Members
- New [i.e. pending] Club Subscriptions
- Expired Club Members
This takes about 10s.
get_public_club_info(club_id: str) -> dict[str, int | str]
Return information from the club's public profile page; doesn't require login.
Specifically, returns these values:
- Club name
- Total club members (note that this isn't always a live value even if the club uses the Club Management Tool to manage members)
Example scripts
You'll need to copy config_dist.ini
, rename to config.ini
and populate it with club
ID and (optionally) credentials.
example_private_member_counts.py
loads club ID and credentials from config.ini
.
It then retrieves and prints the number of active, expired and new/pending club member
counts from the club's Club Manager pages.
example_public_club_info.py
loads club ID from config.ini
. It then retrieves and
prints the club name and 'total member count' from the club's public profile page.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for britishcycling_clubs-0.4.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cf572f11c431026ecb736d38c047ff5f094e4a87e8f2aafff78f35e5224926e |
|
MD5 | 7c462b9e9ab42dfe992541d4b1416a2b |
|
BLAKE2b-256 | bd7b2b3890bef66d03a4c98f9145d7ad4253268e63e6a893ebf409bc66b7b787 |
Hashes for britishcycling_clubs-0.4.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 709ebae9874dc555cd6a0f430c91a89d4ac33bbd5b807f39342051f40215da59 |
|
MD5 | b46bb7b1e524f40d9e18e2e4ef213910 |
|
BLAKE2b-256 | 03cb141c4c96c4de468490d2609ab7b672af76c1208d154b244e9d2485989d7d |