/ nomadnet / ui / __init__.py
__init__.py
 1  import os
 2  import glob
 3  import RNS
 4  import nomadnet
 5  
 6  py_modules  = glob.glob(os.path.dirname(__file__)+"/*.py")
 7  pyc_modules = glob.glob(os.path.dirname(__file__)+"/*.pyc")
 8  modules     = py_modules+pyc_modules
 9  __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"))]))
10  
11  
12  UI_NONE       = 0x00
13  UI_MENU       = 0x01
14  UI_TEXT       = 0x02
15  UI_GRAPHICAL  = 0x03
16  UI_WEB        = 0x04
17  UI_MODES = [UI_NONE, UI_MENU, UI_TEXT, UI_GRAPHICAL, UI_WEB]
18  
19  def spawn(uimode):
20      if uimode in UI_MODES:
21          if uimode == UI_NONE:
22              RNS.log("Starting Nomad Network daemon...", RNS.LOG_INFO)
23          else:
24              RNS.log("Starting user interface...", RNS.LOG_INFO)
25  
26          if uimode == UI_MENU:
27              from .MenuUI import MenuUI
28              return MenuUI()
29          elif uimode == UI_TEXT:
30              from .TextUI import TextUI
31              return TextUI()
32          elif uimode == UI_GRAPHICAL:
33              from .GraphicalUI import GraphicalUI
34              return GraphicalUI()
35          elif uimode == UI_WEB:
36              from .WebUI import WebUI
37              return WebUI()
38          elif uimode == UI_NONE:
39              from .NoneUI import NoneUI
40              return NoneUI()
41          else:
42              return None
43      else:
44          RNS.log("Invalid UI mode", RNS.LOG_ERROR, _override_destination=True)
45          nomadnet.panic()