Archived
重写了app内的主函数, 并支持了MySQL数据库, 将所有关于数据库操作的代码全部重写
This commit is contained in:
19 files changed
+839
-516
No files matched your search
+24
-44
@@ -9,74 +9,54 @@
|
||||
from typing import Optional
|
||||
from flask import jsonify
|
||||
from flask import Response
|
||||
from bin.db.db import SQLite
|
||||
from bin.utils.logger import logger
|
||||
|
||||
|
||||
class ErrorProcess:
|
||||
"""处理错误的页面"""
|
||||
def __init__(self) -> None:
|
||||
self.msg_template = {'code': -2,
|
||||
'msg': Optional[str],
|
||||
'data': Optional[list]}
|
||||
|
||||
def get_theme_list(self) -> Response:
|
||||
def __init__(self, db) -> None:
|
||||
"""
|
||||
直接获取可选主题
|
||||
:return:
|
||||
初始化
|
||||
:param db:
|
||||
"""
|
||||
logger.debug('获取主题')
|
||||
table_list = SQLite().fetch_table()
|
||||
self.msg_template['code'] = 200
|
||||
self.msg_template['msg'] = '当前已保存到数据库的主题如下'
|
||||
self.msg_template['data'] = table_list
|
||||
return jsonify(self.msg_template)
|
||||
self.db = db # 数据库对象
|
||||
self.response = {'code': Optional[int],
|
||||
'msg': Optional[str],
|
||||
'data': Optional[list]}
|
||||
|
||||
def error_theme(self, theme: str) -> Response:
|
||||
def theme_error(self, theme: str) -> Response:
|
||||
"""
|
||||
错误的主题
|
||||
:param theme:
|
||||
:return:
|
||||
"""
|
||||
logger.debug('错误的主题')
|
||||
table_list = SQLite().fetch_table()
|
||||
self.msg_template['code'] = -2
|
||||
self.msg_template['msg'] = f'错误的主题: {theme}. 以下是已保存的主题'
|
||||
self.msg_template['data'] = table_list
|
||||
return jsonify(self.msg_template)
|
||||
table_list = self.db().show_tables
|
||||
self.response['code'] = -2
|
||||
self.response['msg'] = f'错误的主题: {theme}. 以下是已保存的主题'
|
||||
self.response['data'] = table_list
|
||||
return jsonify(self.response)
|
||||
|
||||
def error_length(self, length: int or str) -> Response:
|
||||
def length_error(self, length: int or str) -> Response:
|
||||
"""
|
||||
数值太长显示此页面
|
||||
:param length:
|
||||
:return:
|
||||
"""
|
||||
logger.debug('错误的长度')
|
||||
self.msg_template['code'] = -2
|
||||
self.msg_template['msg'] = f'错误的长度: {length}'
|
||||
self.msg_template['data'] = None
|
||||
return jsonify(self.msg_template)
|
||||
self.response['code'] = -2
|
||||
self.response['msg'] = f'错误的长度: {length}'
|
||||
self.response['data'] = []
|
||||
return jsonify(self.response)
|
||||
|
||||
def too_lang_to_count(self, name: str) -> Response:
|
||||
def count_error(self, name: str) -> Response:
|
||||
"""
|
||||
数据过长重置数据
|
||||
:param name:
|
||||
:return:
|
||||
"""
|
||||
logger.debug('超出计数器最大计数限制')
|
||||
SQLite().update_data(name, 0)
|
||||
self.msg_template['code'] = 200
|
||||
self.msg_template['msg'] = '当前长度已超过最大可计数范围. 已将此名称的计数器重置为零'
|
||||
self.msg_template['data'] = None
|
||||
return jsonify(self.msg_template)
|
||||
|
||||
def arg_not_be_full(self) -> Response:
|
||||
"""
|
||||
参数不完整
|
||||
:return:
|
||||
"""
|
||||
logger.debug('参数不完整')
|
||||
self.msg_template['code'] = -2
|
||||
self.msg_template['msg'] = '参数填写错误或填写不完整'
|
||||
self.msg_template['data'] = None
|
||||
return jsonify(self.msg_template)
|
||||
self.db().update(name, 0)
|
||||
self.response['code'] = 200
|
||||
self.response['msg'] = '当前长度已超过最大可计数范围. 已将此名称的计数器重置为零'
|
||||
self.response['data'] = []
|
||||
return jsonify(self.response)
|
||||
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env python3
|
||||
# -- coding:utf-8 --
|
||||
# @Author: markushammered@gmail.com
|
||||
# @Development Tool: PyCharm
|
||||
# @Create Time: 2022/2/28
|
||||
# @File Name: features.py
|
||||
|
||||
|
||||
from typing import Optional
|
||||
from flask import jsonify
|
||||
from flask import Response
|
||||
|
||||
|
||||
class Features:
|
||||
"""特殊操作"""
|
||||
|
||||
def __init__(self, db) -> None:
|
||||
"""
|
||||
初始化
|
||||
:param db:
|
||||
"""
|
||||
self.db = db
|
||||
self.response = {'code': Optional[int],
|
||||
'msg': Optional[str],
|
||||
'data': Optional[list]}
|
||||
|
||||
def theme_list(self) -> Response:
|
||||
"""
|
||||
读取已有数据库并返回一个列表
|
||||
:return:
|
||||
"""
|
||||
table_list = self.db().show_tables
|
||||
self.response['code'] = 200
|
||||
self.response['msg'] = '当前已保存到数据库的主题如下'
|
||||
self.response['data'] = table_list
|
||||
return jsonify(self.response)
|
||||
@@ -1,29 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
# -- coding:utf-8 --
|
||||
# @Author: markushammered@gmail.com
|
||||
# @Development Tool: PyCharm
|
||||
# @Create Time: 2022/2/18
|
||||
# @File Name: packing_logs.py
|
||||
|
||||
|
||||
import os
|
||||
import time
|
||||
import tarfile
|
||||
|
||||
|
||||
def make_targz():
|
||||
"""
|
||||
打包为tar.gz
|
||||
压缩文件
|
||||
:return:
|
||||
"""
|
||||
output_dir = f'./static/cache/{time.strftime("%Y-%m-%d %H")}.tar.gz'
|
||||
tar = tarfile.open(output_dir, 'w:gz')
|
||||
for root, dir, files in os.walk('./bin/log'):
|
||||
for file in files:
|
||||
pathfile = os.path.join(root, file)
|
||||
tar.add(pathfile)
|
||||
tar.close()
|
||||
|
||||
|
||||
__all__ = ['make_targz']
|
||||
+50
-53
@@ -7,72 +7,69 @@
|
||||
|
||||
|
||||
from flask import render_template
|
||||
from bin.db.db import SQLite
|
||||
|
||||
|
||||
def view_template(style: str, length: int, name: str, count: str) -> str or tuple[bool, str]:
|
||||
def view_template(style: str, length: int, name: str, count: str, DB) -> str or tuple[bool, str]:
|
||||
"""
|
||||
渲染模板
|
||||
:param count:
|
||||
:param name:
|
||||
:param length:
|
||||
:param style:
|
||||
:param length:
|
||||
:param name:
|
||||
:param count:
|
||||
:param DB:
|
||||
:return:
|
||||
"""
|
||||
if style not in SQLite().fetch_table(): # 选择的主题不在数据库内
|
||||
return [False, 'BadLength']
|
||||
origin_data = SQLite().fetch_style_data(style) # 获取数据库内的数据
|
||||
datas = DB().fetching_table(style)
|
||||
context = []
|
||||
if count != '0000000000':
|
||||
for i in count: # 通过elif语句依次判断数字
|
||||
if i == '0':
|
||||
context.append({'base64': origin_data[0]['base64'],
|
||||
'width': origin_data[0]['width'],
|
||||
'height': origin_data[0]['height']})
|
||||
elif i == '1':
|
||||
context.append({'base64': origin_data[1]['base64'],
|
||||
'width': origin_data[1]['width'],
|
||||
'height': origin_data[1]['height']})
|
||||
elif i == '2':
|
||||
context.append({'base64': origin_data[2]['base64'],
|
||||
'width': origin_data[2]['width'],
|
||||
'height': origin_data[2]['height']})
|
||||
elif i == '3':
|
||||
context.append({'base64': origin_data[3]['base64'],
|
||||
'width': origin_data[3]['width'],
|
||||
'height': origin_data[3]['height']})
|
||||
elif i == '4':
|
||||
context.append({'base64': origin_data[4]['base64'],
|
||||
'width': origin_data[4]['width'],
|
||||
'height': origin_data[4]['height']})
|
||||
elif i == '5':
|
||||
context.append({'base64': origin_data[5]['base64'],
|
||||
'width': origin_data[5]['width'],
|
||||
'height': origin_data[5]['height']})
|
||||
elif i == '6':
|
||||
context.append({'base64': origin_data[6]['base64'],
|
||||
'width': origin_data[6]['width'],
|
||||
'height': origin_data[6]['height']})
|
||||
elif i == '7':
|
||||
context.append({'base64': origin_data[7]['base64'],
|
||||
'width': origin_data[7]['width'],
|
||||
'height': origin_data[7]['height']})
|
||||
elif i == '8':
|
||||
context.append({'base64': origin_data[8]['base64'],
|
||||
'width': origin_data[8]['width'],
|
||||
'height': origin_data[8]['height']})
|
||||
elif i == '9':
|
||||
context.append({'base64': origin_data[9]['base64'],
|
||||
'width': origin_data[9]['width'],
|
||||
'height': origin_data[9]['height']})
|
||||
for i in count:
|
||||
if i == '0':
|
||||
context.append({'base64': datas[0]['base64'],
|
||||
'width': datas[0]['width'],
|
||||
'height': datas[0]['height']})
|
||||
elif i == '1':
|
||||
context.append({'base64': datas[1]['base64'],
|
||||
'width': datas[1]['width'],
|
||||
'height': datas[1]['height']})
|
||||
elif i == '2':
|
||||
context.append({'base64': datas[2]['base64'],
|
||||
'width': datas[2]['width'],
|
||||
'height': datas[2]['height']})
|
||||
elif i == '3':
|
||||
context.append({'base64': datas[3]['base64'],
|
||||
'width': datas[3]['width'],
|
||||
'height': datas[3]['height']})
|
||||
elif i == '4':
|
||||
context.append({'base64': datas[4]['base64'],
|
||||
'width': datas[4]['width'],
|
||||
'height': datas[4]['height']})
|
||||
elif i == '5':
|
||||
context.append({'base64': datas[5]['base64'],
|
||||
'width': datas[5]['width'],
|
||||
'height': datas[5]['height']})
|
||||
elif i == '6':
|
||||
context.append({'base64': datas[6]['base64'],
|
||||
'width': datas[6]['width'],
|
||||
'height': datas[6]['height']})
|
||||
elif i == '7':
|
||||
context.append({'base64': datas[7]['base64'],
|
||||
'width': datas[7]['width'],
|
||||
'height': datas[7]['height']})
|
||||
elif i == '8':
|
||||
context.append({'base64': datas[8]['base64'],
|
||||
'width': datas[8]['width'],
|
||||
'height': datas[8]['height']})
|
||||
elif i == '9':
|
||||
context.append({'base64': datas[9]['base64'],
|
||||
'width': datas[9]['width'],
|
||||
'height': datas[9]['height']})
|
||||
|
||||
for p, i in zip(context, range(0, length)):
|
||||
p['position'] = i * p['width'] # 设置每张图片对应的位置
|
||||
|
||||
general_width = origin_data[0]['width'] * length # 计算出图片总长度
|
||||
general_height = origin_data[0]['height'] # 总宽度
|
||||
general_width = datas[0]['width'] * length # 计算出图片总长度
|
||||
general_height = datas[0]['height'] # 总宽度
|
||||
|
||||
return True, render_template('view.html',
|
||||
return render_template('view.html',
|
||||
context=context,
|
||||
title=name,
|
||||
general_height=general_height,
|
||||
|
||||
Reference in New Issue
Block a user