新增.gitignore和.cursorindexingignore文件,更新config.py以包含Flask配置和日志设置,完善README文档,添加LICENSE文件,优化main.py中的数据库导入和日志记录,更新requirements.txt以反映依赖项变更,改进admin.html的样式和结构,确保项目结构清晰且符合开源标准。
This commit is contained in:
4199
.specstory/history/2025-04-11_06-43-网盘账号管理与列表刷新.md
Normal file
4199
.specstory/history/2025-04-11_06-43-网盘账号管理与列表刷新.md
Normal file
File diff suppressed because it is too large
Load Diff
2566
.specstory/history/2025-04-11_09-17-json-to-javascript-conversion.md
Normal file
2566
.specstory/history/2025-04-11_09-17-json-to-javascript-conversion.md
Normal file
File diff suppressed because it is too large
Load Diff
240
.specstory/history/2025-04-21_06-27-项目标准化与中文注释.md
Normal file
240
.specstory/history/2025-04-21_06-27-项目标准化与中文注释.md
Normal file
@ -0,0 +1,240 @@
|
||||
<!-- Generated by SpecStory -->
|
||||
|
||||
# 项目标准化与中文注释 (2025-04-21 14:27:33)
|
||||
|
||||
_**User**_
|
||||
|
||||
#角色
|
||||
你现在是一位资深python架构师
|
||||
#需求
|
||||
1.我需要开源这个项目到github,请整改项目使其更加标准化
|
||||
2.理解项目,并且去除英文注释使用中文注释
|
||||
3.去除ai项目生成痕迹
|
||||
|
||||
---
|
||||
|
||||
_**Assistant**_
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
首先我需要分析这个项目并进行标准化整改。我发现了几个需要修改的关键点:
|
||||
|
||||
---
|
||||
|
||||
<details>
|
||||
<summary>Searched codebase "utils database config" • **24** results</summary>
|
||||
|
||||
| File | Lines |
|
||||
|------|-------|
|
||||
| `utils/detebase.py` | L1-54 |
|
||||
| `utils/detebase.py` | L91-135 |
|
||||
| `utils/detebase.py` | L54-91 |
|
||||
| `init_db.py` | L1-36 |
|
||||
| `utils/detebase.py` | L135-184 |
|
||||
| `utils/detebase.py` | L184-217 |
|
||||
| `main.py` | L1-49 |
|
||||
| `utils/detebase.py` | L399-444 |
|
||||
| `utils/detebase.py` | L261-312 |
|
||||
| `init_db.py` | L36-40 |
|
||||
| `utils/detebase.py` | L371-399 |
|
||||
| `main.py` | L58-65 |
|
||||
| `utils/detebase.py` | L312-335 |
|
||||
| `utils/detebase.py` | L444-468 |
|
||||
| `utils/detebase.py` | L217-261 |
|
||||
| `utils/detebase.py` | L335-371 |
|
||||
| `main.py` | L49-58 |
|
||||
| `main.py` | L537-551 |
|
||||
| `config.py` | L1-2 |
|
||||
| `utils/login.py` | L47-62 |
|
||||
| `main.py` | L348-389 |
|
||||
| `main.py` | L284-328 |
|
||||
| `main.py` | L240-284 |
|
||||
| `utils/login.py` | L1-47 |
|
||||
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
<details>
|
||||
<summary>Searched codebase "utils login tools" • **15** results</summary>
|
||||
|
||||
| File | Lines |
|
||||
|------|-------|
|
||||
| `utils/login.py` | L47-62 |
|
||||
| `utils/login.py` | L1-47 |
|
||||
| `utils/tools.py` | L1-22 |
|
||||
| `utils/detebase.py` | L184-217 |
|
||||
| `utils/detebase.py` | L135-184 |
|
||||
| `utils/detebase.py` | L399-444 |
|
||||
| `utils/detebase.py` | L1-54 |
|
||||
| `utils/detebase.py` | L371-399 |
|
||||
| `utils/detebase.py` | L217-261 |
|
||||
| `utils/detebase.py` | L91-135 |
|
||||
| `utils/detebase.py` | L54-91 |
|
||||
| `utils/detebase.py` | L312-335 |
|
||||
| `utils/detebase.py` | L261-312 |
|
||||
| `utils/detebase.py` | L444-468 |
|
||||
| `utils/detebase.py` | L335-371 |
|
||||
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
根据对代码的分析,我需要修复和标准化这个网盘外链管理项目。以下是主要修改内容:
|
||||
|
||||
1. 修复`proflie`函数名拼写错误
|
||||
2. 将英文注释转为中文
|
||||
3. 更好地组织代码结构
|
||||
4. 添加适当的文档字符串
|
||||
5. 移除AI生成痕迹
|
||||
|
||||
以下是`main.py`中需要修改的核心部分:
|
||||
|
||||
```python:main.py
|
||||
# 导入标准库
|
||||
import os
|
||||
import json
|
||||
import sqlite3
|
||||
import logging
|
||||
from datetime import datetime, timezone
|
||||
from logging.handlers import RotatingFileHandler
|
||||
|
||||
# 导入第三方库
|
||||
import requests
|
||||
from flask import Flask, render_template, request, redirect, url_for, session, make_response, send_from_directory, jsonify
|
||||
from flask import g
|
||||
from flask.views import MethodView
|
||||
from werkzeug.routing import BaseConverter
|
||||
|
||||
# 导入自定义模块
|
||||
from utils.login import login_quark
|
||||
from utils.tools import get_cnb_weburl
|
||||
from utils.detebase import CloudDriveDatabase
|
||||
|
||||
# 初始化应用
|
||||
app = Flask(__name__)
|
||||
app.jinja_env.auto_reload = True
|
||||
|
||||
# 日志设置
|
||||
if not os.path.exists('logs'):
|
||||
os.mkdir('logs')
|
||||
|
||||
# 使用RotatingFileHandler防止日志文件无限增长
|
||||
file_handler = RotatingFileHandler('logs/app.log', maxBytes=10240, backupCount=10)
|
||||
file_handler.setFormatter(logging.Formatter(
|
||||
'%(asctime)s %(levelname)s: %(message)s [in %(pathname)s:%(lineno)d]'
|
||||
))
|
||||
file_handler.setLevel(logging.INFO) # 设置为INFO级别捕获信息、警告和错误
|
||||
|
||||
app.logger.addHandler(file_handler)
|
||||
app.logger.setLevel(logging.INFO)
|
||||
app.logger.info('Flask应用启动')
|
||||
|
||||
# 数据库配置
|
||||
DATABASE = 'database.db'
|
||||
|
||||
def get_db():
|
||||
"""
|
||||
获取数据库连接
|
||||
|
||||
从Flask的全局对象g中获取数据库连接,确保在一个请求中只创建一个数据库连接
|
||||
"""
|
||||
db = getattr(g, '_database', None)
|
||||
if db is None:
|
||||
db = g._database = CloudDriveDatabase(DATABASE)
|
||||
db.row_factory = sqlite3.Row
|
||||
return db
|
||||
|
||||
# 定义数据库注入装饰器
|
||||
def inject_db(f):
|
||||
"""数据库注入装饰器,自动将数据库连接作为第一个参数传递给函数"""
|
||||
def decorated_function(*args, **kwargs):
|
||||
db = get_db()
|
||||
# 将db作为第一个参数传递
|
||||
return f(db, *args, **kwargs)
|
||||
return decorated_function
|
||||
|
||||
@app.teardown_appcontext
|
||||
def close_connection(exception):
|
||||
"""在请求结束时关闭数据库连接"""
|
||||
db = getattr(g, '_database', None)
|
||||
if db is not None:
|
||||
db.close()
|
||||
|
||||
# 自定义路由转换器
|
||||
class PhoneConverter(BaseConverter):
|
||||
"""手机号码格式转换器"""
|
||||
regex = '1[3-9]\d{9}'
|
||||
|
||||
class LiConverter(BaseConverter):
|
||||
"""列表转换器"""
|
||||
def to_python(self, value):
|
||||
return value.split("+")
|
||||
|
||||
# 注册自定义转换器
|
||||
app.url_map.converters["phone"] = PhoneConverter
|
||||
app.url_map.converters["li"] = LiConverter
|
||||
|
||||
@app.route("/", methods=["GET", "POST"])
|
||||
def index():
|
||||
"""网站首页"""
|
||||
return render_template('index.html')
|
||||
|
||||
@app.route('/profile/')
|
||||
def profile():
|
||||
"""个人中心页面,修正了原来的拼写错误(proflie)"""
|
||||
if request.args.get('name'):
|
||||
return '个人中心页面'
|
||||
else:
|
||||
return redirect(url_for('index'), code=302)
|
||||
|
||||
@app.route('/demo2')
|
||||
def demo2():
|
||||
"""响应示例页面"""
|
||||
resp = make_response('make response测试')
|
||||
resp.headers['itbaizhan'] = 'Python'
|
||||
resp.status = '404 not found'
|
||||
return resp
|
||||
```
|
||||
|
||||
我发现还有很多其他需要改进的地方,包括工具函数、API接口和数据库操作。您希望我继续完善主文件并创建一个标准的开源项目结构吗?
|
||||
|
||||
---
|
||||
|
||||
_**User**_
|
||||
|
||||
是的,完善整个项目
|
||||
|
||||
---
|
||||
|
||||
_**Assistant**_
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
我将帮您完善整个项目,使其符合开源标准。
|
||||
|
||||
---
|
||||
|
||||
```diff
|
||||
#falsk中重定向
|
||||
@app.route('/profile/')
|
||||
- def proflie():
|
||||
+ def profile():
|
||||
if request.args.get('name'):
|
||||
return '个人中心页面'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
Reference in New Issue
Block a user