日常更新
This commit is contained in:
parent
7ee36aea88
commit
e616007326
48
log.py
Normal file
48
log.py
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
import os
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
output = True
|
||||||
|
|
||||||
|
|
||||||
|
class Logger:
|
||||||
|
def __init__(self):
|
||||||
|
self.log_file = 'log.log'
|
||||||
|
self._ensure_log_file_exists()
|
||||||
|
|
||||||
|
def _ensure_log_file_exists(self):
|
||||||
|
if not os.path.exists(self.log_file):
|
||||||
|
with open(self.log_file, 'w'): pass
|
||||||
|
|
||||||
|
def _get_color_code(self, log_type):
|
||||||
|
colors = {
|
||||||
|
'info ': '\033[36m', # 蓝色
|
||||||
|
'waring': '\033[33m', # 黄色
|
||||||
|
'error ': '\033[31m' # 红色
|
||||||
|
}
|
||||||
|
return colors.get(log_type, '\033[0m')
|
||||||
|
|
||||||
|
def log(self, content, log_type='info'):
|
||||||
|
timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
||||||
|
log_entry = f"{timestamp} [{log_type}] : {content}\n"
|
||||||
|
|
||||||
|
# 写入文件
|
||||||
|
with open(self.log_file, 'a', encoding='utf-8') as f:
|
||||||
|
f.write(log_entry)
|
||||||
|
|
||||||
|
# 控制台输出
|
||||||
|
if output:
|
||||||
|
color = self._get_color_code(log_type)
|
||||||
|
reset = '\033[0m'
|
||||||
|
print(f"{timestamp} {color}[{log_type}] {content}") # <<< ------------------------------
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
# 外部调用接口
|
||||||
|
def write_log(content, log_type='info'):
|
||||||
|
logger = Logger()
|
||||||
|
return logger.log(content, log_type)
|
||||||
|
|
||||||
|
|
||||||
|
write_log('ddddasdaw')
|
||||||
|
write_log('waddddddddd', 'waring')
|
||||||
|
write_log('awdaaaaaargtsssssssss', 'error')
|
14
main.py
14
main.py
@ -1,13 +1,13 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from flask import Flask, render_template, request, send_file, jsonify
|
from flask import Flask, render_template, request, send_file, jsonify, abort
|
||||||
import make_html
|
import make_html
|
||||||
import return_api
|
import return_api
|
||||||
import config
|
import config
|
||||||
|
import log
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
|
||||||
root = config.getroot()
|
root = config.getroot()
|
||||||
|
|
||||||
@app.route('/')
|
@app.route('/')
|
||||||
@ -21,8 +21,10 @@ def home():
|
|||||||
def webs(subpath=None):
|
def webs(subpath=None):
|
||||||
request_time = datetime.now()
|
request_time = datetime.now()
|
||||||
formatted_time = request_time.strftime('%Y-%m-%d %H:%M:%S')
|
formatted_time = request_time.strftime('%Y-%m-%d %H:%M:%S')
|
||||||
|
if subpath == "serviceworker.js":
|
||||||
|
abort(204)
|
||||||
|
|
||||||
if (subpath is None) or (subpath == "serviceworker.js"):
|
if subpath is None:
|
||||||
p = root
|
p = root
|
||||||
else:
|
else:
|
||||||
if root[-1] == "\\" or "/":
|
if root[-1] == "\\" or "/":
|
||||||
@ -46,9 +48,10 @@ def webs(subpath=None):
|
|||||||
def api(subpath=None):
|
def api(subpath=None):
|
||||||
request_time = datetime.now()
|
request_time = datetime.now()
|
||||||
formatted_time = request_time.strftime('%Y-%m-%d %H:%M:%S')
|
formatted_time = request_time.strftime('%Y-%m-%d %H:%M:%S')
|
||||||
|
if subpath == "serviceworker.js":
|
||||||
|
abort(204)
|
||||||
|
|
||||||
|
if subpath is None:
|
||||||
if (subpath is None) or (subpath == "serviceworker.js"):
|
|
||||||
p = root
|
p = root
|
||||||
else:
|
else:
|
||||||
if root[-1] == "\\":
|
if root[-1] == "\\":
|
||||||
@ -66,5 +69,6 @@ def api(subpath=None):
|
|||||||
|
|
||||||
return jsonify(return_p)
|
return jsonify(return_p)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app.run(debug=config.getdebug(), port=config.getport())
|
app.run(debug=config.getdebug(), port=config.getport())
|
||||||
|
38
make_html.py
38
make_html.py
@ -1,7 +1,7 @@
|
|||||||
from jinja2 import Environment, FileSystemLoader
|
from jinja2 import Environment, FileSystemLoader
|
||||||
|
|
||||||
import config
|
import config
|
||||||
from file import file
|
import file
|
||||||
|
|
||||||
# 创建模板环境
|
# 创建模板环境
|
||||||
env = Environment(
|
env = Environment(
|
||||||
@ -11,6 +11,15 @@ env = Environment(
|
|||||||
lstrip_blocks=True # 去除块左侧空白
|
lstrip_blocks=True # 去除块左侧空白
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if config.web_language == "zh_cn":
|
||||||
|
with open('templates\\zh_ch_moban.html', 'r', encoding='utf-8') as files:
|
||||||
|
template = files.read()
|
||||||
|
else:
|
||||||
|
with open('templates\\en_us_moban.html', 'r', encoding='utf-8') as files:
|
||||||
|
template = files.read()
|
||||||
|
|
||||||
|
|
||||||
def make_file(file_list, requests_url):
|
def make_file(file_list, requests_url):
|
||||||
c = []
|
c = []
|
||||||
d = 0
|
d = 0
|
||||||
@ -49,29 +58,16 @@ def make(p, url, time, server_p):
|
|||||||
else:
|
else:
|
||||||
server_p = "root/ " + server_p
|
server_p = "root/ " + server_p
|
||||||
|
|
||||||
with open('templates\\zh_ch_moban.html', 'r', encoding='utf-8') as files:
|
|
||||||
template = files.read()
|
|
||||||
|
|
||||||
files = make_file(get_p, url)
|
files = make_file(get_p, url)
|
||||||
|
|
||||||
# 定义替换数据
|
data = {
|
||||||
|
"{h3}": url,
|
||||||
|
"{time}": time,
|
||||||
|
"{file_var}": str(len(get_p)),
|
||||||
|
"{server_path}": "" + server_p,
|
||||||
|
"{file}": files
|
||||||
|
}
|
||||||
|
|
||||||
if config.getlanguage() == "zh_cn":
|
|
||||||
data = {
|
|
||||||
"{h3}": "当前路径: "+url,
|
|
||||||
"{time}": "请求开始时间: "+time,
|
|
||||||
"{file_var}": "文件(夹)数量: " + str(len(get_p)),
|
|
||||||
"{server_path}": "服务器内部路径: " + server_p,
|
|
||||||
"{file}": files
|
|
||||||
}
|
|
||||||
else:
|
|
||||||
data = {
|
|
||||||
"{h3}": "now path: " + url,
|
|
||||||
"{time}": "Request start time: " + time,
|
|
||||||
"{file_var}": "Number of files, folders : " + str(len(get_p)),
|
|
||||||
"{server_path}": "Server internal path : " + server_p,
|
|
||||||
"{file}": files
|
|
||||||
}
|
|
||||||
# 执行替换
|
# 执行替换
|
||||||
modified_html = template
|
modified_html = template
|
||||||
for placeholder, value in data.items():
|
for placeholder, value in data.items():
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
import json
|
import file
|
||||||
|
|
||||||
from file import file
|
|
||||||
|
|
||||||
|
|
||||||
def make(path, requests_url, time, server_p):
|
def make(path, requests_url, time, server_p):
|
||||||
@ -14,13 +12,13 @@ def make(path, requests_url, time, server_p):
|
|||||||
if server_p is None:
|
if server_p is None:
|
||||||
server_p = "root\\"
|
server_p = "root\\"
|
||||||
else:
|
else:
|
||||||
server_p = "root/ " + server_p
|
server_p = "root/" + server_p
|
||||||
|
|
||||||
b = {
|
b = {
|
||||||
|
"file": get_p,
|
||||||
"time": time,
|
"time": time,
|
||||||
"server_path": server_p,
|
"server_path": server_p,
|
||||||
"requests_url": requests_url,
|
"requests_url": requests_url
|
||||||
"file": get_p
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return b
|
return b
|
@ -18,11 +18,11 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<h3>{h3}</h3>
|
<h3>当前路径: {h3}</h3>
|
||||||
<hr>
|
<hr>
|
||||||
<p>{time}</p> <!-- 开始时间 -->
|
<p>请求开始时间: {time}</p> <!-- 开始时间 -->
|
||||||
<p>{file_var}</p> <!-- 文件,夹数量 -->
|
<p>文件(夹)数量: {file_var}</p> <!-- 文件,夹数量 -->
|
||||||
<p>{server_path}</p> <!-- 服务器内部路径 -->
|
<p>服务器内部路径: {server_path}</p> <!-- 服务器内部路径 -->
|
||||||
<a href="#" id="backLink" class="back-link">返回上一级目录</a>
|
<a href="#" id="backLink" class="back-link">返回上一级目录</a>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user