Skip to content

Latest commit

 

History

History
52 lines (31 loc) · 2.07 KB

File metadata and controls

52 lines (31 loc) · 2.07 KB

Guidance + comms generator for running UWCS elections

What?

  • This repo contains guidance for running an election in election.md

  • There is also a Jupyter Notebook where election properties can be configured, which can then be used to generate Discord announcements based off the templates (planned to implement generation of emails too)

Why?

  • It's helpful to have a centralised (hopefully) thorough guide so that information doesn't get lost across exec cycles

  • On comms:

    • There are particular timelines and pieces of information that should be followed in order to comply with SU Regs (currently Reg 9)

    • For the sake of convenience and consistency, as well as the previous point, it makes sense to have templates that comms can be based off of, as well as a (relatively) nice UI to set all the properties

  • On using Jupyter Notebook: I briefly tried to mess around with this in tkinter and decided it was more effort than it was worth, a notebook is far nicer to work with

How to use the generator

  • Get Python 3.9+

  • (Optional)

    • Create a venv: python -m venv venv
    • Activate the venv: source venv/bin/activate (macOS and Linux), venv\Scripts\activate (Windows)
  • Install requirements: pip install -r requirements.txt

  • Launch the notebook: python -m notebook

  • Open the .ipynb via the URL provided by Jupyter

  • Run the first code cell, set your widget values, then run the second code cell

  • See your outputted templates (default path is ./templates-final)

What's to do currently?

  • Actually write the rest of the templates

  • Implement email generation

  • (Possibly) generate newsletter friendly

  • iCal/other form(s) of dated task lists

  • Better docs esp e.g. on the config, templating

  • The various TODOs scattered throughout the code along with any other bits I spot

Some of the code makes my head hurt

  • Me too - some of it was written at silly hours in the morning (and you can tell), and I already have plans to refactor various parts

When?

  • This is intended to be finalised in time for the 2025 UWCS Frep Elections at the latest