def build_items(session : sqlalchemy.orm.Session, mhdata): # Save basic item data first for entry in mhdata.item_map.values(): item = db.Item(id=entry.id) item.category = entry['category'] item.subcategory = entry['subcategory'] item.rarity = entry['rarity'] or 0 item.buy_price = entry['buy_price'] or 0 item.sell_price = entry['sell_price'] or 0 item.carry_limit = entry['carry_limit'] or 0 item.points = entry['points'] or 0 item.icon_name = entry['icon_name'] item.icon_color = entry['icon_color'] for language in cfg.supported_languages: item.translations.append(db.ItemText( lang_id=language, name=get_translated(entry, 'name', language), description=get_translated(entry, 'description', language), )) session.add(item) # Now save item combination data for entry in mhdata.item_combinations: # should have been validated already session.add(db.ItemCombination( id=entry['id'], result_id=mhdata.item_map.id_of('en', entry['result']), first_id=mhdata.item_map.id_of('en', entry['first']), second_id=mhdata.item_map.id_of('en', entry['second']), quantity=entry['quantity'] )) print("Built Items")
def build_items(session: sqlalchemy.orm.Session, mhdata): for id, entry in mhdata.item_map.items(): item = db.Item(id=id) item.category = entry['category'] item.rarity = entry['rarity'] or 0 item.buy_price = entry['buy_price'] or 0 item.sell_price = entry['sell_price'] or 0 item.carry_limit = entry['carry_limit'] or 0 for language in supported_languages: item.translations.append( db.ItemText(lang_id=language, name=entry.name(language), description=entry['description'].get( language, None))) session.add(item) print("Built Items")