added comodities

This commit is contained in:
2026-11-12 13:04:02 -07:00
parent 120daf8c31
commit b53e3a8a30
10 changed files with 139 additions and 16 deletions

View File

@@ -48,7 +48,7 @@ app.include_router(auth_router)
app.include_router(inventory_router)
app.include_router(available_router)
VALID_CATEGORIES = {"ships", "ship-items", "fps-items"}
VALID_CATEGORIES = {"ships", "ship-items", "fps-items", "commodities"}
def _filter_items(category, search, manufacturer, item_type, size):

View File

@@ -25,6 +25,7 @@ PLACEHOLDER = "<= PLACEHOLDER =>"
CATEGORY_SHIPS = "ships"
CATEGORY_SHIP_ITEMS = "ship-items"
CATEGORY_FPS_ITEMS = "fps-items"
CATEGORY_COMMODITIES = "commodities"
def _load_json(data_dir, filename):
@@ -111,6 +112,8 @@ def _normalize_item(item, category):
"description": std.get("Description") or std.get("DescriptionText") or "",
"tags": tags,
}
if category == CATEGORY_COMMODITIES:
summary["size"] = None
details = {
"ports": std.get("Ports") or [],
"mass": std.get("Mass"),
@@ -133,6 +136,9 @@ class Store:
CATEGORY_SHIPS: sum(1 for i in items if i["category"] == CATEGORY_SHIPS),
CATEGORY_SHIP_ITEMS: sum(1 for i in items if i["category"] == CATEGORY_SHIP_ITEMS),
CATEGORY_FPS_ITEMS: sum(1 for i in items if i["category"] == CATEGORY_FPS_ITEMS),
CATEGORY_COMMODITIES: sum(
1 for i in items if i["category"] == CATEGORY_COMMODITIES
),
}
@@ -157,6 +163,11 @@ def load_store(data_dir=None):
items.append(summary)
details[summary["class_name"]] = detail
for entry in _load_json(data_dir, "commodities.json"):
summary, detail = _normalize_item(entry, CATEGORY_COMMODITIES)
items.append(summary)
details[summary["class_name"]] = detail
# Deterministic order so pagination is stable.
items.sort(key=lambda i: (i["category"], i["name"].lower(), i["class_name"]))