Example #1
0
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)
Example #2
0
    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()
Example #3
0
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))