Remove import_regional_evolutions.py script from the codebase

This commit is contained in:
joereg4 2025-09-24 19:31:52 -05:00
parent f64d0b0877
commit 9014375cd3
1 changed files with 0 additions and 162 deletions

View File

@ -1,162 +0,0 @@
#!/usr/bin/env python3
"""
Import regional evolution data from CSV into the database
"""
import os
import sys
import csv
import django
# Setup Django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.local")
django.setup()
from pokemon_v2.models import (
PokemonEvolution,
PokemonSpecies,
Region,
Item,
Location,
EvolutionTrigger,
Move,
Type,
)
def get_or_create_trigger(name):
"""Get or create an evolution trigger"""
trigger, created = EvolutionTrigger.objects.get_or_create(name=name)
return trigger
def get_or_create_item(name):
"""Get or create an item"""
if not name or name.lower() in ["null", ""]:
return None
try:
return Item.objects.get(name=name)
except Item.DoesNotExist:
print(f"⚠️ Item '{name}' not found")
return None
def get_or_create_location(name):
"""Get or create a location"""
if not name or name.lower() in ["null", ""]:
return None
try:
return Location.objects.get(name=name)
except Location.DoesNotExist:
print(f"⚠️ Location '{name}' not found")
return None
def get_or_create_region(name):
"""Get or create a region"""
if not name or name.lower() in ["null", ""]:
return None
try:
return Region.objects.get(name=name)
except Region.DoesNotExist:
print(f"⚠️ Region '{name}' not found")
return None
def get_or_create_species(name):
"""Get or create a Pokemon species"""
if not name or name.lower() in ["null", ""]:
return None
try:
return PokemonSpecies.objects.get(name=name)
except PokemonSpecies.DoesNotExist:
print(f"⚠️ Pokemon species '{name}' not found")
return None
def import_regional_evolution_data(csv_file):
"""Import regional evolution data from CSV"""
print(f"Importing regional evolution data from {csv_file}...")
imported_count = 0
skipped_count = 0
with open(csv_file, "r") as f:
reader = csv.DictReader(f)
for row_num, row in enumerate(reader, start=2): # Start at 2 for header
try:
# Get Pokemon species
pokemon_name = row["pokemon"]
evolves_to_name = row["evolves_to"]
pokemon = get_or_create_species(pokemon_name)
evolves_to = get_or_create_species(evolves_to_name)
if not pokemon or not evolves_to:
print(f"⚠️ Skipping row {row_num}: Missing Pokemon species")
skipped_count += 1
continue
# Get evolution trigger
method = row["method"]
trigger = get_or_create_trigger(method)
# Get other fields
region = get_or_create_region(row["region"])
item = get_or_create_item(row["item"])
location = get_or_create_location(row["location"])
base_form = get_or_create_species(row["base_form_required"])
# Parse level
min_level = None
if row["level"] and row["level"].strip():
try:
min_level = int(row["level"])
except ValueError:
print(f"⚠️ Invalid level '{row['level']}' in row {row_num}")
# Create or update evolution
evolution, created = PokemonEvolution.objects.get_or_create(
evolved_species=evolves_to,
evolution_trigger=trigger,
defaults={
"evolution_item": item,
"min_level": min_level,
"location": location,
"region_restriction": region,
"base_form_required": base_form,
},
)
if created:
print(f"✅ Created evolution: {pokemon_name}{evolves_to_name}")
imported_count += 1
else:
# Update existing evolution with new fields
evolution.region_restriction = region
evolution.base_form_required = base_form
evolution.save()
print(f"🔄 Updated evolution: {pokemon_name}{evolves_to_name}")
imported_count += 1
except Exception as e:
print(f"❌ Error processing row {row_num}: {e}")
skipped_count += 1
print(f"\nImport completed!")
print(f"✅ Imported/Updated: {imported_count}")
print(f"⚠️ Skipped: {skipped_count}")
def main():
"""Main function"""
csv_file = "regional_evolutions.csv"
if not os.path.exists(csv_file):
print(f"❌ CSV file '{csv_file}' not found")
return
import_regional_evolution_data(csv_file)
if __name__ == "__main__":
main()