f74af537e264779a61cfca77d70887eda1b5b348
tools/import/extract_docx.py (stdlib-Python, kein pip): Parst 'Wurfchronik der Kleinen Chaoten im Detail.docx' (Word/XML via zipfile). 93 Wuerfe + 227 benannte Tiere aus Tabellen extrahiert. Felder pro Tier: WS-Code, Wurfgeburtsdatum, Name, Farbschlag, Geschlecht (Stern- Suffix), Abnehmer, Abgabedatum, Tod-Datum + Ursache, Partnername + DOB. Sonderwerte (ZT/BLEIBT/FREI/VG:) werden herausgefiltert. Edge-Cases: Doppel-Datum (16./17.03.2021, 31.05/*01.06.2023), WS ohne Zaehler (/5), fehlende Leerzeichen vor WS:, mehrere Abnehmer (1.) ... 2.) ...). Output: output/docx_litters.json + output/docx_animals.json. tools/import/test_extract_docx.py: Unit-Tests fuer Regex-Logik + Live-Tests gegen die echte docx (skip wenn fehlt). 28/28 Tests gruen. GerbilManagerWebAPI/Import/ImportDocxService.cs: Idempotenter NACHZUG-Loader (fill-NULL-only, nie ueberschreiben): - WS-Code + Wurfgeburtsdatum -> PairingCode -> Gerbil.LitterId - Abnehmer -> Contact lookup-or-create -> Gerbil.ReceiverContactId - Abgabedatum -> Gerbil.GoHomeDate - Tod-Datum + Ursache -> Gerbil.DateOfDeath + CauseOfDeath Dry-Run zaehlt geplante Aenderungen, Execute schreibt. GerbilManagerWebAPI/Endpoints/ImportDocxEndpoints.cs: POST /import/docx/dry-run + /import/docx/execute (analog ImportEndpoints). GATE: 157/157 C#, 28/28 Python-docx-Tests, ef has-pending=No. NACHZUG: laueft NACH dem finalen WIPE+REIMPORT-3 (kein Impact auf aktuellen Pipeline).
GerbilManager
GerbilManagerWebAPI/— ASP.NET Core backend (Swagger unter/swagger)gerbil-manager-web/— React-Frontend (Vite + TypeScript), siehegerbil-manager-web/README.md
Requirements
Install ef:
dotnet tool install --global dotnet-ef
Used cmd´s
Start containers
docker compose up
Create the initial database
dotnet ef database update
Create an migration script
dotnet ef migrations add
Docker
force compose rebuild
docker-compose build --no-cache
Frontend (gerbil-manager-web)
cd gerbil-manager-web npm install npm run dev
TODO:
- Backup docker volume database
- run "dotnet ef database update" if no database exist.
Description
Languages
C#
43%
TypeScript
34.5%
Python
18%
CSS
3.7%
Shell
0.5%
Other
0.1%