What is This#
[1]:
from acore_df.api import Lookup
from rich import print as rprint
lookup = Lookup.new()
Lookup by ID#
[2]:
rprint(lookup.item_template_class.get(0))
ItemTemplateClassData(id=0, name='Consumable', name_cn='消耗品')
[3]:
import dataclasses
item_template_class = lookup.item_template_class.get(0)
rprint(f"{item_template_class.id = }")
rprint(f"{item_template_class.name = }")
rprint(f"{item_template_class.name_cn = }")
rprint(dataclasses.asdict(item_template_class))
item_template_class.id = 0
item_template_class.name = 'Consumable'
item_template_class.name_cn = '消耗品'
{'id': 0, 'name': 'Consumable', 'name_cn': '消耗品'}
[4]:
rprint(lookup.item_template_class.get(999))
None
Lookup by Key Value#
[5]:
rprint(lookup.item_template_class.get_by_kv(dict(name="Trade Goods")))
[ItemTemplateClassData(id=7, name='Trade Goods', name_cn='商品')]
Access the polars DataFrame#
[6]:
lookup.item_template_class.df
[6]:
shape: (17, 3)
| id | name | name_cn |
|---|---|---|
| i64 | str | str |
| 0 | "Consumable" | "消耗品" |
| 1 | "Container" | "容器" |
| 2 | "Weapon" | "武器" |
| 3 | "Gem" | "珠宝" |
| 4 | "Armor" | "护甲" |
| 5 | "Reagent" | "材料" |
| 6 | "Projectile" | "弹药" |
| 7 | "Trade Goods" | "商品" |
| 8 | "Generic(OBSOLE… | "原子" |
| 9 | "Recipe" | "配方" |
| 10 | "Money(OBSOLETE… | "货币" |
| 11 | "Quiver" | "箭袋" |
| 12 | "Quest" | "任务" |
| 13 | "Key" | "钥匙" |
| 14 | "Permanent(OBSO… | "永久" |
| 15 | "Miscellaneous" | "其它" |
| 16 | "Glyph" | "雕文" |
Query The Database#
[7]:
import sqlalchemy as sa
with lookup.engine.connect() as conn:
Model = lookup.item_template_class.orm_model
stmt = sa.select(Model).where(Model.id.between(5, 10))
for row in conn.execute(stmt):
print(row)
(5, 'Reagent', '材料')
(6, 'Projectile', '弹药')
(7, 'Trade Goods', '商品')
(8, 'Generic(OBSOLETE)', '原子')
(9, 'Recipe', '配方')
(10, 'Money(OBSOLETE)', '货币')
All Dataset#
[8]:
from acore_df.api import dataset_mapping
for k, v in dataset_mapping.items():
print(f"------ {k} ------")
for key, value in v.items():
rprint(f"{key} = {value}")
------ item_template_class ------
orm_class = <class 'acore_df.model.ItemTemplateClass'>
data_class = <class 'acore_df.model.ItemTemplateClassData'>
id_col = id
------ item_template_subclass ------
orm_class = <class 'acore_df.model.ItemTemplateSubclass'>
data_class = <class 'acore_df.model.ItemTemplateSubclassData'>
id_col = id
------ item_template_quality ------
orm_class = <class 'acore_df.model.ItemTemplateQuality'>
data_class = <class 'acore_df.model.ItemTemplateQualityData'>
id_col = id
------ item_template_bonding ------
orm_class = <class 'acore_df.model.ItemTemplateBonding'>
data_class = <class 'acore_df.model.ItemTemplateBondingData'>
id_col = id
------ item_template_allowable_class ------
orm_class = <class 'acore_df.model.ItemTemplateAllowableClass'>
data_class = <class 'acore_df.model.ItemTemplateAllowableClassData'>
id_col = id
------ item_template_stat_type ------
orm_class = <class 'acore_df.model.ItemTemplateStatType'>
data_class = <class 'acore_df.model.ItemTemplateStatTypeData'>
id_col = id
------ item_template_damage_type ------
orm_class = <class 'acore_df.model.ItemTemplateDamageType'>
data_class = <class 'acore_df.model.ItemTemplateDamageTypeData'>
id_col = id
------ factions ------
orm_class = <class 'acore_df.model.Factions'>
data_class = <class 'acore_df.model.FactionsData'>
id_col = faction_id
[ ]: