init: upload

This commit is contained in:
MarkusJoe
2022-09-02 20:56:16 +08:00
commit b4958755a2
16 files changed
+613

No files matched your search

+9
View File
@@ -0,0 +1,9 @@
#!/usr/bin/env python3
# -- coding:utf-8 --
# @Author: markushammered@gmail.com
# @Development Tool: PyCharm
# @Create Time: 2022/8/30
# @File Name: __init__.py.py
from src.utils.response import resp
+51
View File
@@ -0,0 +1,51 @@
#!/usr/bin/env python3
# -- coding:utf-8 --
# @Author: markushammered@gmail.com
# @Development Tool: PyCharm
# @Create Time: 2022/8/30
# @File Name: convert.py
import os
import base64
import sqlite3
import asyncio
class SQLite:
def __init__(self):
self.conn = sqlite3.connect('../db/data.sqlite')
self.cursor = self.conn.cursor()
def __del__(self):
self.conn.commit()
self.cursor.close()
self.conn.close()
async def insert(self, _id: str, b64: str, width: int, height: int) -> bool:
self.cursor.execute('insert into image values ("%s", "%s", %s, %s)' % (_id, b64, width, height))
return True
async def convert():
dirs = os.listdir('../static')
for i in dirs:
files = os.listdir(f'../static/{i}')
for b in files:
with open(f'../static/{i}/{b}', 'rb') as fp:
if i == 'moebooru':
width = 45
height = 100
elif i == 'lewd':
width = 45
height = 100
elif i == 'lisu':
width = 66
height = 152
else:
width = 68
height = 150
await SQLite().insert(f'{i}/{b}', base64.b64encode(fp.read()).decode('utf-8'), width, height)
asyncio.run(convert())
+40
View File
@@ -0,0 +1,40 @@
#!/usr/bin/env python3
# -- coding:utf-8 --
# @Author: markushammered@gmail.com
# @Development Tool: PyCharm
# @Create Time: 2022/8/30
# @File Name: response.py
from src.db import SQLite
async def resp(_id: str, length: int = 7, theme: str = 'lewd') -> dict:
"""
return a response
:param _id:
:param length:
:param theme:
:return:
"""
times = SQLite().query(_id)[1]
str_number = str(times) # 将整形转换为字符串
len_number = len(str_number) # 再获取字符串长度
g_length = length * '0' # 根据输入的位数来自动生成0的数量
show_number = str(g_length[:-len_number] + str_number)
context = []
w_h = SQLite().query_image(theme + '/0')[0]
count = 0 # 计数器, 每次遍历一次则加一, 让图片x轴相乘
for i in show_number:
data = SQLite().query_image(theme + '/' + i)[0]
context.append({'position': data[-2] * count,
'width': data[-2],
'height': data[-1],
'base64': data[1]})
count += 1
headers = {'cache-control': 'max-age=0, no-cache, no-store, must-revalidate'}
return {'context': context,
'g_width': length * w_h[-2],
'g_height': w_h[-1],
'headers': headers}