This repository tracks the raised amount shown on the One Nation donation page:
https://donate.onenation.org.au/fire-the-liar
The Python application in raised_amount_monitor.py fetches the page, extracts the displayed raised amount, appends a timestamped row to raised_amount_log.csv, and regenerates graph.png from the collected CSV history.
GitHub may cache the image preview shown above. For the latest generated graph, click the image to open graph.png directly, or check the latest rows in raised_amount_log.csv.
raised_amount_log.csvcontains the timestamped amount history.graph.pngis regenerated from the CSV data after each successful run.
The GitHub Actions workflow in .github/workflows/run-python-app.yml asks GitHub to run the monitor every ten minutes. In cron notation, that schedule is written as:
*/10 * * * *Read literally, that means "run every tenth minute, no matter the hour, day, month, or weekday."
On each scheduled run, GitHub Actions:
- Checks out the repository.
- Sets up Python.
- Runs
python raised_amount_monitor.py. - Commits and pushes any changed files after the script completes successfully.
If the script fails, no commit is made. If the script succeeds but does not change any files, the workflow exits without creating an empty commit.
GitHub treats scheduled workflows as best effort, so this repository requests an update every ten minutes, but the actual run may happen a little later when GitHub has a runner available.
The workflow can also be run manually from GitHub:
- Open the repository's Actions tab.
- Choose Run Python app.
- Select Run workflow.
That ad hoc run follows the same process as the scheduled run: it runs the monitor, then commits and pushes any updated CSV or graph output.
Run the monitor manually with:
python raised_amount_monitor.pyOptional arguments are available for using a different URL, CSV output path, or graph output path:
python raised_amount_monitor.py --url "https://example.com" --output raised_amount_log.csv --graph graph.png