def onConnection(websocket): codeRunner = None app.logger.info('NEW WEBSOCKET CONNECTION') while not websocket.closed: gevent.sleep() message = websocket.receive() if (message == None): continue message = json.loads(message) app.logger.info('WEBSOCKET MESSAGE %s', message['type']) if message['type'] == 'run': codeRunner = CodeRunner(message['code'], message['sourceLocs']) app.logger.debug('STARTING CODERUNNER') codeRunner.start() codeRunnerBackend.register(websocket, codeRunner) app.logger.debug('STARTED CODERUNNER') elif message['type'] == 'kill': app.logger.debug('STOPPING CODERUNNER') codeRunnerBackend.stop(websocket) app.logger.debug('STOPPED CODERUNNER') else: raise ValueError('unknown message type {}'.format(message['type'])) app.logger.info('WEBSOCKET CONNECTION CLOSED') codeRunnerBackend.stop(websocket)
def __init__(self, view=None, path=None): self.view = view self.image_path = path self.processor = CodeMagnetsImageProcessor() self.processor.train(readFromFile=True, path="data.csv") self.code_generator = CodeGenerator() self.code_runner = CodeRunner()
from flask import Flask, abort, request, jsonify from flask.views import MethodView from concurrent.futures import ThreadPoolExecutor from time import sleep from Constant import base64_str_to_bytes, bytes_to_base64_str, dic_bytes_content_to_base64, dic_base64_to_bytes from KeyManager import KeyManager from FileReceiver import FileReceiver from CodeRunner import CodeRunner from BlockchainRecorder import BlockchainRecorder key_manager = KeyManager() file_receiver = FileReceiver() code_runner = CodeRunner() blockchain_recorder = BlockchainRecorder() executor = ThreadPoolExecutor(2) app = Flask(__name__) class Key(MethodView): def post(self): json_data = request.get_json(force=True) client_key = dic_base64_to_bytes(json_data)["client_key"] base64_return_value = dic_bytes_content_to_base64( key_manager.return_encrypted_keys_and_sign(client_key)) #print(key_manager.client_key_map_server_key) #print(key_manager.return_encrypted_keys_and_sign(client_key)) #print(len(key_manager.client_key_map_server_key))