Exemple #1
0
def add_code():
    """
    添加代码仓库
    :return:
    """

    if get_login_user_id() == 0:
        return redirect("/user/account")

    title = request.forms.title
    status = request.forms.status
    user_id = get_login_user_id()

    create_time = datetime.datetime.now()
    token = hashlib.md5(
        create_time.strftime("%Y%m%d%H%M%S").encode("UTF-8")).hexdigest()
    warehouse = hashlib.md5(str(user_id).encode("UTF-8")).hexdigest()

    dao = CodeModel(title=title,
                    status=status,
                    user_id=user_id,
                    create_time=create_time,
                    token=token,
                    warehouse=warehouse)
    if not dao.save():
        return {"code": -1}

    return {"code": 0}
Exemple #2
0
def add_code():
    """
    添加代码仓库
    :return:
    """

    if get_login_user_id() == 0:
        return redirect("/user/account")

    title = request.forms.title
    status = request.forms.status
    user_id = get_login_user_id()

    create_time = datetime.datetime.now()
    token = hashlib.md5(create_time.strftime("%Y%m%d%H%M%S").encode("UTF-8")).hexdigest()
    warehouse = hashlib.md5(str(user_id).encode("UTF-8")).hexdigest()

    dao = CodeModel(title=title, status=status, user_id=user_id, create_time=create_time, token=token,
                    warehouse=warehouse)
    if not dao.save():
        return {"code": -1}

    return {"code": 0}
Exemple #3
0
def get_all_codes():
    """
    获取所有代码仓库
    :return:
    """

    if get_login_user_id() == 0:
        return redirect("/user/account")

    user_id = get_login_user_id()
    lists = CodeModel.select().where(CodeModel.status != 2, CodeModel.user_id == user_id)
    objs = list(map(CodeModel.get_dict_from_obj, lists))

    response.set_header("Content-Type", "application/json")
    return json.dumps(objs)
Exemple #4
0
def download(warehouse, token):
    """
    下载代码
    :param warehouse: 仓库名称
    :param token: 下载凭证
    :return:
    """

    try:
        obj = CodeModel.select().where(CodeModel.warehouse == warehouse, CodeModel.token == token, CodeModel.status == 0).get()
    except Exception:
        return abort(404)

    fp_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + "/data/code"
    return static_file(str(obj.id)+".zip", root=fp_path, download=True)
Exemple #5
0
def get_all_codes():
    """
    获取所有代码仓库
    :return:
    """

    if get_login_user_id() == 0:
        return redirect("/user/account")

    user_id = get_login_user_id()
    lists = CodeModel.select().where(CodeModel.status != 2,
                                     CodeModel.user_id == user_id)
    objs = list(map(CodeModel.get_dict_from_obj, lists))

    response.set_header("Content-Type", "application/json")
    return json.dumps(objs)
Exemple #6
0
def delete_code(code_id):
    """
    删除代码仓库
    :param code_id: 仓库id
    :return:
    """

    if get_login_user_id() == 0:
        return redirect("/user/account")

    user_id = get_login_user_id()

    dao = CodeModel.update(status=2).where(CodeModel.user_id == user_id, CodeModel.id == code_id)
    dao.execute()

    return redirect("/code")
Exemple #7
0
def delete_code(code_id):
    """
    删除代码仓库
    :param code_id: 仓库id
    :return:
    """

    if get_login_user_id() == 0:
        return redirect("/user/account")

    user_id = get_login_user_id()

    dao = CodeModel.update(status=2).where(CodeModel.user_id == user_id,
                                           CodeModel.id == code_id)
    dao.execute()

    return redirect("/code")
Exemple #8
0
def upload_zip():
    """
    上传文件
    :return:
    """

    if get_login_user_id() == 0:
        return redirect("/user/account")

    code_id = int(request.forms.code_id)
    obj = CodeModel.select().where(CodeModel.user_id == get_login_user_id(), CodeModel.id == code_id).get()

    fp = request.files['file']
    fp_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + "/data/code/"
    fp.save(fp_path + str(obj.id) + ".zip", overwrite=True)

    return "ok"
Exemple #9
0
def download(warehouse, token):
    """
    下载代码
    :param warehouse: 仓库名称
    :param token: 下载凭证
    :return:
    """

    try:
        obj = CodeModel.select().where(CodeModel.warehouse == warehouse,
                                       CodeModel.token == token,
                                       CodeModel.status == 0).get()
    except Exception:
        return abort(404)

    fp_path = os.path.dirname(os.path.dirname(
        os.path.realpath(__file__))) + "/data/code"
    return static_file(str(obj.id) + ".zip", root=fp_path, download=True)
Exemple #10
0
def upload_zip():
    """
    上传文件
    :return:
    """

    if get_login_user_id() == 0:
        return redirect("/user/account")

    code_id = int(request.forms.code_id)
    obj = CodeModel.select().where(CodeModel.user_id == get_login_user_id(),
                                   CodeModel.id == code_id).get()

    fp = request.files['file']
    fp_path = os.path.dirname(os.path.dirname(
        os.path.realpath(__file__))) + "/data/code/"
    fp.save(fp_path + str(obj.id) + ".zip", overwrite=True)

    return "ok"
Exemple #11
0
def update_code():
    """
    更新代码仓库
    :return:
    """

    if get_login_user_id() == 0:
        return redirect("/user/account")

    id = request.forms.id
    user_id = get_login_user_id()
    title = request.forms.title
    status = request.forms.status

    dao = CodeModel.update(title=title, status=status).where(CodeModel.id == id, CodeModel.user_id == user_id)
    if not dao.execute():
        return {"code": -1}

    return {"code": 0}
Exemple #12
0
def update_code():
    """
    更新代码仓库
    :return:
    """

    if get_login_user_id() == 0:
        return redirect("/user/account")

    id = request.forms.id
    user_id = get_login_user_id()
    title = request.forms.title
    status = request.forms.status

    dao = CodeModel.update(title=title,
                           status=status).where(CodeModel.id == id,
                                                CodeModel.user_id == user_id)
    if not dao.execute():
        return {"code": -1}

    return {"code": 0}