fix: convert skill target_level to INTEGER instead of string
- build_skill_assignments() now returns INTEGER (1-5) for target_level
- Previously returned string names ('einsteiger', 'grundlagen', etc.)
- Caused 91/95 import failures with 'invalid input syntax for type integer'
- Remaining 4 failures are wiki pages missing both goal AND execution (invalid data)
Issue: Wiki import - dict-cursor fixes phase 2
This commit is contained in:
parent
97a7fe7cba
commit
e6ce7e241c
|
|
@ -273,7 +273,9 @@ def build_skill_assignments(mapped: dict) -> list[dict]:
|
||||||
Erstellt Skill-Zuordnungen aus PrimaryCapability + CapabilityLevel.
|
Erstellt Skill-Zuordnungen aus PrimaryCapability + CapabilityLevel.
|
||||||
|
|
||||||
CapabilityLevel [3, 2] korrespondiert mit PrimaryCapability [Schnellkraft, Schnelligkeitsausdauer]
|
CapabilityLevel [3, 2] korrespondiert mit PrimaryCapability [Schnellkraft, Schnelligkeitsausdauer]
|
||||||
→ ergibt: [{skill: Schnellkraft, target_level: aufbau}, {skill: Schnelligkeitsausdauer, target_level: grundlagen}]
|
→ ergibt: [{skill: Schnellkraft, target_level: 3}, {skill: Schnelligkeitsausdauer, target_level: 2}]
|
||||||
|
|
||||||
|
WICHTIG: target_level ist INTEGER (1-5), nicht String!
|
||||||
"""
|
"""
|
||||||
skills = mapped.get("skill_names", [])
|
skills = mapped.get("skill_names", [])
|
||||||
levels = mapped.get("skill_levels_raw", [])
|
levels = mapped.get("skill_levels_raw", [])
|
||||||
|
|
@ -281,9 +283,15 @@ def build_skill_assignments(mapped: dict) -> list[dict]:
|
||||||
assignments = []
|
assignments = []
|
||||||
for idx, skill_name in enumerate(skills):
|
for idx, skill_name in enumerate(skills):
|
||||||
level_str = levels[idx] if idx < len(levels) else "1"
|
level_str = levels[idx] if idx < len(levels) else "1"
|
||||||
|
# Konvertiere zu INTEGER statt String-Namen
|
||||||
|
try:
|
||||||
|
target_level = int(level_str.strip())
|
||||||
|
except (ValueError, AttributeError):
|
||||||
|
target_level = 1 # Fallback
|
||||||
|
|
||||||
assignments.append({
|
assignments.append({
|
||||||
"skill_name": skill_name,
|
"skill_name": skill_name,
|
||||||
"target_level": map_capability_level(level_str),
|
"target_level": target_level, # INTEGER 1-5
|
||||||
"required_level": None, # Nicht im Wiki spezifiziert
|
"required_level": None, # Nicht im Wiki spezifiziert
|
||||||
"intensity": None, # Nicht im Wiki spezifiziert
|
"intensity": None, # Nicht im Wiki spezifiziert
|
||||||
"is_primary": idx == 0,
|
"is_primary": idx == 0,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user