diff options
author | Lars Wirzenius <liw@liw.fi> | 2018-11-13 10:54:26 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2018-11-13 10:54:26 +0200 |
commit | ea486623cef5a127ff7e058ce6acc21abe8eda51 (patch) | |
tree | df5ba9a0114ce8730e3af2d75d86c0966a207762 /effiapi | |
parent | 3cc08876371f657466be1e5a02cffeb33391e139 (diff) | |
download | effi-reg-ea486623cef5a127ff7e058ce6acc21abe8eda51.tar.gz |
Add: dummy effiapi implementation
Diffstat (limited to 'effiapi')
-rwxr-xr-x | effiapi | 65 |
1 files changed, 65 insertions, 0 deletions
@@ -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 <http://www.gnu.org/licenses/>. + + +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) |