aboutsummaryrefslogtreecommitdiff
path: root/codegen/lib/code/inventory.py
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2025-05-31 08:56:17 +0500
committermat <git@matdoes.dev>2025-05-30 19:22:09 -0845
commitf27c87b291a920376e006a470efb353dee46ed17 (patch)
treef1720081b856c5b7b96ab8111e6de4233f884e75 /codegen/lib/code/inventory.py
parente37524899eef8a0034faee35cef4bbf1ba779a7d (diff)
downloadazalea-drasl-f27c87b291a920376e006a470efb353dee46ed17.tar.xz
more formatting fixes
Diffstat (limited to 'codegen/lib/code/inventory.py')
-rw-r--r--codegen/lib/code/inventory.py91
1 files changed, 57 insertions, 34 deletions
diff --git a/codegen/lib/code/inventory.py b/codegen/lib/code/inventory.py
index caab57f2..066319e0 100644
--- a/codegen/lib/code/inventory.py
+++ b/codegen/lib/code/inventory.py
@@ -1,25 +1,21 @@
-from lib.utils import padded_hex, to_snake_case, to_camel_case, get_dir_location
-from lib.code.utils import burger_type_to_rust_type, write_packet_file
-from lib.mappings import Mappings
-from typing import Any, Optional
-import os
-import re
+from typing import Any
+from lib.utils import to_camel_case, get_dir_location
# The directory where declare_menus! {} is done
-inventory_menus_dir = get_dir_location(f'../azalea-inventory/src/lib.rs')
+inventory_menus_dir = get_dir_location("../azalea-inventory/src/lib.rs")
def update_menus(initial_menu_entries: dict[str, Any]):
# new_menus is a dict of { menu_id: { "protocol_id": protocol_id } }
# so convert that into an array where the protocol id is the index and the
# values are enum variant names
- new_menus: list[str] = [''] * len(initial_menu_entries)
+ new_menus: list[str] = [""] * len(initial_menu_entries)
for menu_id, menu in initial_menu_entries.items():
- new_menus[menu['protocol_id']] = menu_name_to_enum_name(menu_id)
+ new_menus[menu["protocol_id"]] = menu_name_to_enum_name(menu_id)
- new_menus.insert(0, 'Player')
+ new_menus.insert(0, "Player")
- with open(inventory_menus_dir, 'r') as f:
+ with open(inventory_menus_dir, "r") as f:
menus_rs = f.read().splitlines()
start_line_index = 0
@@ -27,17 +23,17 @@ def update_menus(initial_menu_entries: dict[str, Any]):
current_menus = []
in_the_macro = False
for i, line in enumerate(menus_rs):
- if line.startswith('declare_menus!'):
+ if line.startswith("declare_menus!"):
in_the_macro = True
start_line_index = i
if in_the_macro:
- if line.startswith(' ') and line.endswith('{'):
+ if line.startswith(" ") and line.endswith("{"):
# get the variant name for this menu
current_menu = line[:-1].strip()
current_menus.append(current_menu)
- print('current_menus', current_menus)
- print('new_menus', new_menus)
+ print("current_menus", current_menus)
+ print("new_menus", new_menus)
# now we have the current menus, so compare that with the expected
# menus and update the file if needed
@@ -52,57 +48,84 @@ def update_menus(initial_menu_entries: dict[str, Any]):
if (
current_menus_list_index < len(current_menus)
and new_menus_list_index < len(new_menus)
- and current_menus[current_menus_list_index] == new_menus[new_menus_list_index]
+ and current_menus[current_menus_list_index]
+ == new_menus[new_menus_list_index]
):
current_menus_list_index += 1
new_menus_list_index += 1
# increase insert_line_index until we get a line that starts with }
- while not menus_rs[insert_line_index].strip().startswith('}'):
+ while not menus_rs[insert_line_index].strip().startswith("}"):
insert_line_index += 1
insert_line_index += 1
# print('same', current_menus_list_index,
# new_menus_list_index, insert_line_index)
# something was added to new_menus but not current_menus
- elif new_menus_list_index < len(new_menus) and new_menus[new_menus_list_index] not in current_menus:
+ elif (
+ new_menus_list_index < len(new_menus)
+ and new_menus[new_menus_list_index] not in current_menus
+ ):
# insert the new menu
menus_rs.insert(
- insert_line_index, f' {new_menus[new_menus_list_index]} {{\n todo!()\n }},')
+ insert_line_index,
+ f" {new_menus[new_menus_list_index]} {{\n todo!()\n }},",
+ )
insert_line_index += 1
new_menus_list_index += 1
- print('added', current_menus_list_index,
- new_menus_list_index, insert_line_index)
+ print(
+ "added",
+ current_menus_list_index,
+ new_menus_list_index,
+ insert_line_index,
+ )
# something was removed from new_menus but is still in current_menus
- elif current_menus_list_index < len(current_menus) and current_menus[current_menus_list_index] not in new_menus:
+ elif (
+ current_menus_list_index < len(current_menus)
+ and current_menus[current_menus_list_index] not in new_menus
+ ):
# remove the current menu
- while not menus_rs[insert_line_index].strip().startswith('}'):
+ while not menus_rs[insert_line_index].strip().startswith("}"):
menus_rs.pop(insert_line_index)
menus_rs.pop(insert_line_index)
current_menus_list_index += 1
- print('removed', current_menus_list_index,
- new_menus_list_index, insert_line_index)
+ print(
+ "removed",
+ current_menus_list_index,
+ new_menus_list_index,
+ insert_line_index,
+ )
# if current_menus_list_index overflowed, then add the rest of the new menus
elif current_menus_list_index >= len(current_menus):
for i in range(new_menus_list_index, len(new_menus)):
menus_rs.insert(
- insert_line_index, f' {new_menus[i]} {{\n todo!()\n }},')
+ insert_line_index,
+ f" {new_menus[i]} {{\n todo!()\n }},",
+ )
insert_line_index += 1
- print('current_menus_list_index overflowed', current_menus_list_index,
- new_menus_list_index, insert_line_index)
+ print(
+ "current_menus_list_index overflowed",
+ current_menus_list_index,
+ new_menus_list_index,
+ insert_line_index,
+ )
break
# if new_menus_list_index overflowed, then remove the rest of the current menus
elif new_menus_list_index >= len(new_menus):
for _ in range(current_menus_list_index, len(current_menus)):
- while not menus_rs[insert_line_index].strip().startswith('}'):
+ while not menus_rs[insert_line_index].strip().startswith("}"):
menus_rs.pop(insert_line_index)
menus_rs.pop(insert_line_index)
# current_menus_list_index += 1
- print('new_menus_list_index overflowed', current_menus_list_index,
- new_menus_list_index, insert_line_index)
+ print(
+ "new_menus_list_index overflowed",
+ current_menus_list_index,
+ new_menus_list_index,
+ insert_line_index,
+ )
break
- with open(inventory_menus_dir, 'w') as f:
- f.write('\n'.join(menus_rs))
+ with open(inventory_menus_dir, "w") as f:
+ f.write("\n".join(menus_rs))
def menu_name_to_enum_name(menu_name: str) -> str:
- return to_camel_case(menu_name.split(':')[-1])
+ return to_camel_case(menu_name.split(":")[-1])