Allow specific components to be enabled an disabled
This commit is contained in:
parent
9571f38965
commit
6d016d272f
@ -1,12 +1,18 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
class ConfigBase:
|
class ConfigBase:
|
||||||
|
_DEFAULTS = {}
|
||||||
|
|
||||||
def __init__(self, c):
|
def __init__(self, c):
|
||||||
self._c = c
|
self._c = c
|
||||||
|
|
||||||
def __getattr__(self, name):
|
def __getattr__(self, name):
|
||||||
|
# check if key is in config
|
||||||
if name in self._c.keys():
|
if name in self._c.keys():
|
||||||
return self._c.get(name)
|
return self._c.get(name)
|
||||||
|
# check if key is in default config
|
||||||
|
elif name in self._DEFAULTS.keys():
|
||||||
|
return self._DEFAULTS.get(name)
|
||||||
else:
|
else:
|
||||||
raise AttributeError()
|
raise AttributeError()
|
||||||
|
|
||||||
@ -20,6 +26,10 @@ class DatabaseConfig(ConfigBase):
|
|||||||
|
|
||||||
|
|
||||||
class DectConfig(ConfigBase):
|
class DectConfig(ConfigBase):
|
||||||
|
_DEFAULTS = {
|
||||||
|
"enabled": True,
|
||||||
|
}
|
||||||
|
|
||||||
def __init__(self, c):
|
def __init__(self, c):
|
||||||
self._c = c
|
self._c = c
|
||||||
|
|
||||||
@ -30,7 +40,9 @@ class ExtensionsConfig(ConfigBase):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
class YateConfig(ConfigBase):
|
class YateConfig(ConfigBase):
|
||||||
pass
|
_DEFAULTS = {
|
||||||
|
"enabled": True,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
|
@ -42,13 +42,15 @@ class FieldPOC:
|
|||||||
logger.info("initialising threads")
|
logger.info("initialising threads")
|
||||||
self.threads = {
|
self.threads = {
|
||||||
"controller": threading.Thread(target=self._controller.run),
|
"controller": threading.Thread(target=self._controller.run),
|
||||||
"dect": threading.Thread(target=self._dect.run),
|
"dect": threading.Thread(target=self._dect.run) if self.config.dect.enabled == True else None,
|
||||||
"routing": threading.Thread(target=self._routing.run),
|
"routing": threading.Thread(target=self._routing.run),
|
||||||
"ywsd": threading.Thread(target=self._ywsd.run, daemon=True),
|
"ywsd": threading.Thread(target=self._ywsd.run, daemon=True) if self.config.yate.enabled == True else None,
|
||||||
}
|
}
|
||||||
|
|
||||||
# Set thread names
|
# Set thread names
|
||||||
for name, thread in self.threads.items():
|
for name, thread in self.threads.items():
|
||||||
|
if thread is None:
|
||||||
|
continue
|
||||||
thread.name = name
|
thread.name = name
|
||||||
|
|
||||||
def queue_all(self, msg):
|
def queue_all(self, msg):
|
||||||
@ -79,6 +81,8 @@ class FieldPOC:
|
|||||||
logger.info("starting threads")
|
logger.info("starting threads")
|
||||||
|
|
||||||
for name, thread in self.threads.items():
|
for name, thread in self.threads.items():
|
||||||
|
if thread is None:
|
||||||
|
continue
|
||||||
thread.start()
|
thread.start()
|
||||||
|
|
||||||
logger.info("started threads")
|
logger.info("started threads")
|
||||||
|
@ -7,12 +7,14 @@
|
|||||||
"port": 9437
|
"port": 9437
|
||||||
},
|
},
|
||||||
"dect": {
|
"dect": {
|
||||||
|
"enabled": false,
|
||||||
"host": "10.222.222.11",
|
"host": "10.222.222.11",
|
||||||
"username": "omm",
|
"username": "omm",
|
||||||
"password": "xxx",
|
"password": "xxx",
|
||||||
"sipsecret": "51df84aace052b0e75b8c1da5a6da9e2"
|
"sipsecret": "51df84aace052b0e75b8c1da5a6da9e2"
|
||||||
},
|
},
|
||||||
"yate": {
|
"yate": {
|
||||||
|
"enabled": false,
|
||||||
"host": "127.0.0.1",
|
"host": "127.0.0.1",
|
||||||
"port": 5039
|
"port": 5039
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user