mirror of
https://github.com/PokeAPI/pokeapi
synced 2024-11-10 14:14:17 +00:00
2198 lines
50 KiB
Python
2198 lines
50 KiB
Python
# To build out the data you'll need to jump into the Django shell
|
|
#
|
|
# $ python manage.py shell
|
|
#
|
|
# and run the build script with
|
|
#
|
|
# $ execfile('data/v2/build.py')
|
|
#
|
|
# Each time the build script is run it will iterate over each table in the database,
|
|
# wipe it and rewrite each row using the data found in data/v2/csv.
|
|
# If you don't need all of the data just go into data/v2/build.py and
|
|
# comment out everything but what you need to build the tables you're looking for.
|
|
# This might be useful because some of the csv files are massive
|
|
# (pokemon_moves expecially) and it can take about 30 minutes to build everything.
|
|
|
|
import csv
|
|
import os
|
|
from django.db import migrations, connection
|
|
from pokemon_v2.models import *
|
|
|
|
|
|
data_location = 'data/v2/csv/'
|
|
db_cursor = connection.cursor()
|
|
db_vendor = connection.vendor
|
|
|
|
|
|
def loadData(fileName):
|
|
return csv.reader(open(data_location + fileName, 'rb'), delimiter=',')
|
|
|
|
|
|
def clearTable(model):
|
|
|
|
table_name = model._meta.db_table
|
|
model.objects.all().delete()
|
|
|
|
print 'building ' + table_name
|
|
|
|
# Reset DB auto increments to start at 1
|
|
if db_vendor == 'sqlite':
|
|
db_cursor.execute("DELETE FROM sqlite_sequence WHERE name = " + "'" + table_name + "'" )
|
|
else:
|
|
db_cursor.execute("SELECT setval(pg_get_serial_sequence(" + "'" + table_name + "'" + ",'id'), 1, false);")
|
|
|
|
|
|
|
|
##############
|
|
# LANGUAGE #
|
|
##############
|
|
|
|
clearTable(Language)
|
|
data = loadData('languages.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
language = Language (
|
|
id = int(info[0]),
|
|
iso639 = info[1],
|
|
iso3166 = info[2],
|
|
name = info[3],
|
|
official = bool(int(info[4])),
|
|
order = info[5],
|
|
)
|
|
|
|
language.save()
|
|
|
|
|
|
clearTable(LanguageName)
|
|
data = loadData('language_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
languageName = LanguageName (
|
|
language = Language.objects.get(pk = int(info[0])),
|
|
local_language_id = int(info[1]),
|
|
name = info[2]
|
|
)
|
|
|
|
languageName.save()
|
|
|
|
|
|
|
|
############
|
|
# REGION #
|
|
############
|
|
|
|
clearTable(Region)
|
|
data = loadData('regions.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = Region (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(RegionName)
|
|
data = loadData('region_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = RegionName (
|
|
region = Region.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
################
|
|
# GENERATION #
|
|
################
|
|
|
|
clearTable(Generation)
|
|
data = loadData('generations.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = Generation (
|
|
id = int(info[0]),
|
|
region = Region.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(GenerationName)
|
|
data = loadData('generation_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = GenerationName (
|
|
generation = Generation.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
#############
|
|
# VERSION #
|
|
#############
|
|
|
|
clearTable(VersionGroup)
|
|
data = loadData('version_groups.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
versionGroup = VersionGroup (
|
|
id = int(info[0]),
|
|
name = info[1],
|
|
generation = Generation.objects.get(pk = int(info[2])),
|
|
order = int(info[3])
|
|
)
|
|
versionGroup.save()
|
|
|
|
|
|
clearTable(VersionGroupRegion)
|
|
data = loadData('version_group_regions.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
versionGroupRegion = VersionGroupRegion (
|
|
version_group = VersionGroup.objects.get(pk = int(info[0])),
|
|
region = Region.objects.get(pk = int(info[1])),
|
|
)
|
|
versionGroupRegion.save()
|
|
|
|
|
|
clearTable(Version)
|
|
data = loadData('versions.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
version = Version (
|
|
id = int(info[0]),
|
|
version_group = VersionGroup.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
version.save()
|
|
|
|
|
|
clearTable(VersionName)
|
|
data = loadData('version_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
versionName = VersionName (
|
|
version = Version.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
versionName.save()
|
|
|
|
|
|
|
|
##################
|
|
# DAMAGE CLASS #
|
|
##################
|
|
|
|
clearTable(MoveDamageClass)
|
|
data = loadData('move_damage_classes.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveDamageClass (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveDamageClassDescription)
|
|
data = loadData('move_damage_class_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveDamageClassDescription (
|
|
move_damage_class = MoveDamageClass.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
description = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
###########
|
|
# STATS #
|
|
###########
|
|
|
|
clearTable(Stat)
|
|
data = loadData('stats.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
stat = Stat (
|
|
id = int(info[0]),
|
|
move_damage_class = MoveDamageClass.objects.get(pk = int(info[1])) if info[1] != '' else None,
|
|
name = info[2],
|
|
is_battle_only = bool(int(info[3])),
|
|
game_index = int(info[4]) if info[4] else 0,
|
|
)
|
|
stat.save()
|
|
|
|
|
|
clearTable(StatName)
|
|
data = loadData('stat_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
statName = StatName (
|
|
stat = Stat.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
statName.save()
|
|
|
|
|
|
clearTable(PokeathlonStat)
|
|
data = loadData('pokeathlon_stats.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
stat = PokeathlonStat (
|
|
id = int(info[0]),
|
|
name = info[1],
|
|
)
|
|
stat.save()
|
|
|
|
|
|
clearTable(PokeathlonStatName)
|
|
data = loadData('pokeathlon_stat_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
statName = PokeathlonStatName (
|
|
pokeathlon_stat = PokeathlonStat.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
statName.save()
|
|
|
|
|
|
|
|
|
|
###############
|
|
# ABILITIES #
|
|
###############
|
|
|
|
clearTable(Ability)
|
|
data = loadData('abilities.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
ability = Ability (
|
|
id = int(info[0]),
|
|
name = info[1],
|
|
generation = Generation.objects.get(pk = int(info[2])),
|
|
is_main_series = bool(int(info[3]))
|
|
)
|
|
ability.save()
|
|
|
|
|
|
clearTable(AbilityName)
|
|
data = loadData('ability_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
abilityName = AbilityName (
|
|
ability = Ability.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
abilityName.save()
|
|
|
|
|
|
clearTable(AbilityDescription)
|
|
data = loadData('ability_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
abilityDesc = AbilityDescription (
|
|
ability = Ability.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
short_effect = info[2],
|
|
effect = info[3]
|
|
)
|
|
abilityDesc.save()
|
|
|
|
|
|
clearTable(AbilityFlavorText)
|
|
data = loadData('ability_flavor_text.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
abilityFlavorText = AbilityFlavorText (
|
|
ability = Ability.objects.get(pk = int(info[0])),
|
|
version_group = VersionGroup.objects.get(pk = int(info[1])),
|
|
language = Language.objects.get(pk = int(info[2])),
|
|
flavor_text = info[3]
|
|
)
|
|
abilityFlavorText.save()
|
|
|
|
|
|
|
|
####################
|
|
# CHARACTERISTIC #
|
|
####################
|
|
|
|
clearTable(Characteristic)
|
|
data = loadData('characteristics.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = Characteristic (
|
|
id = int(info[0]),
|
|
stat = Stat.objects.get(pk = int(info[1])),
|
|
gene_mod_5 = int(info[2])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(CharacteristicDescription)
|
|
data = loadData('characteristic_text.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = CharacteristicDescription (
|
|
characteristic = Characteristic.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
description = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
###############
|
|
# EGG GROUP #
|
|
###############
|
|
|
|
clearTable(EggGroup)
|
|
data = loadData('egg_groups.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = EggGroup (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(EggGroupName)
|
|
data = loadData('egg_group_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = EggGroupName (
|
|
egg_group = EggGroup.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
#################
|
|
# GROWTH RATE #
|
|
#################
|
|
|
|
clearTable(GrowthRate)
|
|
data = loadData('growth_rates.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = GrowthRate (
|
|
id = int(info[0]),
|
|
name = info[1],
|
|
formula = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(GrowthRateDescription)
|
|
data = loadData('growth_rate_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = GrowthRateDescription (
|
|
growth_rate = GrowthRate.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
description = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
clearTable(ItemPocket)
|
|
data = loadData('item_pockets.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ItemPocket (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ItemPocketName)
|
|
data = loadData('item_pocket_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ItemPocketName (
|
|
item_pocket = ItemPocket.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ItemFlingEffect)
|
|
data = loadData('item_fling_effects.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ItemFlingEffect (
|
|
id = int(info[0])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ItemFlingEffectDescription)
|
|
data = loadData('item_fling_effect_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ItemFlingEffectDescription (
|
|
item_fling_effect = ItemFlingEffect.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
effect = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ItemCategory)
|
|
data = loadData('item_categories.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ItemCategory (
|
|
id = int(info[0]),
|
|
item_pocket = ItemPocket.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ItemCategoryName)
|
|
data = loadData('item_category_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ItemCategoryName (
|
|
item_category = ItemCategory.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(Item)
|
|
data = loadData('items.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = Item (
|
|
id = int(info[0]),
|
|
name = info[1],
|
|
item_category = ItemCategory.objects.get(pk = int(info[2])),
|
|
cost = int(info[3]),
|
|
fling_power = int(info[4]) if info[4] != '' else None,
|
|
item_fling_effect = ItemFlingEffect.objects.get(pk = int(info[5])) if info[5] != '' else None
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ItemName)
|
|
data = loadData('item_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ItemName (
|
|
item = Item.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ItemDescription)
|
|
data = loadData('item_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ItemDescription (
|
|
item = Item.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
short_effect = info[2],
|
|
effect = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ItemGameIndex)
|
|
data = loadData('item_game_indices.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ItemGameIndex (
|
|
item = Item.objects.get(pk = int(info[0])),
|
|
generation = Generation.objects.get(pk = int(info[1])),
|
|
game_index = int(info[2])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ItemFlavorText)
|
|
data = loadData('item_flavor_text.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ItemFlavorText (
|
|
item = Item.objects.get(pk = int(info[0])),
|
|
version_group = VersionGroup.objects.get(pk = int(info[1])),
|
|
language = Language.objects.get(pk = int(info[2])),
|
|
flavor_text = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ItemFlag)
|
|
data = loadData('item_flags.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ItemFlag (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ItemFlagDescription)
|
|
data = loadData('item_flag_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ItemFlagDescription (
|
|
item_flag = ItemFlag.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2],
|
|
description = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ItemFlagMap)
|
|
data = loadData('item_flag_map.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ItemFlagMap (
|
|
item = Item.objects.get(pk = int(info[0])),
|
|
item_flag = ItemFlag.objects.get(pk = int(info[1]))
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ItemFlagDescription)
|
|
data = loadData('item_flag_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ItemFlagDescription (
|
|
item_flag = ItemFlag.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2],
|
|
description = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
###########
|
|
# TYPES #
|
|
###########
|
|
|
|
clearTable(Type)
|
|
data = loadData('types.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
type = Type (
|
|
id = int(info[0]),
|
|
name = info[1],
|
|
generation = Generation.objects.get(pk = int(info[2])),
|
|
move_damage_class = MoveDamageClass.objects.get(pk = int(info[3])) if info[3] != '' else None
|
|
)
|
|
type.save()
|
|
|
|
|
|
clearTable(TypeName)
|
|
data = loadData('type_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
typeName = TypeName (
|
|
type = Type.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
typeName.save()
|
|
|
|
|
|
clearTable(TypeGameIndex)
|
|
data = loadData('type_game_indices.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
typeGameIndex = TypeGameIndex (
|
|
type = Type.objects.get(pk = int(info[0])),
|
|
generation = Generation.objects.get(pk = int(info[1])),
|
|
game_index = int(info[2])
|
|
)
|
|
typeGameIndex.save()
|
|
|
|
|
|
clearTable(TypeEfficacy)
|
|
data = loadData('type_efficacy.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
typeEfficacy = TypeEfficacy (
|
|
damage_type = Type.objects.get(pk = int(info[0])),
|
|
target_type = Type.objects.get(pk = int(info[1])),
|
|
damage_factor = int(info[2])
|
|
)
|
|
typeEfficacy.save()
|
|
|
|
|
|
|
|
###########
|
|
# MOVES #
|
|
###########
|
|
|
|
clearTable(MoveEffect)
|
|
data = loadData('move_effects.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveEffect (
|
|
id = int(info[0])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveEffectDescription)
|
|
data = loadData('move_effect_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveEffectDescription (
|
|
move_effect = MoveEffect.objects.get(pk = int(info[1])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
short_effect = info[2],
|
|
effect = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveEffectChange)
|
|
data = loadData('move_effect_changelog.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveEffectChange (
|
|
id = int(info[0]),
|
|
move_effect = MoveEffect.objects.get(pk = int(info[1])),
|
|
version_group = VersionGroup.objects.get(pk = int(info[2]))
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveEffectChangeDescription)
|
|
data = loadData('move_effect_changelog_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveEffectChangeDescription (
|
|
move_effect_change = MoveEffectChange.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
effect = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveTarget)
|
|
data = loadData('move_targets.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveTarget (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveTargetDescription)
|
|
data = loadData('move_target_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveTargetDescription (
|
|
move_target = MoveTarget.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2],
|
|
description = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(Move)
|
|
data = loadData('moves.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = Move (
|
|
id = int(info[0]),
|
|
name = info[1],
|
|
generation = Generation.objects.get(pk = int(info[2])),
|
|
type = Type.objects.get(pk = int(info[3])),
|
|
|
|
power = int(info[4]) if info[4] != '' else None,
|
|
|
|
pp = int(info[5]) if info[5] != '' else None,
|
|
|
|
accuracy = int(info[6]) if info[6] != '' else None,
|
|
|
|
priority = int(info[7]) if info[7] != '' else None,
|
|
|
|
move_target = MoveTarget.objects.get(pk = int(info[8])),
|
|
move_damage_class = MoveDamageClass.objects.get(pk = int(info[9])),
|
|
move_effect = MoveEffect.objects.get(pk = int(info[10])),
|
|
|
|
move_effect_chance = int(info[11]) if info[11] != '' else None,
|
|
|
|
contest_type_id = int(info[12]) if info[12] != '' else None,
|
|
|
|
contest_effect_id = int(info[13]) if info[13] != '' else None,
|
|
|
|
super_contest_effect_id = int(info[14]) if info[14] != '' else None
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveName)
|
|
data = loadData('move_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveName (
|
|
move = Move.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveFlavorText)
|
|
data = loadData('move_flavor_text.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveFlavorText (
|
|
move = Move.objects.get(pk = int(info[0])),
|
|
version_group = VersionGroup.objects.get(pk = int(info[1])),
|
|
language = Language.objects.get(pk = int(info[2])),
|
|
flavor_text = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveChange)
|
|
data = loadData('move_changelog.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveChange (
|
|
move = Move.objects.get(pk = int(info[0])),
|
|
version_group = VersionGroup.objects.get(pk = int(info[1])),
|
|
|
|
type = Type.objects.get(pk = int(info[2])) if info[2] != '' else None,
|
|
|
|
power = int(info[3]) if info[3] != '' else None,
|
|
|
|
pp = int(info[4]) if info[4] != '' else None,
|
|
|
|
accuracy = int(info[5]) if info[5] != '' else None,
|
|
|
|
move_effect = MoveEffect.objects.get(pk = int(info[6])) if info[6] != '' else None,
|
|
|
|
move_effect_chance = int(info[7]) if info[7] != '' else None
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveBattleStyle)
|
|
data = loadData('move_battle_styles.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveBattleStyle (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveBattleStyleName)
|
|
data = loadData('move_battle_style_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveBattleStyleName (
|
|
move_battle_style = MoveBattleStyle.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveFlag)
|
|
data = loadData('move_flags.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveFlag (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveFlagMap)
|
|
data = loadData('move_flag_map.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveFlagMap (
|
|
move = Move.objects.get(pk = int(info[0])),
|
|
move_flag = MoveFlag.objects.get(pk = int(info[1])),
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveFlagDescription)
|
|
data = loadData('move_flag_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveFlagDescription (
|
|
move_flag = MoveFlag.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2],
|
|
description = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveMetaAilment)
|
|
data = loadData('move_meta_ailments.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveMetaAilment (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveMetaAilmentName)
|
|
data = loadData('move_meta_ailment_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveMetaAilmentName (
|
|
move_meta_ailment = MoveMetaAilment.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveMetaCategory)
|
|
data = loadData('move_meta_categories.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveMetaCategory (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveMetaCategoryDescription)
|
|
data = loadData('move_meta_category_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveMetaCategoryDescription (
|
|
move_meta_category = MoveMetaCategory.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
description = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveMeta)
|
|
data = loadData('move_meta.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveMeta (
|
|
move = Move.objects.get(pk = int(info[0])),
|
|
move_meta_category = MoveMetaCategory.objects.get(pk = int(info[1])),
|
|
move_meta_ailment = MoveMetaAilment.objects.get(pk = int(info[2])),
|
|
min_hits = int(info[3]) if info[3] != '' else None,
|
|
max_hits = int(info[4]) if info[4] != '' else None,
|
|
min_turns = int(info[5]) if info[5] != '' else None,
|
|
max_turns = int(info[6]) if info[6] != '' else None,
|
|
drain = int(info[7]) if info[7] != '' else None,
|
|
healing = int(info[8]) if info[8] != '' else None,
|
|
crit_rate = int(info[9]) if info[9] != '' else None,
|
|
ailment_chance = int(info[10]) if info[10] != '' else None,
|
|
flinch_chance = int(info[11]) if info[11] != '' else None,
|
|
stat_chance = int(info[12]) if info[12] != '' else None
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(MoveMetaStatChange)
|
|
data = loadData('move_meta_stat_changes.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = MoveMetaStatChange (
|
|
move = Move.objects.get(pk = int(info[0])),
|
|
stat = Stat.objects.get(pk = int(info[1])),
|
|
change = int(info[2])
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
#############
|
|
# CONTEST #
|
|
#############
|
|
|
|
clearTable(ContestType)
|
|
data = loadData('contest_types.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ContestType (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ContestTypeName)
|
|
data = loadData('contest_type_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ContestTypeName (
|
|
contest_type = ContestType.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2],
|
|
flavor = info[3],
|
|
color = info[4]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ContestEffect)
|
|
data = loadData('contest_effects.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ContestEffect (
|
|
id = int(info[0]),
|
|
appeal = int(info[1]),
|
|
jam = int(info[2])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ContestEffectDescription)
|
|
data = loadData('contest_effect_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ContestEffectDescription (
|
|
contest_effect = ContestEffect.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
flavor_text = info[2],
|
|
effect = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(ContestCombo)
|
|
data = loadData('contest_combos.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = ContestCombo (
|
|
first_move = Move.objects.get(pk = int(info[0])),
|
|
second_move = Move.objects.get(pk = int(info[1]))
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(SuperContestEffect)
|
|
data = loadData('super_contest_effects.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = SuperContestEffect (
|
|
id = int(info[0]),
|
|
appeal = int(info[1])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(SuperContestEffectDescription)
|
|
data = loadData('super_contest_effect_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = SuperContestEffectDescription (
|
|
super_contest_effect = SuperContestEffect.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
flavor_text = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(SuperContestCombo)
|
|
data = loadData('super_contest_combos.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = SuperContestCombo (
|
|
first_move = Move.objects.get(pk = int(info[0])),
|
|
second_move = Move.objects.get(pk = int(info[1]))
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
#############
|
|
# BERRIES #
|
|
#############
|
|
|
|
clearTable(BerryFirmness)
|
|
data = loadData('berry_firmness.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = BerryFirmness (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(BerryFirmnessName)
|
|
data = loadData('berry_firmness_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = BerryFirmnessName (
|
|
berry_firmness = BerryFirmness.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(Berry)
|
|
data = loadData('berries.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = Berry (
|
|
id = int(info[0]),
|
|
item = Item.objects.get(pk = int(info[1])),
|
|
berry_firmness = BerryFirmness.objects.get(pk = int(info[2])),
|
|
natural_gift_power = int(info[3]),
|
|
nature = None,
|
|
size = int(info[5]),
|
|
max_harvest = int(info[6]),
|
|
growth_time = int(info[7]),
|
|
soil_dryness = int(info[8]),
|
|
smoothness = int(info[9])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(BerryFlavor)
|
|
data = loadData('berry_flavors.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = BerryFlavor (
|
|
berry = Berry.objects.get(pk = int(info[0])),
|
|
contest_type = ContestType.objects.get(pk = int(info[1])),
|
|
flavor = int(info[2])
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
############
|
|
# NATURE #
|
|
############
|
|
|
|
clearTable(Nature)
|
|
data = loadData('natures.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
nature = Nature (
|
|
id = int(info[0]),
|
|
name = info[1],
|
|
decreased_stat_id = Stat.objects.get(pk = int(info[2])),
|
|
increased_stat_id = Stat.objects.get(pk = int(info[3])),
|
|
hates_flavor_id = BerryFlavor.objects.get(pk = int(info[4])),
|
|
likes_flavor_id = BerryFlavor.objects.get(pk = int(info[5])),
|
|
game_index = info[6]
|
|
)
|
|
nature.save()
|
|
|
|
|
|
#Berry/Nature associations
|
|
data = loadData('berries.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
berry = Berry.objects.get(pk = int(info[0]))
|
|
berry.nature = Nature.objects.get(pk = int(info[4]))
|
|
berry.save()
|
|
|
|
|
|
clearTable(NatureName)
|
|
data = loadData('nature_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
natureName = NatureName (
|
|
nature = Nature.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
natureName.save()
|
|
|
|
|
|
clearTable(NaturePokeathlonStat)
|
|
data = loadData('nature_pokeathlon_stats.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
naturePokeathlonStat = NaturePokeathlonStat (
|
|
nature = Nature.objects.get(pk = int(info[0])),
|
|
pokeathlon_stat = PokeathlonStat.objects.get(pk = int(info[1])),
|
|
max_change = info[2]
|
|
)
|
|
naturePokeathlonStat.save()
|
|
|
|
|
|
clearTable(NatureBattleStylePreference)
|
|
data = loadData('nature_battle_style_preferences.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = NatureBattleStylePreference (
|
|
nature = Nature.objects.get(pk = int(info[0])),
|
|
move_battle_style_id = int(info[1]),
|
|
low_hp_preference = info[2],
|
|
high_hp_preference = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
############
|
|
# GENDER #
|
|
############
|
|
|
|
clearTable(Gender)
|
|
data = loadData('genders.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = Gender (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
################
|
|
# EXPERIENCE #
|
|
################
|
|
|
|
clearTable(Experience)
|
|
data = loadData('experience.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = Experience (
|
|
growth_rate = GrowthRate.objects.get(pk = int(info[0])),
|
|
level = int(info[1]),
|
|
experience = int(info[2])
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
##############
|
|
# MACHINES #
|
|
##############
|
|
|
|
clearTable(Machine)
|
|
data = loadData('machines.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = Machine (
|
|
machine_number = int(info[0]),
|
|
version_group = VersionGroup.objects.get(pk = int(info[1])),
|
|
item = Item.objects.get(pk = int(info[2])),
|
|
move = Move.objects.get(pk = int(info[3])),
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
###############
|
|
# EVOLUTION #
|
|
###############
|
|
|
|
clearTable(EvolutionChain)
|
|
data = loadData('evolution_chains.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = EvolutionChain (
|
|
id = int(info[0]),
|
|
baby_evolution_item = Item.objects.get(pk = int(info[1])) if info[1] != '' else None,
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(EvolutionTrigger)
|
|
data = loadData('evolution_triggers.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = EvolutionTrigger (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(EvolutionTriggerName)
|
|
data = loadData('evolution_trigger_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = EvolutionTriggerName (
|
|
evolution_trigger = EvolutionTrigger.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
#############
|
|
# POKEDEX #
|
|
#############
|
|
|
|
clearTable(Pokedex)
|
|
data = loadData('pokedexes.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = Pokedex (
|
|
id = int(info[0]),
|
|
region = Region.objects.get(pk = int(info[1])) if info[1] != '' else None,
|
|
name = info[2],
|
|
is_main_series = bool(int(info[3]))
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokedexDescription)
|
|
data = loadData('pokedex_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokedexDescription (
|
|
pokedex = Pokedex.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2],
|
|
description = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokedexVersionGroup)
|
|
data = loadData('pokedex_version_groups.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokedexVersionGroup (
|
|
pokedex = Pokedex.objects.get(pk = int(info[0])),
|
|
version_group = VersionGroup.objects.get(pk = int(info[1]))
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
#############
|
|
# POKEMON #
|
|
#############
|
|
|
|
clearTable(PokemonColor)
|
|
data = loadData('pokemon_colors.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonColor (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonColorName)
|
|
data = loadData('pokemon_color_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonColorName (
|
|
pokemon_color = PokemonColor.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonShape)
|
|
data = loadData('pokemon_shapes.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonShape (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonShapeName)
|
|
data = loadData('pokemon_shape_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonShapeName (
|
|
pokemon_shape = PokemonShape.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2],
|
|
awesome_name = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonHabitat)
|
|
data = loadData('pokemon_habitats.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonHabitat (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonSpecies)
|
|
data = loadData('pokemon_species.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonSpecies (
|
|
id = int(info[0]),
|
|
name = info[1],
|
|
generation = Generation.objects.get(pk = int(info[2])),
|
|
evolves_from_species = None,
|
|
evolution_chain = EvolutionChain.objects.get(pk = int(info[4])),
|
|
pokemon_color = PokemonColor.objects.get(pk = int(info[5])),
|
|
pokemon_shape = PokemonShape.objects.get(pk = int(info[6])),
|
|
pokemon_habitat = PokemonHabitat.objects.get(pk = int(info[7])) if info[7] != '' else None,
|
|
gender_rate = int(info[8]),
|
|
capture_rate = int(info[9]),
|
|
base_happiness = int(info[10]),
|
|
is_baby = bool(int(info[11])),
|
|
hatch_counter = int(info[12]),
|
|
has_gender_differences = bool(int(info[13])),
|
|
growth_rate = GrowthRate.objects.get(pk = int(info[14])),
|
|
forms_switchable = bool(int(info[15])),
|
|
order = int(info[16])
|
|
)
|
|
model.save()
|
|
|
|
data = loadData('pokemon_species.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
evolves = PokemonSpecies.objects.get(pk = int(info[3])) if info[3] != '' else None
|
|
|
|
if evolves:
|
|
species = PokemonSpecies.objects.get(pk = int(info[0]))
|
|
species.evolves_from_species = evolves
|
|
species.save()
|
|
|
|
|
|
clearTable(PokemonSpeciesName)
|
|
data = loadData('pokemon_species_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonSpeciesName (
|
|
pokemon_species = PokemonSpecies.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2],
|
|
genus = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonSpeciesDescription)
|
|
data = loadData('pokemon_species_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonSpeciesDescription (
|
|
pokemon_species = PokemonSpecies.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
description = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonSpeciesFlavorText)
|
|
data = loadData('pokemon_species_flavor_text.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonSpeciesFlavorText (
|
|
pokemon_species = PokemonSpecies.objects.get(pk = int(info[0])),
|
|
version = Version.objects.get(pk = int(info[1])),
|
|
language = Language.objects.get(pk = int(info[2])),
|
|
flavor_text = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(Pokemon)
|
|
data = loadData('pokemon.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = Pokemon (
|
|
id = int(info[0]),
|
|
name = info[1],
|
|
pokemon_species = PokemonSpecies.objects.get(pk = int(info[2])),
|
|
height = int(info[3]),
|
|
weight = int(info[4]),
|
|
base_experience = int(info[5]),
|
|
order = int(info[6]),
|
|
is_default = bool(int(info[7]))
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonAbility)
|
|
data = loadData('pokemon_abilities.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonAbility (
|
|
pokemon = Pokemon.objects.get(pk = int(info[0])),
|
|
ability = Ability.objects.get(pk = int(info[1])),
|
|
is_hidden = bool(int(info[2])),
|
|
slot = int(info[3])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonDexNumber)
|
|
data = loadData('pokemon_dex_numbers.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonDexNumber (
|
|
pokemon_species = PokemonSpecies.objects.get(pk = int(info[0])),
|
|
pokedex = Pokedex.objects.get(pk = int(info[1])),
|
|
pokedex_number = int(info[2])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonEggGroup)
|
|
data = loadData('pokemon_egg_groups.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonEggGroup (
|
|
pokemon_species = PokemonSpecies.objects.get(pk = int(info[0])),
|
|
egg_group = EggGroup.objects.get(pk = int(info[1]))
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonEvolution)
|
|
data = loadData('pokemon_evolution.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonEvolution (
|
|
id = int(info[0]),
|
|
evolved_species = PokemonSpecies.objects.get(pk = int(info[1])),
|
|
evolution_trigger = EvolutionTrigger.objects.get(pk = int(info[2])),
|
|
evolution_item = Item.objects.get(pk = int(info[3])) if info[3] != '' else None,
|
|
min_level = int(info[4]) if info[4] != '' else None,
|
|
gender = Gender.objects.get(pk = int(info[5])) if info[5] != '' else None,
|
|
location_id = int(info[6]) if info[6] != '' else None,
|
|
held_item = Item.objects.get(pk = int(info[7])) if info[7] != '' else None,
|
|
time_of_day = info[8],
|
|
known_move = Move.objects.get(pk = int(info[9])) if info[9] != '' else None,
|
|
known_move_type = Type.objects.get(pk = int(info[10])) if info[10] != '' else None,
|
|
min_happiness = int(info[11]) if info[11] != '' else None,
|
|
min_beauty = int(info[12]) if info[12] != '' else None,
|
|
min_affection = int(info[13]) if info[13] != '' else None,
|
|
relative_physical_stats = int(info[14]) if info[14] != '' else None,
|
|
party_species = PokemonSpecies.objects.get(pk = int(info[15])) if info[15] != '' else None,
|
|
party_type = Type.objects.get(pk = int(info[16])) if info[16] != '' else None,
|
|
trade_species = PokemonSpecies.objects.get(pk = int(info[17])) if info[17] != '' else None,
|
|
needs_overworld_rain = bool(int(info[18])),
|
|
turn_upside_down = bool(int(info[19]))
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonForm)
|
|
data = loadData('pokemon_forms.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonForm (
|
|
id = int(info[0]),
|
|
name = info[1],
|
|
form_identifier = info[2],
|
|
pokemon = Pokemon.objects.get(pk = int(info[3])),
|
|
introduced_in_version_group = VersionGroup.objects.get(pk = int(info[4])),
|
|
is_default = bool(int(info[5])),
|
|
is_battle_only = bool(int(info[6])),
|
|
is_mega = bool(int(info[7])),
|
|
form_order = int(info[8]),
|
|
order = int(info[9])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonFormName)
|
|
data = loadData('pokemon_form_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonFormName (
|
|
pokemon_form = PokemonForm.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2],
|
|
pokemon_name = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonFormGeneration)
|
|
data = loadData('pokemon_form_generations.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonFormGeneration (
|
|
pokemon_form = PokemonForm.objects.get(pk = int(info[0])),
|
|
generation = Generation.objects.get(pk = int(info[1])),
|
|
game_index = int(info[2])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonGameIndex)
|
|
data = loadData('pokemon_game_indices.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonGameIndex (
|
|
pokemon = Pokemon.objects.get(pk = int(info[0])),
|
|
version = Version.objects.get(pk = int(info[1])),
|
|
game_index = int(info[2])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonGameIndex)
|
|
data = loadData('pokemon_game_indices.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonGameIndex (
|
|
pokemon = Pokemon.objects.get(pk = int(info[0])),
|
|
version = Version.objects.get(pk = int(info[1])),
|
|
game_index = int(info[2])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonHabitatName)
|
|
data = loadData('pokemon_habitat_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonHabitatName (
|
|
pokemon_habitat = PokemonHabitat.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonItem)
|
|
data = loadData('pokemon_items.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonItem (
|
|
pokemon = Pokemon.objects.get(pk = int(info[0])),
|
|
version = Version.objects.get(pk = int(info[1])),
|
|
item = Item.objects.get(pk = int(info[2])),
|
|
rarity = int(info[3])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonMoveMethod)
|
|
data = loadData('pokemon_move_methods.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonMoveMethod (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonMoveMethodName)
|
|
data = loadData('pokemon_move_method_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonMoveMethodName (
|
|
pokemon_move_method = PokemonMoveMethod.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2],
|
|
description = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonMove)
|
|
data = loadData('pokemon_moves.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonMove (
|
|
pokemon = Pokemon.objects.get(pk = int(info[0])),
|
|
version_group = VersionGroup.objects.get(pk = int(info[1])),
|
|
move = Move.objects.get(pk = int(info[2])),
|
|
pokemon_move_method = PokemonMoveMethod.objects.get(pk = int(info[3])),
|
|
level = int(info[4]),
|
|
order = int(info[5]) if info[5] != '' else None,
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonStat)
|
|
data = loadData('pokemon_stats.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonStat (
|
|
pokemon = Pokemon.objects.get(pk = int(info[0])),
|
|
stat = Stat.objects.get(pk = int(info[1])),
|
|
base_stat = int(info[2]),
|
|
effort = int(info[3])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PokemonType)
|
|
data = loadData('pokemon_types.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PokemonType (
|
|
pokemon = Pokemon.objects.get(pk = int(info[0])),
|
|
type = Type.objects.get(pk = int(info[1])),
|
|
slot = int(info[2])
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
##############
|
|
# ENCOUNTER #
|
|
##############
|
|
|
|
clearTable(Location)
|
|
data = loadData('locations.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = Location (
|
|
id = int(info[0]),
|
|
region = Region.objects.get(pk = int(info[1])) if info[1] != '' else None,
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(LocationName)
|
|
data = loadData('location_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = LocationName (
|
|
location = Location.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(LocationGameIndex)
|
|
data = loadData('location_game_indices.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = LocationGameIndex (
|
|
location = Location.objects.get(pk = int(info[0])),
|
|
generation = Generation.objects.get(pk = int(info[1])),
|
|
game_index = int(info[2])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(LocationArea)
|
|
data = loadData('location_areas.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = LocationArea (
|
|
id = int(info[0]),
|
|
location = Location.objects.get(pk = int(info[1])),
|
|
game_index = int(info[2]),
|
|
name = info[3]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(LocationAreaName)
|
|
data = loadData('location_area_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = LocationAreaName (
|
|
location_area = LocationArea.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(LocationAreaEncounterRate)
|
|
data = loadData('location_area_encounter_rates.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = LocationAreaEncounterRate (
|
|
location_area = LocationArea.objects.get(pk = int(info[0])),
|
|
encounter_method = None,
|
|
version = Version.objects.get(pk = int(info[2])),
|
|
rate = int(info[3])
|
|
)
|
|
model.save()
|
|
|
|
|
|
|
|
###############
|
|
# ENCOUNTER #
|
|
###############
|
|
|
|
clearTable(EncounterMethod)
|
|
data = loadData('encounter_methods.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = EncounterMethod (
|
|
id = int(info[0]),
|
|
name = info[1],
|
|
order = int(info[2])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(EncounterMethodName)
|
|
data = loadData('encounter_method_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = EncounterMethodName (
|
|
encounter_method = EncounterMethod.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(EncounterSlot)
|
|
data = loadData('encounter_slots.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = EncounterSlot (
|
|
id = int(info[0]),
|
|
version_group = VersionGroup.objects.get(pk = int(info[1])),
|
|
encounter_method = EncounterMethod.objects.get(pk = int(info[2])),
|
|
slot = int(info[3]) if info[3] != '' else None,
|
|
rarity = int(info[4])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(EncounterCondition)
|
|
data = loadData('encounter_conditions.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = EncounterCondition (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(EncounterConditionName)
|
|
data = loadData('encounter_condition_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = EncounterConditionName (
|
|
encounter_condition = EncounterCondition.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(Encounter)
|
|
data = loadData('encounters.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = Encounter (
|
|
id = int(info[0]),
|
|
version = Version.objects.get(pk = int(info[1])),
|
|
location_area = LocationArea.objects.get(pk = int(info[2])),
|
|
encounter_slot = EncounterSlot.objects.get(pk = int(info[3])),
|
|
pokemon = Pokemon.objects.get(pk = int(info[4])),
|
|
min_level = int(info[5]),
|
|
max_level = int(info[6])
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(EncounterConditionValue)
|
|
data = loadData('encounter_condition_values.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = EncounterConditionValue (
|
|
id = int(info[0]),
|
|
encounter_condition = EncounterCondition.objects.get(pk = int(info[1])),
|
|
name = info[2],
|
|
is_default = bool(int(info[3]))
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(EncounterConditionValueName)
|
|
data = loadData('encounter_condition_value_prose.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = EncounterConditionValueName (
|
|
encounter_condition_value = EncounterConditionValue.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2],
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(EncounterConditionValueMap)
|
|
data = loadData('encounter_condition_value_map.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = EncounterConditionValueMap (
|
|
encounter = Encounter.objects.get(pk = int(info[0])),
|
|
encounter_condition_value = EncounterConditionValue.objects.get(pk = int(info[1]))
|
|
)
|
|
model.save()
|
|
|
|
|
|
#Location/Encounter associations
|
|
data = loadData('location_area_encounter_rates.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
laer = LocationAreaEncounterRate.objects.get(pk = int(info[0]))
|
|
laer.encounter_method = EncounterMethod.objects.get(pk = int(info[1]))
|
|
laer.save()
|
|
|
|
|
|
|
|
##############
|
|
# PAL PARK #
|
|
##############
|
|
|
|
clearTable(PalParkArea)
|
|
data = loadData('pal_park_areas.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PalParkArea (
|
|
id = int(info[0]),
|
|
name = info[1]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PalParkAreaName)
|
|
data = loadData('pal_park_area_names.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PalParkAreaName (
|
|
pal_park_area = PalParkArea.objects.get(pk = int(info[0])),
|
|
language = Language.objects.get(pk = int(info[1])),
|
|
name = info[2]
|
|
)
|
|
model.save()
|
|
|
|
|
|
clearTable(PalPark)
|
|
data = loadData('pal_park.csv')
|
|
|
|
for index, info in enumerate(data):
|
|
if index > 0:
|
|
|
|
model = PalPark (
|
|
pokemon_species = PokemonSpecies.objects.get(pk = int(info[0])),
|
|
pal_park_area = PalParkArea.objects.get(pk = int(info[1])),
|
|
rate = int(info[2])
|
|
)
|
|
model.save()
|