From 6e78b2e790d86045b9ba70339a0b1598ed24e3fc Mon Sep 17 00:00:00 2001 From: Marijn Date: Wed, 14 Oct 2026 20:17:32 +0200 Subject: [PATCH 1/2] Versienummer automatisch verhogen bij elke commit (1.1.1) - VERSION bevat het versienummer, config.py leest het daaruit (werkt ook in Docker, waar config.ini niet meegaat) - verhoog_versie.py: laatste cijfer +1 tot 99, dan het middelste; het middelste ook tot 99, dan het eerste - CLAUDE.md: Claude verhoogt de versie voor elke commit Co-Authored-By: Claude Opus 5.5 --- CLAUDE.md | 18 ++++++++++++++++++ VERSION | 1 + config.py | 11 ++++++++++- verhoog_versie.py | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 CLAUDE.md create mode 100644 VERSION create mode 100644 verhoog_versie.py diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..3f9aaee --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,18 @@ +# PIVOT – afspraken voor Claude + +## Versienummer bij elke commit + +Het versienummer van PIVOT staat in het bestand `VERSION` (onderaan elke pagina: "PIVOT – Versie x.y.z"). + +**Vóór elke commit** het versienummer één stap verhogen en `VERSION` mee in de commit opnemen: + +```bash +python verhoog_versie.py +git add VERSION +``` + +- Eén verhoging per commit, niet per gewijzigd bestand. +- Regels: het laatste cijfer telt op tot 99, daarna gaat het middelste cijfer omhoog (`1.1.99` → `1.2.0`); het middelste cijfer gaat ook tot 99 (`1.99.99` → `2.0.0`). Het eerste cijfer heeft geen maximum. +- Nooit `VERSION` met de hand aanpassen of nummers overslaan. +- Geeft een merge of pull een conflict in `VERSION` (twee branches verhoogden tegelijk)? Neem het **hoogste** van de twee nummers en voer daarna `python verhoog_versie.py` nog één keer uit. +- Vermeld het nieuwe nummer in de commitboodschap, bv. `Logo leesbaar maken in het donkere thema (1.1.2)`. diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..524cb55 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +1.1.1 diff --git a/config.py b/config.py index 8c8fb05..e6bead2 100644 --- a/config.py +++ b/config.py @@ -27,6 +27,15 @@ def _get(section, key, fallback='', env=None): return config_file.get(section, key, fallback=fallback) +def _versie(): + """Versienummer uit het bestand VERSION (wordt bij elke commit verhoogd met verhoog_versie.py, zie CLAUDE.md).""" + try: + with open(os.path.join(base_dir, 'VERSION'), encoding='utf-8') as f: + return f.read().strip() + except OSError: + return _get('algemeen', 'app_version', 'onbekend') + + def _secret_key(): """FLASK_SECRET_KEY, config.ini, of anders een willekeurige sleutel die bewaard wordt in geheimen/flask.key. (Nooit een vaste standaardsleutel: daarmee kan iemand een sessie voor eender welke school vervalsen.)""" @@ -86,7 +95,7 @@ class Config(metaclass=_SchoolConfigMeta): _get('algemeen', 'superbeheerders', env='PIVOT_SUPERBEHEERDERS').replace(';', ',').split(',') if x.strip()] - APP_VERSION = _get('algemeen', 'app_version', '1.1.0') + APP_VERSION = _versie() # Elke bezochte pagina bewaren in de tabel Logs (centrale database) LOGBOEK = _get('algemeen', 'logboek', 'ja').strip().lower() in ('ja', 'yes', 'true', '1', 'on') diff --git a/verhoog_versie.py b/verhoog_versie.py new file mode 100644 index 0000000..2e3104a --- /dev/null +++ b/verhoog_versie.py @@ -0,0 +1,33 @@ +""" +Verhoogt het versienummer in VERSION met één stap. Uitvoeren vóór elke commit: + + python verhoog_versie.py + +Regels: het laatste cijfer gaat telkens één omhoog, tot 99. + 1.1.0 -> 1.1.1 + 1.1.99 -> 1.2.0 + 1.99.99 -> 2.0.0 (het eerste cijfer heeft geen maximum) +""" +import os + +PAD = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'VERSION') +MAX = 99 + + +def volgende(versie): + hoofd, sub, patch = (int(x) for x in versie.strip().split('.')) + patch += 1 + if patch > MAX: + patch, sub = 0, sub + 1 + if sub > MAX: + sub, hoofd = 0, hoofd + 1 + return f"{hoofd}.{sub}.{patch}" + + +if __name__ == '__main__': + with open(PAD, encoding='utf-8') as f: + oud = f.read().strip() + nieuw = volgende(oud) + with open(PAD, 'w', encoding='utf-8') as f: + f.write(nieuw + '\n') + print(f"{oud} -> {nieuw}") -- 2.54.0 From c541ccc9a84e029a3a221711c6c6cce698ca86e5 Mon Sep 17 00:00:00 2001 From: Marijn Date: Wed, 14 Oct 2026 20:17:58 +0200 Subject: [PATCH 2/2] config.ini uit git halen, config.example.ini toevoegen (1.1.2) config.ini bevat wachtwoorden en stond al in .gitignore, maar was toch in git opgenomen. Het bestand blijft lokaal bestaan; nieuwe installaties vertrekken van config.example.ini. Co-Authored-By: Claude Opus 5.5 --- VERSION | 2 +- config.ini => config.example.ini | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) rename config.ini => config.example.ini (91%) diff --git a/VERSION b/VERSION index 524cb55..45a1b3f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.1.1 +1.1.2 diff --git a/config.ini b/config.example.ini similarity index 91% rename from config.ini rename to config.example.ini index 69587f7..5fa243d 100644 --- a/config.ini +++ b/config.example.ini @@ -1,3 +1,5 @@ +# Voorbeeld: kopieer dit bestand naar config.ini en vul de lege waarden in. +# config.ini zelf staat NIET in git (bevat wachtwoorden). # ===================================================================== # PIVOT – algemene instellingen (gelden voor ALLE scholen) # @@ -15,8 +17,8 @@ # (per school te overschrijven in het scholenregister) host = localhost port = 3306 -user = marijn -password =8778Zappa4861! +user = +password = # Database met de lijst van scholen (wordt automatisch ingericht) centrale_database = pivot -- 2.54.0