update: 将代码中的单引号更换为双引号

This commit is contained in:
RTAkland
2022-12-30 16:42:03 +08:00
parent 1548a369f6
commit 681a535685
8 files changed
+67 -67

No files matched your search

+2 -2
View File
@@ -11,5 +11,5 @@ from src import create_app
app = create_app() app = create_app()
if __name__ == '__main__': if __name__ == "__main__":
uvicorn.run(app, host='0.0.0.0') uvicorn.run(app, host="0.0.0.0")
+1 -1
View File
@@ -5,4 +5,4 @@ aiofiles
requests~=2.28.1 requests~=2.28.1
PyMySQL PyMySQL
cryptography cryptography
deta deta[async]==1.1.0a2
+1 -1
View File
@@ -18,5 +18,5 @@ def create_app():
""" """
app = FastAPI() app = FastAPI()
app.include_router(main) app.include_router(main)
app.include_router(api, prefix='/api') app.include_router(api, prefix="/api")
return app return app
+28 -28
View File
@@ -15,62 +15,62 @@ from fastapi.responses import JSONResponse
async def _time(): async def _time():
return time.time() return str(time.time()).split(".")[0]
@api.get('/query/times/{name}') @api.get("/query/times/{name}")
async def query(name: str): async def query(name: str):
data = await Database().query(name) data = await Database().query(name)
name = data[0] name = data[0]
times = data[1] times = data[1]
response = { response = {
'code': 200, "code": 200,
'time': await _time(), "time": await _time(),
'data': { "data": {
'name': name, "name": name,
'times': times "times": times
} }
} }
return response return response
@api.get('/query/alldata') @api.get("/query/alldata")
async def query_all(limit: int = 30): async def query_all(limit: int = 30):
result = await Database().query_all() result = await Database().query_all()
data = result[:limit]
response = { response = {
'code': 200, "code": 200,
'time': await _time(), "time": await _time(),
'data': [] "data": []
} }
data = result[:limit]
for i in data: for i in data:
response['data'].append({ response["data"].append({
'name': i[0], "name": i[0],
'times': i[1] "times": i[1]
}) })
return response return response
@api.get('/export') @api.get("/export")
async def export(): async def export():
if os.path.exists('/tmp/data.sqlite'): if os.path.exists("/tmp/data.sqlite"):
return FileResponse('/tmp/data.sqlite') return FileResponse("/tmp/data.sqlite")
return FileResponse('./src/db/data.sqlite') return FileResponse("./src/db/data.sqlite")
@api.get('/query/theme/{name}') @api.get("/query/theme/{name}")
async def query_theme(name: str): async def query_theme(name: str):
data = await Database().query_image(name) data = await Database().query_image(name)
response = { response = {
'code': 200, "code": 200,
'time': await _time(), "time": await _time(),
'data': [] "data": []
} }
for i in data: for i in data:
response['data'].append({ response["data"].append({
'index': i[0], "index": i[0],
'image': i[1], "image": i[1],
'width': i[2], "width": i[2],
'height': i[3] "height": i[3]
}) })
return JSONResponse(response) return JSONResponse(response)
+1 -1
View File
@@ -14,6 +14,6 @@ class Config:
mysql -> user:pwd@host:port/db mysql -> user:pwd@host:port/db
deta -> deta deta -> deta
""" """
database = os.getenv('COUNTER_DB') or "sqlite3" # 数据库类型 database = os.getenv("COUNTER_DB") or "sqlite3" # 数据库类型
if os.getenv("PJ_DETA") is not None: if os.getenv("PJ_DETA") is not None:
database = "deta" # 自动设置为deta database = "deta" # 自动设置为deta
+8 -8
View File
@@ -14,19 +14,19 @@ database = Config.database # operator
def download_file(path: str): def download_file(path: str):
print('Downloading database file. Please wait...') print("Downloading database file. Please wait...")
file_url = 'https://static.rtast.cn/data.sqlite' file_url = "https://static.rtast.cn/data.sqlite"
urlretrieve(file_url, path) # standard lib for downloading file urlretrieve(file_url, path) # standard lib for downloading file
print('Download database file successfully.') print("Download database file successfully.")
if database == 'sqlite3': if database == "sqlite3":
if not os.path.exists('./src/db/data.sqlite'): if not os.path.exists("./src/db/data.sqlite"):
download_file('./src/db/data.sqlite') download_file("./src/db/data.sqlite")
if database == 'sqlite3': if database == "sqlite3":
from src.db.db import SQLite as Database from src.db.db import SQLite as Database
elif database == 'deta': elif database == "deta":
from src.db.db import DetaBase as Database from src.db.db import DetaBase as Database
else: else:
from src.db.db import MySQL as Database from src.db.db import MySQL as Database
+14 -14
View File
@@ -13,28 +13,28 @@ from fastapi.responses import RedirectResponse
from fastapi.responses import FileResponse from fastapi.responses import FileResponse
from fastapi.templating import Jinja2Templates from fastapi.templating import Jinja2Templates
template = Jinja2Templates('./src/templates') template = Jinja2Templates("./src/templates")
@main.get('/favicon.ico') @main.get("/favicon.ico")
async def favicon(): async def favicon():
return FileResponse('./src/static/favicon.ico') return FileResponse("./src/static/favicon.ico")
@main.get('/') @main.get("/")
async def redirect_index(): async def redirect_index():
return RedirectResponse('/_redirect') return RedirectResponse("/_redirect")
@main.get('/{name}') @main.get("/{name}")
async def index(req: Request, name: str, length: int = 7, theme: str = 'lewd'): async def index(req: Request, name: str, length: int = 7, theme: str = "lewd"):
if length > 10: if length > 10:
return {'code': -200, 'msg': 'Length Error'} return {"code": -200, "msg": "Length Error"}
response = await resp(name, length, theme) response = await resp(name, length, theme)
return template.TemplateResponse('index.html', return template.TemplateResponse("index.html",
context={'request': req, context={"request": req,
'context': response['context'], "context": response["context"],
'g_width': response['g_width'], "g_width": response["g_width"],
'g_height': response['g_height']}, "g_height": response["g_height"]},
headers=response['headers']) headers=response["headers"])
+12 -12
View File
@@ -9,7 +9,7 @@
from src.db import Database from src.db import Database
async def resp(_id: str, length: int = 7, theme: str = 'lewd') -> dict: async def resp(_id: str, length: int = 7, theme: str = "lewd") -> dict:
""" """
generate dict response generate dict response
include all information include all information
@@ -22,27 +22,27 @@ async def resp(_id: str, length: int = 7, theme: str = 'lewd') -> dict:
times = result[1] times = result[1]
str_number = str(times) # 将整形转换为字符串 str_number = str(times) # 将整形转换为字符串
len_number = len(str_number) # 再获取字符串长度 len_number = len(str_number) # 再获取字符串长度
g_length = length * '0' # 根据输入的位数来生成0的数量 g_length = length * "0" # 根据输入的位数来生成0的数量
show_number = str(g_length[:-len_number] + str_number) show_number = str(g_length[:-len_number] + str_number)
context = [] context = []
headers = {'cache-control': 'max-age=0, no-cache, no-store, must-revalidate', headers = {"cache-control": "max-age=0, no-cache, no-store, must-revalidate",
'Content-Type': 'image/svg+xml; charset=utf-8'} "Content-Type": "image/svg+xml; charset=utf-8"}
data = await Database().query_image(theme) data = await Database().query_image(theme)
height = data[0][-1] height = data[0][-1]
width = data[0][-2] width = data[0][-2]
counter = 0 counter = 0
for i, n in zip(data, show_number): for i, n in zip(data, show_number):
context.append({ context.append({
'position': i[-2] * counter, "position": i[-2] * counter,
'width': i[-2], "width": i[-2],
'height': i[-1], "height": i[-1],
'base64': data[int(n)][1] "base64": data[int(n)][1]
}) })
counter += 1 counter += 1
return { return {
'context': context, "context": context,
'g_width': length * width, "g_width": length * width,
'g_height': height, "g_height": height,
'headers': headers "headers": headers
} }