更新数据库名称

This commit is contained in:
MarkusJoe
2022-02-16 16:24:44 +08:00
parent 08c6ab3d64
commit 7dda0c747e
10 files changed
+180 -130

No files matched your search

+37 -19
View File
@@ -7,6 +7,8 @@
import time import time
import requests
from flask import Flask from flask import Flask
from flask import Response from flask import Response
from flask import jsonify from flask import jsonify
@@ -17,31 +19,24 @@ from bin.utils.b64img import re_sort_number_image
from bin.utils.error import ErrorProcess from bin.utils.error import ErrorProcess
from bin.utils.render_ import render_temp_ from bin.utils.render_ import render_temp_
from bin.utils.logger import logger from bin.utils.logger import logger
from db.db import fetch_data from db.sqlite import fetch_data
app = Flask(__name__, static_url_path='') app = Flask(__name__, static_url_path='')
app.config['JSON_SORT_KEYS'] = False # 设置JSON消息不根据字母顺序重新排序 app.config['JSON_SORT_KEYS'] = False # 设置JSON消息不根据字母顺序重新排序
app.config['JSON_AS_ASCII'] = False # 设置JSON消息显示中文 app.config['JSON_AS_ASCII'] = False # 设置JSON消息显示中文
@app.errorhandler(404) @app.route('/sync')
def miss(reason) -> Response: def sync():
""" """
404页面使用json格式显示 同步count.db
:param reason:
:return: :return:
""" """
return jsonify({'code': 404, 'msg': '没有定义的页面', 'data': None}) try:
requests.get('https://themedatabase.vercel.app/')
return {'code': 200, 'msg': '从远程服务器同步成功', 'data': []}
@app.errorhandler(500) except BaseException as e:
def error(reason) -> Response: return {'code': -2, 'msg': f'从远程服务器同步失败: {e}', 'data': []}
"""
500 页面使用json格式显示
:param reason:
:return:
"""
return jsonify({'code': 500, 'msg': '服务器内部错误', 'data': None})
def build_page(name: str, length: int, theme: str) -> list[bool or Response] or list[bool or str] or bool: def build_page(name: str, length: int, theme: str) -> list[bool or Response] or list[bool or str] or bool:
@@ -66,6 +61,26 @@ def build_page(name: str, length: int, theme: str) -> list[bool or Response] or
return [False, 'BadLength'] return [False, 'BadLength']
@app.errorhandler(404)
def miss(reason) -> Response:
"""
404页面使用json格式显示
:param reason:
:return:
"""
return jsonify({'code': 404, 'msg': '没有定义的页面', 'data': None})
@app.errorhandler(500)
def error(reason) -> Response:
"""
500 页面使用json格式显示
:param reason:
:return:
"""
return jsonify({'code': 500, 'msg': '服务器内部错误', 'data': None})
@app.route('/get', methods=['GET', 'POST']) # 允许 GET 和 POST 方法 @app.route('/get', methods=['GET', 'POST']) # 允许 GET 和 POST 方法
def main() -> Response or str: def main() -> Response or str:
""" """
@@ -81,6 +96,8 @@ def main() -> Response or str:
if name and name != 'null': if name and name != 'null':
if not length: if not length:
length = 7 length = 7
elif type(length) is not int:
return ErrorProcess().error_length(length)
else: else:
length = int(length) # 将类型转换为整型 length = int(length) # 将类型转换为整型
if not theme: if not theme:
@@ -89,14 +106,15 @@ def main() -> Response or str:
if build_page_result[0]: if build_page_result[0]:
response = make_response(build_page_result[1]) # 设置响应体 和 响应头 response = make_response(build_page_result[1]) # 设置响应体 和 响应头
response.headers['Content-Type'] = 'image/svg+xml; charset=utf-8' response.headers['Content-Type'] = 'image/svg+xml; charset=utf-8'
# 防止浏览器和markdown编辑器缓存图片
response.headers['cache-control'] = 'max-age=0, no-cache, no-store, must-revalidate' response.headers['cache-control'] = 'max-age=0, no-cache, no-store, must-revalidate'
response.headers['date'] = time.ctime() response.headers['date'] = time.ctime()
return response return response
elif build_page_result[1] == 'BadLength': elif build_page_result[1] == 'BadLength': # 输入的长度错误
return ErrorProcess().error_length(length) return ErrorProcess().error_length(length)
elif build_page_result[1] == 'BadTheme': elif build_page_result[1] == 'BadTheme': # 输入的主题错误
return ErrorProcess().error_theme(theme) return ErrorProcess().error_theme(theme)
else: else: # 长度过长无法计数重置数据库内的已有数据
return build_page_result[1] return build_page_result[1]
else: else:
return ErrorProcess().arg_not_be_full() return ErrorProcess().arg_not_be_full()
View File
Whitespace-only changes.
+4
View File
@@ -0,0 +1,4 @@
import sys
print(sys.argv)
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env python3
# -- coding:utf-8 --
# @Author: markushammered@gmail.com
# @Development Tool: PyCharm
# @Create Time: 2022/2/16
# @File Name: connectdb.py
import sqlite3
def exec(cmd):
try:
conn = sqlite3.connect('../../db/count.db')
cursor = conn.cursor()
cursor.execute(cmd)
return cursor.fetchall()
finally:
cursor.close()
conn.close()
if __name__ == '__main__':
while True:
cmd = input('>>>')
print(exec(cmd))
+1 -1
View File
@@ -4,7 +4,7 @@ import os
import sqlite3 import sqlite3
conn = sqlite3.connect('../assets/theme.db') conn = sqlite3.connect('../../db/theme.db')
cursor = conn.cursor() cursor = conn.cursor()
file_list = os.listdir('../assets/themes/') file_list = os.listdir('../assets/themes/')
+3 -2
View File
@@ -10,8 +10,7 @@ import random
import base64 import base64
import sqlite3 import sqlite3
conn = sqlite3.connect('../../db/style.db')
conn = sqlite3.connect('../assets/theme.db')
cursor = conn.cursor() cursor = conn.cursor()
@@ -30,4 +29,6 @@ def get_all_theme():
fp.write(img_data) fp.write(img_data)
# if i[1] == '': # if i[1] == '':
# print(n) # print(n)
get_all_theme() get_all_theme()
+6 -6
View File
@@ -59,7 +59,7 @@ class Check:
检验本地文件md5是否和远程md5相同 检验本地文件md5是否和远程md5相同
:return: :return:
""" """
with open('./bin/assets/theme.db', 'rb') as fp: with open('./db/style.db', 'rb') as fp:
data = fp.read() data = fp.read()
local_md5 = hashlib.md5(data).hexdigest() local_md5 = hashlib.md5(data).hexdigest()
remote_md5 = self.session.get(self.remote_md5).json()['data'][0] remote_md5 = self.session.get(self.remote_md5).json()['data'][0]
@@ -84,9 +84,9 @@ class Check:
mtd_list = [] mtd_list = []
start = 0 start = 0
end = -1 end = -1
with open('./bin/assets/theme.db', 'w') as initial_file: with open('./db/style.db', 'w') as initial_file:
initial_file.close() initial_file.close()
with open('./bin/assets/theme.db', 'rb+') as f: with open('./db/style.db', 'rb+') as f:
name = 1 name = 1
fileno = f.fileno() fileno = f.fileno()
while end < filesize - 1: while end < filesize - 1:
@@ -117,10 +117,10 @@ def single_download(url):
session.trust_env = False session.trust_env = False
logger.info(f'正在使用单线程下载中') logger.info(f'正在使用单线程下载中')
resp = session.get(url) resp = session.get(url)
with open('./bin/assets/theme.db', 'wb') as fp: with open('./db/style.db', 'wb') as fp:
fp.write(resp.content) fp.write(resp.content)
logger.info('下载完成 正在检验文件md5') logger.info('下载完成 正在检验文件md5')
with open('./bin/assets/theme.db', 'rb') as fp: with open('./db/style.db', 'rb') as fp:
data = fp.read() data = fp.read()
local_md5 = hashlib.md5(data).hexdigest() local_md5 = hashlib.md5(data).hexdigest()
remote_md5 = session.get('https://themedatabases.vercel.app/md5').json()['data'][0] remote_md5 = session.get('https://themedatabases.vercel.app/md5').json()['data'][0]
@@ -136,6 +136,6 @@ def single_download(url):
if __name__ != '__main__': if __name__ != '__main__':
if not os.path.exists('./bin/log'): if not os.path.exists('./bin/log'):
os.mkdir('./bin/log') os.mkdir('./bin/log')
if not os.path.exists('./bin/assets/theme.db'): if not os.path.exists('./db/style.db'):
logger.error('没有检测到本地主题数据库即将开始下载') logger.error('没有检测到本地主题数据库即将开始下载')
Check().download() Check().download()
+2 -2
View File
@@ -8,7 +8,7 @@
import sqlite3 import sqlite3
from typing import Any from typing import Any
from db.db import fetch_table from db.sqlite import fetch_table
def re_sort_number_image(origin_number: str, theme: str) -> tuple[bool, bool, bool, bool] or list[ def re_sort_number_image(origin_number: str, theme: str) -> tuple[bool, bool, bool, bool] or list[
@@ -66,5 +66,5 @@ def re_sort_number_image(origin_number: str, theme: str) -> tuple[bool, bool, bo
if __name__ != '__main__': if __name__ != '__main__':
conn = sqlite3.connect('./bin/assets/theme.db', check_same_thread=False) conn = sqlite3.connect('./db/theme.db', check_same_thread=False)
cursor = conn.cursor() cursor = conn.cursor()
+2 -2
View File
@@ -9,7 +9,7 @@
from typing import Optional from typing import Optional
from flask import jsonify from flask import jsonify
from flask import Response from flask import Response
from db.db import (update_data, fetch_table) from db.sqlite import (update_data, fetch_table)
class ErrorProcess: class ErrorProcess:
@@ -42,7 +42,7 @@ class ErrorProcess:
self.msg_template['data'] = table_list self.msg_template['data'] = table_list
return jsonify(self.msg_template) return jsonify(self.msg_template)
def error_length(self, length: int) -> Response: def error_length(self, length: int or str) -> Response:
""" """
数值太长显示此页面 数值太长显示此页面
:param length: :param length:
+2 -2
View File
@@ -3,7 +3,7 @@
# @Author: markushammered@gmail.com # @Author: markushammered@gmail.com
# @Development Tool: PyCharm # @Development Tool: PyCharm
# @Create Time: 2022/2/4 # @Create Time: 2022/2/4
# @File Name: db.py # @File Name: sqlite.py
import sqlite3 import sqlite3
@@ -83,7 +83,7 @@ def fetch_table() -> list:
返回已有主题列表 返回已有主题列表
:return: :return:
""" """
conn_temp = sqlite3.connect('./bin/assets/theme.db', check_same_thread=False) conn_temp = sqlite3.connect('./db/style.db', check_same_thread=False)
cursor_temp = conn_temp.cursor() cursor_temp = conn_temp.cursor()
try: try:
lst = [] lst = []