diff --git a/composer/connector.py b/composer/connector.py index 49857d5..2a8497d 100644 --- a/composer/connector.py +++ b/composer/connector.py @@ -1,44 +1,60 @@ from agent import * +from flask import Flask import json class Connector: - def __init__(self, connector): - self.connector = connector - - def get_connector_info(self): - info = { - "name": self.connector.name, - "running": len(self.connector.docker.compose.ps()), - "stopped": len(self.connector.services) - len(self.connector.docker.compose.ps()) + @staticmethod + def get_composer_info(composer): + return { + "name": composer.name, + "running": len(composer.docker.compose.ps()), + "stopped": len(composer.services) - len(composer.docker.compose.ps()) } - return json.dumps(info) - def get_container_info(self, container_name): - if container_name not in self.connector.services: + @staticmethod + def get_container_info(composer, container_name): + if container_name not in composer.services: return None - container = self.connector.services[container_name] - return json.dumps({ + container = composer.services[container_name] + return { "image": container.config.image, "status": container.get_status() - }) + } - def set_connector_status(self, status): - self.connector.set_status(status) + @staticmethod + def set_composer_status(composer, status): + composer.set_status(status) - def set_container_status(self, container_name, status): - if container_name not in self.connector.services: + @staticmethod + def set_container_status(composer, container_name, status): + if container_name not in composer.services: return None - self.connector.services[container_name].set_status(status) + composer.services[container_name].set_status(status) Setup.populate_store() Setup.create_symlink() remote = Setup.create_credential_remote() composer = Composer(remote) -connector = Connector(composer) -while True: - print(connector.get_connector_info()) - container = input("Container: ") - print(connector.get_container_info(container)) - status = input("Status: ") - connector.set_container_status(container, status) \ No newline at end of file + +app = Flask(__name__) + +@app.route("/composer") +def get_composer(): + return Connector.get_composer_info(composer) + +@app.route("/composer/") +def set_composer(status): + Connector.set_composer_status(composer, status) + return "" + +@app.route("/container/") +def get_container(container): + return Connector.get_container_info(composer, container) + +@app.route("/container//") +def set_container(container, status): + Connector.set_container_status(composer, container, status) + return "" + +app.run() \ No newline at end of file