Пример #1
0
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")
Пример #2
0
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")