Python

In eerste instantie wil je python installeren. Op windows is dit een beetje omslachtig. Je begint best hier:
Kies dan voor de Python install manager. Start die op en volg uitleg hier. Let vooral op de volgende puntjes:
When you first install a runtime, you will likely be prompted to add a directory to your PATH. This is optional, if you prefer to use the py command, but is offered for those who prefer the full range of aliases (such as python3.14.exe) to be available. The directory will be %LocalAppData%\Python\bin by default, but may be customized by an administrator. Click Start and search for “Edit environment variables for your account” for the system settings page to add the path.
Each Python runtime you install will have its own directory for scripts. These also need to be added to PATH if you want to use them.
Dit is 1 van die omslachtige dingen die je op Windows moet doen, maar dit is dus nodig om je python executable en scripts die je installeert met pip te kunnen uitvoeren vanaf cmd of powershell.
De volgende commando's voer je dus steeds uit via cmd of powershell. Je kan daarin altijd snel je PATH variabele checken door PATH te typen en op enter te drukken.
Het kan zijn dat je ook eens moet rebooten om te zorgen dat hij alles kan vinden.

Pip

Pip is de pakketbeheerder van Python. Hiermee kan je gemakkelijk publieke pakketten installeren en gebruiken.
Normaal zou je pip al moeten hebben na de installatie van Python, maar dit commando controlleert dat nog eens en installeert het indien het ontbreekt:
python -m ensurepip --upgrade

Pipenv

Pipenv is de tool die ik gebruikt heb om de pakketten van ons project nog wat mooier te organiseren. Het grote voordeel is dat dit alle aanpassingen en pakketten mooi afzonderd voor dit project, zodat je geen interactie hebt met omgevingen die je gebruikt voor andere python projecten op deze computer:
python -m pip install --user pipenv

Installeer modules met pipenv

Open de map van het python project in je cmd of powershell (met commando's cd end dir kan je navigeren in mappen op windows).
Het volgende commando installeert dan de nodige libraries voor dit project:
pipenv install
Het kan zijn dat de python versie van het project niet dezelfde is als de versie die op je pc staat. Om een extra python versie (hier 3.13) op je pc te installeren, gebruik je het volgende commando:
py install 3.13
Daarna zou pipenv wel moeten lukken.

Script uitvoeren

Om dan een script uit te voeren in deze verse omgeving, gebruik je het volgende commando:
pipenv run python .\cleanup_scripts\fix_statement_redirects.py

Batch file voor uitvoering

De map bevat een scriptwindows_batch_script.bat :
set OUTPUT_DIR=".\script_outputs_%DATE:/=_%" mkdir %OUTPUT_DIR% pipenv run python ^ .\cleanup_scripts\resolve_double_redirects.py ^ %OUTPUT_DIR%\resolve_double_redirects_errors.csv ^ > %OUTPUT_DIR%\resolve_double_redirects_output.txt pipenv run python ^ .\cleanup_scripts\fix_statement_redirects.py ^ %OUTPUT_DIR%\fix_statement_redirects_errors.csv ^ > %OUTPUT_DIR%\fix_statement_redirects_output.txt exit /b 0
Dit maakt een locale folder aan met als naam script_outputs met de datum van vandaag eraan geplakt (met / vervangen door _ )
Dan worden de twee scripts resolve_double_redirects.py en fix_statement_redirects.py uitgevoerd. Elk schrijft hun output en hun error csv naar de aangemaakte map.
We exiten met 0 return code voor succes.
Je kan dit testen door te dubbelklikken. Zorg dat je scripts kan uitvoeren op je PC (soms moet je hiervoor bepaalde instellingen aanpassen) en zorg ook dat het script vertrouwd is (dat kan je doen met rechtsklikken en dan properties, als het nog niet vertrouwd is heb je onderaan een optie om dit aan te passen). Het script moet vertrouwd zijn om het later te kunnen automatisch runnen!

Batch file periodiek laten uitvoeren op windows

Je kan dit blijkbaar best doen via Windows Task Scheduler.
Program/script:
CMD
Add arguments (optional):
/c start "Title" /min "C:\Users\Christophe\Downloads\kunstenpunt-data-v3\kunstenpunt-data\windows_batch_script.bat" ^& exit
(Dit zorgt ervoor dat het terminal venster naar de achtergrond gaat en niet zichtbaar blijft als het runt. Vervang uiteraard het pad naar het script door het pad op jouw PC)
Start in (optional):
C:\Users\Christophe\Downloads\kunstenpunt-data-v3\kunstenpunt-data
(opnieuw vervangen door het pad op jouw PC)
Dit zou succesvol een terugkerende taak moeten toevoegen aan het systeem. Klein nadeel is dat er nog steeds even een CMD window verschijnt dat onmiddelijk verdwijnt. Ik heb even online gezocht en er zijn nog externe tools die dit eenvoudiger / mooier maken, maar ik wou voor deze oplossing zo weinig mogelijk extra dingen installeren.
En mijn kennis van Windows / CMD is ook zeer beperkt (ik gebruik al ongeveer 10 jaar dagelijks linux en zit enkel nog op Windows om te gamen of uit noodzaak voor bepaalde programma's).