Om de code goed uit te voeren moet je de code downloaden en de benodigde pakketten installeren. Dit doe je als volgt:
- Download en installeer Python en Git
- Open jouw terminal en navigeer naar de gewenste opslagloctie en gebruik
git clone https://github.com/FreddyMeijer/B4U_generator.git
- Open de map waarin je de repository hebt opgeslagen
- Voer het commando
pip install -r requirements.txt
uit - Voer het commando
python3 maakB4U.py
uit
De templates hebben we nodig om straatnamen, kleuren en automerken te verkrijgen voor het B4U bestand. De inhoud van de tekstbestanden is gegenereerd door ChatGPT door simpelweg te vragen om 100 willekeurige straatnamen (in Leiden), kleuren en automerken. De templates worden gebruikt in templateFunctions.py
.
Vanuit het bestand automerken.txt wordt een willekeurige waarde gekozen. Deze waarde wordt aangevuld met spaties totdat de lengte van de waarde gelijk is aan 20 karakters.
Vanuit het bestand kleuren.txt wordt een willekeurige waarde gekozen. Deze waarde wordt aangevuld met spaties, of afgebroken zodat de lengte van de waarde gelijk is aan 6 karakters.
Vanuit het bestand straatnamen.txt wordt een willekeurige waarde gekozen. Deze waarde wordt aangevuld met spaties totdat de lengte van de waarde gelijk is aan 25 karakters.
In de map functions zitten een vijftal functies die nodig zijn om data te vullen in het B4U bestand.
Een aanslagnummer telt 7 karakters, voorafgegaan door drie nullen. Technisch gezien is het mogelijk dat in een set van 250 aanslagnummers twee dezelfde aanslagnummers voorkomt (0,3%).
Echter: Het kenteken moet dan ook hetzelfde zijn. De kans dat een kenteken hetzelfde is vanuit de functie kentekens
is 0,17%. De kans dat beide variabelen hetzelfde zijn wordt hiermee zeer laag (0,00051%) en daarmee verwaarloosbaar.
Omdat we willekeurige kentekens willen krijgen is ervoor gekozen met behulp van het pakket string
een combinatie van letters en cijfers te maken in het format AB123C.
Deze functie kijkt naar het bestand met de naam automerken.txt. In dit bestand zijn 100 willekeurige automerken opgenomen. Het merk wordt in de functie afgekapt of verlengd tot 20 karakters.
Deze functie kijkt naar het bestand met de naam kleuren.txt. In dit bestand zijn 100 willekeurige kleuren opgenomen. De kleur wordt in de functie afgekapt of verlengd tot 6 karakters.
Deze functie kijkt naar het bestand met de naam straatnamen.txt. In dit bestand zijn 100 willekeurige straten opgenomen. De straatnaam wordt in de functie afgekapt of verlengd tot 25 karakters.
Als de code van maakB4U.py
wordt uitgevoerd, worden allereerst een drietal variabelen gevuld die nodig zijn voor het opbouwen van de records in het B4U bestand.
vandaag
wordt gevuld met de datumtijdstempel van het moment van uitvoeren van de code. Het format wordt gelijkgesteld aan yyyymmddhhmm. belasting
is een array met alle mogelijke belastingbedragen. Deze zijn uit te breiden of te veranderen. Uit deze array wordt een willekeurig belastingbedrag gekozen. aantalregels
bepaalt hoeveel naheffingen er in het bestand komen. Op dit moment wordt een willekeurig aantal regels gegenereerd in de range 100 tot 250.
Het B4U bestand krijgt een naam die bestaat uit de datum en het aantal regels (bijvoorbeeld 202406300823_testbestand_216_regels.b4u). Dit bestand wordt opgelagen in de map met de naam testbestanden. Bij het downloaden van de repository staat er al een voorbeeld in de map.