mirror of
https://github.com/YunoHost/moulinette.git
synced 2024-09-03 20:06:31 +02:00
52 lines
1.2 KiB
Python
Executable file
52 lines
1.2 KiB
Python
Executable file
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import sys
|
|
import os.path
|
|
|
|
from_source = False
|
|
|
|
# Run from source
|
|
basedir = os.path.abspath('%s/../' % os.path.dirname(__file__))
|
|
if os.path.isdir('%s/moulinette' % basedir):
|
|
sys.path.insert(0, basedir)
|
|
from_source = True
|
|
|
|
from moulinette import init, api, MoulinetteError
|
|
|
|
|
|
## Callbacks for additional routes
|
|
|
|
def is_installed():
|
|
"""
|
|
Check whether YunoHost is installed or not
|
|
|
|
"""
|
|
installed = False
|
|
if os.path.isfile('/etc/yunohost/installed'):
|
|
installed = True
|
|
return { 'installed': installed }
|
|
|
|
|
|
## Main action
|
|
|
|
if __name__ == '__main__':
|
|
# Run from source
|
|
init(_from_source=from_source)
|
|
|
|
# Additional arguments
|
|
use_cache = True
|
|
if '--no-cache' in sys.argv:
|
|
use_cache = False
|
|
sys.argv.remove('--no-cache')
|
|
# TODO: Add log argument
|
|
|
|
try:
|
|
# Run the server
|
|
api(['yunohost'], 6787,
|
|
{('GET', '/installed'): is_installed}, use_cache)
|
|
except MoulinetteError as e:
|
|
from moulinette.interfaces.cli import colorize
|
|
print(_('%s: %s' % (colorize(_('Error'), 'red'), e.strerror)))
|
|
sys.exit(e.errno)
|
|
sys.exit(0)
|