Exemplo n.º 1
0
    def post(self, simulationId):

        parse = reqparse.RequestParser()
        parse.add_argument('file',
                           type=FileStorage,
                           location='files',
                           required=True,
                           help='Arquivo de Entrada')

        args = parse.parse_args()
        output = list()

        stream = args['file'].stream
        bytesData = stream.read()

        self.simManager = get_simulation(simulationId)

        f = TextIOWrapper(BytesIO(bytesData), 'utf-8')
        for line in f.readlines():
            command = line.rstrip()
            print(command, flush=True, file=sys.stdout)
            output.append('>> Processando o comando: {}. <<'.format(command))
            output.append(self.processCommand(command))

        return {'output': output}, 201
Exemplo n.º 2
0
    def get(self, simulationId):
        # Verifica se a simulação existe
        exists = rm.redis.sismember('simulations', simulationId)

        if (not exists):
            return {'error': 'simulation_not_found'}, 404

        simManager = get_simulation(simulationId)

        return simManager.listDirectory(), 200
Exemplo n.º 3
0
    def get(self, simulationId):
        # Verifica se a simulacao existe
        exists = rm.redis.sismember('simulations', simulationId)

        if (not exists):
            return {'error': 'simulation_not_found'}, 404

        simManager = get_simulation(simulationId)

        return {
            'numBlocks': simManager.numBlocks,
            'blockSize': simManager.blockSize,
            'diskSize': simManager.blockSize * simManager.numBlocks
        }, 200
Exemplo n.º 4
0
    def get(self, simulationId):
        # Verifica se a simulação existe
        exists = rm.redis.sismember('simulations', simulationId)

        if (not exists):
            return {'error': 'simulation_not_found'}, 404

        parser = reqparse.RequestParser()
        parser.add_argument('file', type=str, required=True,
                            help='Nome do Arquivo')

        args = parser.parse_args(strict=True)
        simManager = get_simulation(simulationId)

        return simManager.openFile(args['file']), 200
Exemplo n.º 5
0
    def put(self, simulationId):
        # Verifica se a simulação existe
        exists = rm.redis.sismember('simulations', simulationId)
        if (not exists):
            return {'error': 'simulation_not_found'}, 404

        parser = reqparse.RequestParser()
        parser.add_argument('directory', type=str, required=True,
                            help='Diretório de Destino')

        args = parser.parse_args(strict=True)
        simManager = get_simulation(simulationId)

        simManager.openDirectory(args['directory'])

        # Atualiza instancia da simulacao no cache
        push_simulation(simulationId, simManager)

        return simManager.listDirectory(), 200
Exemplo n.º 6
0
    def delete(self, simulationId):
        # Verifica se a simulação existe
        exists = rm.redis.sismember('simulations', simulationId)

        if (not exists):
            return {'error': 'simulation_not_found'}, 404

        parser = reqparse.RequestParser()
        parser.add_argument('name', type=str, required=True,
                            help='Nome do Item')

        args = parser.parse_args(strict=True)
        simManager = get_simulation(simulationId)

        simManager.remove(args['name'])

        # Atualiza instancia da simulacao no cache
        push_simulation(simulationId, simManager)

        return simManager.listDirectory(), 201