Some sanity check before starting the server
This commit is contained in:
parent
3c707bb47f
commit
d8d71d8b61
1 changed files with 25 additions and 0 deletions
|
@ -261,8 +261,29 @@ class RecServer:
|
||||||
callback=partial(static_file, 'tempo.html',
|
callback=partial(static_file, 'tempo.html',
|
||||||
root='pages/'))
|
root='pages/'))
|
||||||
|
|
||||||
|
def pre_check_permissions():
|
||||||
|
import sys
|
||||||
|
|
||||||
|
def is_writable(d):
|
||||||
|
return os.access(d, os.W_OK)
|
||||||
|
|
||||||
|
if is_writable(get_config()['AUDIO_INPUT']):
|
||||||
|
yield "Audio input '%s' writable" % get_config()['AUDIO_INPUT']
|
||||||
|
if not os.access(get_config()['AUDIO_INPUT'], os.R_OK):
|
||||||
|
yield "Audio input '%s' unreadable" % get_config()['AUDIO_INPUT']
|
||||||
|
sys.exit(1)
|
||||||
|
if is_writable(os.getcwd()):
|
||||||
|
yield "Code writable"
|
||||||
|
if not is_writable(get_config()['AUDIO_OUTPUT']):
|
||||||
|
yield "Audio output '%s' not writable" % get_config()['AUDIO_OUTPUT']
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
def pre_check_user():
|
||||||
|
if os.geteuid() == 0:
|
||||||
|
yield "You're running as root; this is dangerous"
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
prechecks=[pre_check_user, pre_check_permissions]
|
||||||
configs = ['default_config.py']
|
configs = ['default_config.py']
|
||||||
if 'TECHREC_CONFIG' in os.environ:
|
if 'TECHREC_CONFIG' in os.environ:
|
||||||
for conf in os.environ['TECHREC_CONFIG'].split(':'):
|
for conf in os.environ['TECHREC_CONFIG'].split(':'):
|
||||||
|
@ -277,6 +298,10 @@ if __name__ == "__main__":
|
||||||
os.chdir(os.path.dirname(os.path.realpath(__file__)))
|
os.chdir(os.path.dirname(os.path.realpath(__file__)))
|
||||||
for conf in configs:
|
for conf in configs:
|
||||||
get_config().from_pyfile(conf)
|
get_config().from_pyfile(conf)
|
||||||
|
|
||||||
|
for check in prechecks:
|
||||||
|
for warn in check():
|
||||||
|
logging.warn(warn)
|
||||||
c = RecServer()
|
c = RecServer()
|
||||||
c._app.mount('/date', DateApp())
|
c._app.mount('/date', DateApp())
|
||||||
c._app.mount('/api', RecAPI())
|
c._app.mount('/api', RecAPI())
|
||||||
|
|
Loading…
Reference in a new issue