tools/import/ (Python, zero-dep migration tooling, not product code): - xlsx_util.py: dependency-free .xlsx reader (shared strings, cells, drawing anchors) - genotype.py: notation -> frozen 8-locus mapping + verbatim rawGenotype + unmappedTokens; '-' -> '?' - extract.py: 10 Stammbaum charts + Wurfchronik -> animals.json/litters.json + anchor-mapped photos; dedup on normalise(name)+DOB -> German review-report.md (no DB load) Run: 889 raw -> 587 unique animals, 24 conflicts, 310 ambiguous, 123 photos, 752 litters. Output gitignored except review-report.md. Re-runnable per file (Wurfchronik Teil2+). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
14 KiB
FEAT-8b — Import-Vorschau & Prüfbericht (Stammbäume + Wurfchronik)
Automatisch erzeugt von tools/import/extract.py — noch nichts in die Datenbank geladen. Bitte prüfen, bevor importiert wird.
Überblick
- Rohe Tier-Einträge aus den Stammbäumen: 889
- Nach Zusammenführung (eindeutige Tiere): 587
- davon mit Geburtsdatum: 292
- in mehreren Dateien gefunden (Dubletten zusammengeführt): 142
- Konflikte zur Klärung: 24
- Mehrdeutige / unvollständige Einträge (ohne Name+Datum): 310
- Fotos zugeordnet: 123
- Würfe aus der Wurfchronik: 752
- Tiere, deren Geburtsdatum zu einem Wurf passt (verknüpfbar): 152
Zusammenführungs-Schlüssel
Tiere wurden zusammengeführt über normalisierter Name + Geburtsdatum. Namensvarianten (z. B. v.d. ↔ von den, gen.-Spitznamen, Zuchtsuffixe) werden als nameVariants erhalten.
⚠️ Konflikte (bitte prüfen)
Gleiches Tier (Name+Datum), aber widersprüchliche Angaben in verschiedenen Dateien:
| Tier | Geburtsdatum | abweichende Genotypen | abweichende Farbschläge | Sterbedaten | Dateien |
|---|---|---|---|---|---|
| Louis von den Kleinen Chaoten | 15.07.2017 | Aa Cc[] D- Ee Gg P- spsp // Aa Cc[chm] D- Ee Uwuw[d] P- spsp | Roswitha von den Kleinen Chaoten | 01.07.2020 | Stammbaum von Akio Kids, Stammbaum von CP-Fuchs, CP-Sa Sp von Unity |
| Roswitha von den Kleinen Chaoten | 10.09.2018 | aa CC D- ee[f] Gg P- spsp // aa CC D- ee[f] Uwuw[d] P- spsp | — | 05.08.2021 | Stammbaum von Akio Kids, Stammbaum von CP-Fuchs, CP-Sa Sp von Unity |
| Firefly von den Kleinen Chaoten | 18.12.2019 | /+, Aa c[chm]c[chm] D- Ee Gg PP Spsp // Aa c[chm]c[chm] DD Ee Gg PP Spsp | — | 2024 | Stammbaum von Akio Kids, Stammbaum von CP-Fuchs, CP-Sa Sp von Unity, Stammbaum von Fire Kids, Stammbaum von Valentino Firehearts Kids |
| Zuleika von den Kleinen Chaoten | 24.10.2015 | aa c[chm]c[h] D- E G P- spsp // aa c[chm]c[h] D- Ee Gg P- spsp // aa c[chm]c[h] DD Ee Gg P- spsp | — | 24.02.2019 | Stammbaum von Akio Kids, Stammbaum von CP-Fuchs, CP-Sa Sp von Unity, Stammbaum von Valentino Firehearts Kids |
| WildFire von den Kleinen Chaoten | 05.10.2017 | aa c[chm]c[chm] D- Ee gg P- spsp // aa c[chm]c[chm] D- Ee gg PP spsp | — | — | Stammbaum von Akio Kids, Stammbaum von CP-Fuchs, CP-Sa Sp von Unity, Stammbaum von Fire Kids, Stammbaum von Valentino Firehearts Kids |
| Flint von den Kleinen Chaoten | 23.12.2017 | aa Cc[chm] D- ee Gg P- spsp | — | 10.05.2021 // 10.05.2022 | Stammbaum von Akio Kids, Stammbaum von CP-Fuchs, CP-Sa Sp von Unity |
| Silenos gen. Adonis v.d. Kleinen Chaoten | 11.10.2015 | aa Cc[chm] D- Ee Gg PP spsp // aa Cc[chm] D- Ee Uwuw[d] PP spsp | — | 18.07.2019 | Stammbaum von Akio Kids, Stammbaum von Goldfuchs Sp (Pikachu) Kids, Stammbaum von Watarus Kids |
| Milka of LennyLengo | 09.12.2018 | aa C- dd E- Gg P- Spsp // aa Cc[h] dd EE Gg P- Spsp | — | 22.12.2021 | Stammbaum von Alberto Kids, Stammbaum von Stella Kids |
| Hedwig of BGB | 30.10.2019 | aa CC DD E- G- P- Spsp WP // aa CC DD E- G- P- Spsp WP DP (hörend) | — | 30.08.2023 | Stammbaum von Alberto Kids, Stammbaum von Fire Kids, Stammbaum von Stella Kids |
| Silvain von den Kleinen Chaoten | 27.03.2022 | aa c[chm]c[chm] Dd Ee[-] Gg P- Spsp // aa c[chm]c[chm] Dd ee[-] Gg Pp Spsp | — | 31.12.2024 | Stammbaum von Alberto Kids, Stammbaum von CP-Fuchs, CP-Sa Sp von Unity |
| Pitari gen. Piti von den Kleinen Chaoten | 16.05.2021 | Aa CC dd ee Gg P- Spsp DP // Aa CC dd ee Gg P- Spsp [DP] | — | — | Stammbaum von Alberto Kids, Stammbaum von Fire Kids, Stammbaum von Stella Kids |
| Brandon Stark von den Kleinen Chaoten | 13.12.2017 | aa Cc[chm] D- Ee Gg P- spsp // aa Cc[chm] D- Ee Uwuw[d] P- spsp | — | — | Stammbaum von Alberto Kids, Stammbaum von Fire Kids, Stammbaum von Kohlief, Goldfuchsef Sp von Chrissi, Stammbaum von Stella Kids |
| Enya von den Kleinen Chaoten | 01.11.2017 | Aa c[chm]c[chm] D- ee[-] G- P- spsp // Aa c[chm]c[chm] D- ee[-] Uwuw[d] P- spsp | — | — | Stammbaum von Alberto Kids, Stammbaum von Fire Kids, Stammbaum von Kohlief, Goldfuchsef Sp von Chrissi, Stammbaum von Stella Kids |
| Little Hero of Black Forest | 22.02.2018 | AA CC DD EE GG PP [WFNZ] // AA CC DD EE GG PP spsp [WFNZ] | — | 18.06.2021 | Stammbaum von Alberto Kids, Stammbaum von CP-Fuchs, CP-Sa Sp von Unity, Stammbaum von Fire Kids, Stammbaum von Kohlief, Goldfuchsef Sp von Chrissi, Stammbaum von Stella Kids, Stammbaum von Valentino Firehearts Kids |
| Molly of Black Forest | 13.09.2021 | /+, Aa Cc[chm] D- Ee gg P- spsp // Aa Cc[chm] Dd Ee gg Pp spsp | — | 03.05.2021 | Stammbaum von Alberto Kids, Stammbaum von CP-Fuchs, CP-Sa Sp von Unity |
| Little Runner's Big Ben | 03.02.2020 | Aa Cc[chm] DD Ee Gg PP Spsp // Aa Cc[chm] DD Ee Gg Pp Spsp | Daja of Little Rose | 14.10.2023 | Stammbaum von CP-Fuchs, CP-Sa Sp von Unity, Stammbaum von Fire Kids, Stammbaum von Goldfuchs Sp (Pikachu) Kids, Stammbaum von Kohlief, Goldfuchsef Sp von Chrissi, Stammbaum von Valentino Firehearts Kids, Stammbaum von Watarus Kids |
| Daja of Little Rose | 16.05.2021 | aa chmchm D- EE Gg P- // aa chmchm D- EE Gg P- spsp | — | — | Stammbaum von CP-Fuchs, CP-Sa Sp von Unity, Stammbaum von Fire Kids, Stammbaum von Valentino Firehearts Kids |
| Ichika von den Kleinen Chaoten | 19.04.2020 | aa CC D- ee Gg pp spsp // aa CC D- ee[f] Gg pp spsp | — | 27.11.2023 | Stammbaum von Goldfuchs Sp (Pikachu) Kids, Stammbaum von Watarus Kids |
| Victoria Welby gen. Welby v.d. Kleinen Chaoten | 16.01.2023 | Aa CC D- Ee[f] Gg pp Spsp [DP] // Aa CC D- ee[f] Gg pp Spsp [DP] | — | 17.02.2026 | Stammbaum von Goldfuchs Sp (Pikachu) Kids, Stammbaum von Watarus Kids |
| Zac gen. Action von den Kleinen Chaoten | 25.12.2020 | aa C- D- Ee G- Pp Spsp [DP] // aa CC D- Ee G- Pp Spsp [DP] | Belica gen. Emi von den Kleinen Chaoten | 31.01.2025 | Stammbaum von Goldfuchs Sp (Pikachu) Kids, Stammbaum von Kohlief, Goldfuchsef Sp von Chrissi, Stammbaum von Watarus Kids |
| Chelsea von den Kleinen Chaoten | 02.04.2021 | /+, Aa CC Dd ee gg Pp spsp // Aa CC Dd ee gg Pp spsp | — | — | Stammbaum von Goldfuchs Sp (Pikachu) Kids, Stammbaum von Valentino Firehearts Kids |
| Ethan von den Kleinen Chaoten | 09.07.2020 | Aa Cc[chm] D- ee[f] Gg Pp Spsp | Ichika von den Kleinen Chaoten // Orangeschimmel, hell Kragenschecke | 30.07.2024 | Stammbaum von Kentucky, Stammbaum von Watarus Kids |
| Quied Soldier of Black Forest | 07.06.2018 | /+, Aa C- D- ee[f] GG Pp Spsp [DP] // Aa C- D- ee[f] GG Pp Spsp DP | Hoshi von den Kleinen Chaoten | — | Stammbaum von Kentucky |
| Hanami von den Kleinen Chaoten | 10.09.2015 | aa Cc[chm] D- Ee gg P- spsp | — | 12.12.2019 // 14.01.2020 | Stammbaum von Kentucky, Stammbaum von Stella Kids |
Mehrdeutige / unvollständige Einträge
310 Einträge ohne sichere Name+Datum-Kombination (z. B. Name1 & Name2-Paarzellen der tiefsten Generation, oder Zellen ohne Datum). Diese werden NICHT automatisch zusammengeführt.
- Oskar v.d. bunten Fellnase · Stammbaum von Akio Kids.xlsx
- Raya v.d. bunten Fellnasen · Stammbaum von Akio Kids.xlsx
- Oskar v.d. bunten Fellnase · Stammbaum von Akio Kids.xlsx
- Raya v.d. bunten Fellnasen · Stammbaum von Akio Kids.xlsx
- Tai of Lennylengo · Stammbaum von Akio Kids.xlsx
- Trixxy · Stammbaum von Akio Kids.xlsx
- Katsu · Stammbaum von Akio Kids.xlsx
- Akina (RV) · Stammbaum von Akio Kids.xlsx
- Arrow PZ Niederlande · Stammbaum von Akio Kids.xlsx
- Isa of Golden Lights · Stammbaum von Akio Kids.xlsx
- BlackFire · Stammbaum von Akio Kids.xlsx
- Leila v. Jessica Walldorf · Stammbaum von Akio Kids.xlsx
- Osamu · Stammbaum von Akio Kids.xlsx
- Montana · Stammbaum von Akio Kids.xlsx
- Isiri of Golden Lights · Stammbaum von Akio Kids.xlsx
- Danjo of Golden Lights · Stammbaum von Akio Kids.xlsx
- Sam gen. Shelly v.d. bunten Fellnasen · Stammbaum von Akio Kids.xlsx
- Jacky · Stammbaum von Akio Kids.xlsx
- BlackFire · Stammbaum von Akio Kids.xlsx
- Katara · Stammbaum von Akio Kids.xlsx
- Jack Jr. · Stammbaum von Akio Kids.xlsx
- Nala · Stammbaum von Akio Kids.xlsx
- Brandon Stark · Stammbaum von Akio Kids.xlsx
- Enya · Stammbaum von Akio Kids.xlsx
- Oscar of Black Forest · Stammbaum von Akio Kids.xlsx
- Naho · Stammbaum von Akio Kids.xlsx
- Hagrid Rubeus of Black Forest · Stammbaum von Akio Kids.xlsx
- Lilo of LennyLengo · Stammbaum von Akio Kids.xlsx
- Kazuya · Stammbaum von Akio Kids.xlsx
- Rainny · Stammbaum von Akio Kids.xlsx
- Eddward · Stammbaum von Akio Kids.xlsx
- Harumi · Stammbaum von Akio Kids.xlsx
- Marc Sloan · Stammbaum von Akio Kids.xlsx
- Iris · Stammbaum von Akio Kids.xlsx
- Pan · Stammbaum von Akio Kids.xlsx
- Gin · Stammbaum von Akio Kids.xlsx
- Jack II · Stammbaum von Akio Kids.xlsx
- Isa of Golden Lights · Stammbaum von Akio Kids.xlsx
- Mystique of Black Forest · Stammbaum von Alberto Kids.xlsx
- Verpaarung von Fleur · Stammbaum von Alberto Kids.xlsx
Wahrscheinliche Zuordnungen unvollständiger Einträge
38 namenlose/datenlose Einträge tragen denselben Namen wie ein vollständiges Tier — vermutlich dasselbe Tier (zur Bestätigung):
- „Oscar of Black Forest“ → Oscar of Black Forest (*12.06.2019)
- „Hagrid Rubeus of Black Forest“ → Hagrid Rubeus of Black Forest (*18.07.2019)
- „Lilo of LennyLengo“ → Lilo of LennyLengo (*04.11.2018)
- „Mystique of Black Forest“ → Mystique of Black Forest (*12.03.2022)
- „Hagrid Rubeus of Black Forest“ → Hagrid Rubeus of Black Forest (*18.07.2019)
- „Charly of Golden Lights“ → Charly of Golden Lights (*05.04.2016)
- „Ziwa of Golden Lights“ → Ziwa of Golden Lights (*29.04.2016)
- „Chelsea von den Kleinen Chaoten“ → Chelsea von den Kleinen Chaoten (*02.04.2021); Chelsea von den Kleinen Chaoten (*15.10.2021)
- „Pinto of Fiomi“ → Pinto of Fiomi (*28.08.2016)
- „Living Force's Idefix“ → Living Force's Idefix (*05.04.2016)
- „Scarlett of Samsimar“ → Scarlett of Samsimar (*05.09.2018)
- „Living Force's Idefix“ → Living Force's Idefix (*05.04.2016)
- „Rosie of LennyLengo“ → Rosie of LennyLengo (*15.03.2016)
- „Stich von Privatzucht Gießen“ → Stich von Privatzucht Gießen (*01.09.2018)
- „Lilo of LennyLengo“ → Lilo of LennyLengo (*04.11.2018)
- „Living Force's Idefix“ → Living Force's Idefix (*05.04.2016)
- „Rosie of LennyLengo“ → Rosie of LennyLengo (*15.03.2016)
- „Living Force's Idefix“ → Living Force's Idefix (*05.04.2016)
- „Rosie of LennyLengo“ → Rosie of LennyLengo (*15.03.2016)
- „Inusch of Black Forest“ → Inusch of Black Forest (*25.10.2017)
- „Little Hero of Black Forest“ → Little Hero of Black Forest (*22.02.2018)
- „Little Runner's Destiny“ → Little Runner's Destiny (*02.03.2019)
- „Chevrolet Camaro of Topolino“ → Chevrolet Camaro of Topolino (*10.04.2018)
- „Marlin of Black Forest“ → Marlin of Black Forest (*28.05.2019)
- „Nisha of Black Forest“ → Nisha of Black Forest (*28.03.2018)
- „Nisha of Black Forest“ → Nisha of Black Forest (*28.03.2018)
- „Dorie of Black Forest“ → Dorie of Black Forest (*28.05.2019)
- „Zadar from Zeko i ptica, Croatia“ → Zadar from Zeko i ptica, Croatia (*12.04.2019)
- „Living Force's Vally“ → Living Force's Vally (*01.11.2014)
- „Pinto of Fiomi“ → Pinto of Fiomi (*28.08.2016)
- „Oscar of Black Forest“ → Oscar of Black Forest (*12.06.2019)
- „Hagrid Rubeus of Black Forest“ → Hagrid Rubeus of Black Forest (*18.07.2019)
- „Lilo of LennyLengo“ → Lilo of LennyLengo (*04.11.2018)
- „Chevrolet Camaro of Topolino“ → Chevrolet Camaro of Topolino (*10.04.2018)
- „Lilo of LennyLengo“ → Lilo of LennyLengo (*04.11.2018)
- „Rosie of LennyLengo“ → Rosie of LennyLengo (*15.03.2016)
- „Rosie of LennyLengo“ → Rosie of LennyLengo (*15.03.2016)
- „Little Runner's Destiny“ → Little Runner's Destiny (*02.03.2019)
Nicht ins 8-Loci-Modell abgebildete Tokens (verbatim erhalten)
Diese Tokens stehen weiter in rawGenotype/unmappedTokens — Entscheidung (Modell erweitern vs. als Notiz) liegt bei Julian/Kevin:
| Token | Vorkommen | Bedeutung (Vermutung) |
|---|---|---|
[DP] |
16 | Marker (Dunkelpigment?) |
[WFNZ] |
13 | Marker |
DP |
10 | Marker |
WP |
8 | Marker |
/+ |
8 | ? |
Uwuw[d] |
4 | 9. Locus Uw (nicht im Modell) |
[WP] |
3 | Marker |
-g |
2 | ? |
C(C) |
2 | Schreibweise (C trägt c) |
UwUw |
2 | 9. Locus Uw |
chmchm |
2 | Schreibweise (c[chm]c[chm]) |
Cc[] |
1 | ? |
-psp |
1 | ? |
G(G) |
1 | ? |
uw[d]uw[d] |
1 | ? |
[DP |
1 | ? |
Dea/dea] |
1 | ? |
DD-Tumor |
1 | ? |
bei |
1 | ? |
Geschwistern |
1 | ? |
C-D- |
1 | ? |
Sls |
1 | ? |
(hörend) |
1 | ? |
-DD |
1 | ? |
Hinweise für den Import (Stufe 3, später)
- Wurfchronik = Quelle der Würfe (Datum, Wurfstärke, Eltern, Zuchtnummer); Stammbäume = Abstammung + Genotyp + Fotos. Verknüpfung über Geburtsdatum + Elternnamen.
- Eltern-Verknüpfungen (
parentRefs) stammen aus der Position im Stammbaum (Vater oben / Mutter unten, mittlere Konfidenz) — die Wurfchronik korrigiert dies maßgeblich. - Genotyp:
mapped8locus(A C D E G P Sp Re),rawGenotype(wortgetreu),unmappedTokens(z. B.Uw,Sls,Dea, Marker wieWFNZ/WP/DP) — nichts geht verloren. -(unbekanntes zweites Allel) →?(Platzhalter; Annahme, bitte bestätigen).