NomadNet/nomadnet/ui/__init__.py

45 lines
1.4 KiB
Python
Raw Permalink Normal View History

import os
import glob
2021-04-08 20:57:31 +02:00
import RNS
import nomadnet
2025-12-19 23:50:02 +03:00
py_modules = glob.glob(os.path.dirname(__file__)+"/*.py")
pyc_modules = glob.glob(os.path.dirname(__file__)+"/*.pyc")
modules = py_modules+pyc_modules
__all__ = list(set([os.path.basename(f).replace(".pyc", "").replace(".py", "") for f in modules if not (f.endswith("__init__.py") or f.endswith("__init__.pyc"))]))
2021-04-09 22:07:38 +02:00
2021-04-08 20:57:31 +02:00
UI_NONE = 0x00
UI_MENU = 0x01
UI_TEXT = 0x02
UI_GRAPHICAL = 0x03
UI_WEB = 0x04
2022-05-17 13:11:04 +02:00
UI_MODES = [UI_NONE, UI_MENU, UI_TEXT, UI_GRAPHICAL, UI_WEB]
2021-04-08 20:57:31 +02:00
def spawn(uimode):
if uimode in UI_MODES:
2022-05-17 13:11:04 +02:00
if uimode == UI_NONE:
RNS.log("Starting Nomad Network daemon...", RNS.LOG_INFO)
else:
RNS.log("Starting user interface...", RNS.LOG_INFO)
2021-04-08 20:57:31 +02:00
if uimode == UI_MENU:
2021-05-04 20:53:03 +02:00
from .MenuUI import MenuUI
2021-04-08 20:57:31 +02:00
return MenuUI()
elif uimode == UI_TEXT:
2021-05-04 20:53:03 +02:00
from .TextUI import TextUI
2021-04-08 20:57:31 +02:00
return TextUI()
elif uimode == UI_GRAPHICAL:
2021-05-04 20:53:03 +02:00
from .GraphicalUI import GraphicalUI
2021-04-08 20:57:31 +02:00
return GraphicalUI()
elif uimode == UI_WEB:
2021-05-04 20:53:03 +02:00
from .WebUI import WebUI
2021-04-08 20:57:31 +02:00
return WebUI()
2022-05-17 13:11:04 +02:00
elif uimode == UI_NONE:
from .NoneUI import NoneUI
return NoneUI()
2021-04-08 20:57:31 +02:00
else:
return None
else:
2022-05-17 13:11:04 +02:00
RNS.log("Invalid UI mode", RNS.LOG_ERROR, _override_destination=True)
2021-04-08 20:57:31 +02:00
nomadnet.panic()