40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
# -*- coding:utf-8 -*-
|
||
'''
|
||
@Author:Robin
|
||
@Email: 329080237@qq.com
|
||
@Wechat: 15618110227
|
||
@File: admin.py
|
||
@Date: 2021/9/25 14:59
|
||
@Description:
|
||
'''
|
||
|
||
from web.git.base import RequestGit
|
||
from web.models import User
|
||
from utils.public import try_except, jsonData, console
|
||
import json
|
||
|
||
@try_except
|
||
def updateToken(request, username):
|
||
console(username)
|
||
item = User.objects.filter(username=username)
|
||
access_token = item[0].access_token if item else None
|
||
console(access_token)
|
||
if access_token is None:
|
||
api = "/users/"+username+"/tokens"
|
||
payload = {"name": username}
|
||
res = RequestGit(request, api).post(payload)
|
||
if res.status_code == 201: #创建Token成功
|
||
data = json.loads(res.text)
|
||
token = data.get("sha1")
|
||
User.objects.filter(username=username).update(access_token=token)
|
||
request.session['access_token'] = token
|
||
else:
|
||
# 创建失败(token已存在,其它原因失败!)
|
||
print(res.text)
|
||
raise Exception("Gitea授权失败,请重新登录!")
|
||
else:
|
||
request.session['access_token'] = access_token
|
||
|
||
|
||
return jsonData()
|