MCPcopy
hub / github.com/PokeAPI/pokeapi / build_generic

Function build_generic

data/v2/build.py:109–129  ·  view source on GitHub ↗
(model_classes, file_name, csv_record_to_objects)

Source from the content-addressed store, hash-verified

107
108
109def build_generic(model_classes, file_name, csv_record_to_objects):
110 batches = {}
111 for model_class in model_classes:
112 clear_table(model_class)
113 batches[model_class] = [] # one batch per model class
114
115 csv_data = load_data(file_name)
116 next(csv_data, None) # skip header
117
118 for csv_record in csv_data:
119 for obj in csv_record_to_objects(csv_record):
120 model_class = type(obj)
121 batches[model_class].append(obj)
122
123 # Limit the batch size
124 if len(batches[model_class]) > 200:
125 model_class.objects.bulk_create(batches[model_class])
126 batches[model_class] = []
127
128 for model_class, batch in batches.items():
129 model_class.objects.bulk_create(batch)
130
131
132def scrub_str(string):

Callers 15

_build_languagesFunction · 0.85
_build_regionsFunction · 0.85
_build_generationsFunction · 0.85
_build_versionsFunction · 0.85
_build_damage_classesFunction · 0.85
_build_statsFunction · 0.85
_build_abilitiesFunction · 0.85
_build_characteristicsFunction · 0.85
_build_egg_groupsFunction · 0.85
_build_growth_ratesFunction · 0.85
_build_itemsFunction · 0.85
_build_typesFunction · 0.85

Calls 3

clear_tableFunction · 0.85
load_dataFunction · 0.85
csv_record_to_objectsFunction · 0.85

Tested by

no test coverage detected