コード例 #1
0
ファイル: api_report.py プロジェクト: yuta86/sberbank_wallet
async def history(request):  # GET /report/history
    """
    Получение информации о пользователе
    :param request:
    :return:
    """
    try:
        created = datetime.datetime.now()
        request_url = str(request.url)
        request_method = str(request.method)
        request_data = str(request.query_string)

        start = request_data.split('&')[0].split('=')[1]
        end = request_data.split('&')[1].split('=')[1]
        id = int(request_data.split('&')[2].split('=')[1])

        start_obj = datetime.datetime.strptime(start, '%Y-%m-%d %H:%M:%S.%f')
        end_obj = datetime.datetime.strptime(end, '%Y-%m-%d %H:%M:%S.%f')

        remote = str(request.remote)

        result = dbh.get_history(start_obj, end_obj, id)
        finished = datetime.datetime.now()

        dbh.add_log(request_url, request_method, request_data, remote,
                    str(result), created, finished)
    except Exception as error:
        trace = traceback.format_exc(chain=True)
        dbh.add_error(request_url, request_method, request_data, str(error),
                      str(trace), created)
        return web.Response(text=str(error))

    return web.json_response(result)
コード例 #2
0
async def info(request):  # GET /user/info/{id}
    """
    Получение информации о пользователе
    :param request:
    :return:
    """

    try:
        id = request.match_info.get('id')
        created = datetime.datetime.now()
        request_url = str(request.url)
        request_method = str(request.method)
        request_data = str(request.query_string)
        remote = str(request.remote)

        result = dbh.get_user_by_id(id)
        finished = datetime.datetime.now()

        dbh.add_log(request_url, request_method, request_data, remote, str(result), created, finished)
    except Exception as error:
        trace = traceback.format_exc(chain=True)
        dbh.add_error(request_url, request_method, request_data, str(error), str(trace), created)
        return web.Response(text=str(error))

    return web.json_response(result)
コード例 #3
0
async def delete(request):  # POST  /user/delete
    """
    Удаление пользователя
    :param request:
    :return:
    """
    try:
        request_data = await request.post()

        id = int(request_data['id'])
        created = datetime.datetime.now()
        request_url = str(request.url)
        request_method = str(request.method)
        remote = str(request.remote)

        result = dbh.delete_user_by_id(id)
        finished = datetime.datetime.now()

        dbh.add_log(request_url, request_method, str(request_data), remote, str(result), created, finished)
    except Exception as error:
        trace = traceback.format_exc(chain=True)
        dbh.add_error(request_url, request_method, request_data, str(error), str(trace), created)
        return web.Response(text=str(error))

    return web.Response(text=result)
コード例 #4
0
async def registration(request):  # POST /user/registration
    """
    Регистрация пользователя
    :param request:
    :return:
    """
    try:
        request_data = await request.post()

        created = datetime.datetime.now()
        request_url = str(request.url)
        request_method = str(request.method)
        remote = str(request.remote)

        result = dbh.user_registration(name=request_data['name'], last_name=request_data['last_name'],
                                       fathers_name=request_data['fathers_name'],
                                       birthday=request_data['birthday'], email=request_data['email'],
                                       phone=request_data['phone'], type_account=request_data['type_account'])

        finished = datetime.datetime.now()

        dbh.add_log(request_url, request_method, str(request_data), remote, result, created, finished)
    except Exception as error:
        trace = traceback.format_exc(chain=True)
        dbh.add_error(request_url, request_method, request_data, str(error), str(trace), created)
        return web.Response(text=str(error))

    return web.Response(text=result)
コード例 #5
0
async def main(request):
    """
    Главная страница
    :param request:
    :return:
    """
    created = datetime.datetime.now()

    try:
        name = request.match_info.get('name', "Анонимный пользователь")
        pprint(request)
        request_url = str(request.url)
        request_method = str(request.method)
        request_data = str(request.query_string)
        remote = str(request.remote)

        finished = datetime.datetime.now()
        result = "Добро пожаловать, " + name
        dbh.add_log(request_url, request_method, request_data, remote, result,
                    created, finished)
    except Exception as error:
        trace = traceback.format_exc(chain=True)
        dbh.add_error(request_url, request_method, request_data, str(error),
                      str(trace), created)
        return web.Response(text=str(error))

    return web.Response(text=result)