add region check at startup (#127)

This commit is contained in:
pdxlocations
2025-02-09 22:09:15 -08:00
committed by GitHub
parent 71aeae4f92
commit 989c3cf44e
2 changed files with 20 additions and 0 deletions
+11
View File
@@ -17,7 +17,9 @@ from utilities.arg_parser import setup_parser
from utilities.interfaces import initialize_interface
from message_handlers.rx_handler import on_receive
from ui.curses_ui import main_ui, draw_splash
from input_handlers import get_list_input
from utilities.utils import get_channels, get_node_list, get_nodeNum
from settings import set_region
from db_handler import init_nodedb, load_messages_from_db
import default_config as config
import globals
@@ -50,6 +52,7 @@ def main(stdscr):
logging.info("Initializing interface %s", args)
with globals.lock:
globals.interface = initialize_interface(args)
logging.info("Interface initialized")
globals.myNodeNum = get_nodeNum()
globals.channel_list = get_channels()
@@ -58,6 +61,14 @@ def main(stdscr):
init_nodedb()
load_messages_from_db()
logging.info("Starting main UI")
if globals.interface.localNode.localConfig.lora.region == 0:
confirmation = get_list_input("Your region is UNSET. Set it now?", "Yes", ["Yes", "No"])
if confirmation == "Yes":
set_region()
globals.interface.close()
globals.interface = initialize_interface(args)
main_ui(stdscr)
except Exception as e:
logging.error("An error occurred: %s", e)
+9
View File
@@ -9,6 +9,7 @@ from ui.menus import generate_menu_from_protobuf
from ui.colors import setup_colors, get_color
from utilities.arg_parser import setup_parser
from utilities.interfaces import initialize_interface
from ui.dialog import dialog
from user_config import json_editor
import globals
@@ -348,6 +349,14 @@ def settings_menu(stdscr, interface):
menu_win.refresh()
break
def set_region():
node = globals.interface.getNode('^local')
device_config = node.localConfig
regions = [region.name for region in device_config.lora.DESCRIPTOR.fields_by_name["region"].enum_type.values]
new_region = get_list_input('Select your region:', 'UNSET', regions)
node.localConfig.lora.region = new_region
node.writeConfig("lora")
def main(stdscr):
logging.basicConfig( # Run `tail -f client.log` in another terminal to view live