#!/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)