From ea486623cef5a127ff7e058ce6acc21abe8eda51 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Tue, 13 Nov 2018 10:54:26 +0200 Subject: Add: dummy effiapi implementation --- effiapi | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100755 effiapi (limited to 'effiapi') diff --git a/effiapi b/effiapi new file mode 100755 index 0000000..3bad86a --- /dev/null +++ b/effiapi @@ -0,0 +1,65 @@ +#!/usr/bin/python3 +# Copyright (C) 2018 Lars Wirzenius +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + + +import json +import logging +import os +import sys + +import bottle + + +class API: + + def __init__(self, bottleapp): + self._add_routes(bottleapp) + + def _add_routes(self, bottleapp): + routes = [ + { + 'method': 'GET', + 'path': '/status', + 'callback': self._show_status, + }, + ] + + for route in routes: + bottleapp.route(**route) + + def _show_status(self): + status = { + 'resources': -1, + } + return bottle.HTTPResponse(status=200, body=json.dumps(status)) + + +with open(sys.argv[1]) as f: + config = json.load(f) + +logging.basicConfig( + filename=config['log'], level=logging.DEBUG, + format='%(levelname)s %(message)s') + +logging.info('Effi API starts') + +if config.get('pid'): + pid = os.getpid() + with open(config['pid'], 'w') as f: + f.write(str(pid)) + +app = bottle.default_app() +api = API(app) +app.run(host='127.0.0.1', port=8080) -- cgit v1.2.1