Exemple #1
0
def register():
    try:
        vprint("Processes: ", app.processes)
        vprint("Predictors: ", app.predictors)
        if len(app.processes) == app.user_max:
            return register_response(
                status=afy_flask_register_status.QUOTA_EXCEEDED,
                error="Quota Exceeded")
        predictor_args = {
            'config_path': app.opt.config,
            'checkpoint_path': app.opt.checkpoint,
            'relative': app.opt.relative,
            'adapt_movement_scale': app.opt.adapt_scale,
            'enc_downscale': app.opt.enc_downscale
        }
        if app.predictors:
            predictor = app.predictors.pop()
        else:
            predictor = predictor_local.PredictorLocal(**predictor_args)
        while True:
            token = generate_token()
            if token not in app.processes:
                break
        app.processes[token] = {}
        app.processes[token]['predictor'] = predictor
        return register_response(status=afy_flask_register_status.SUCCESS,
                                 token=token)
    except Exception as e:
        if app.verbose:
            traceback.print_exc()
        return register_response(error=str(e))
Exemple #2
0

def vprint(*data):
    if app.verbose:
        print(*data)


predictor_args = {
    'config_path': app.opt.config,
    'checkpoint_path': app.opt.checkpoint,
    'relative': app.opt.relative,
    'adapt_movement_scale': app.opt.adapt_scale,
    'enc_downscale': app.opt.enc_downscale
}
for i in range(app.user_max):
    predictor = predictor_local.PredictorLocal(**predictor_args)
    app.predictors.append(predictor)
    print("Predictor {} loaded".format(i + 1))
print("All predictors loaded")


def generate_token():
    return str(binascii.hexlify(os.urandom(20)).decode())


def register_response(status=afy_flask_register_status.UNKNOWN_ERROR,
                      token=None,
                      error=None):
    resp = {}
    resp['status'] = status
    if token is not None: