Update app.py
Browse files
app.py
CHANGED
|
@@ -79,8 +79,65 @@ def is_cached(media_type, tmdb_id):
|
|
| 79 |
return row is not None
|
| 80 |
|
| 81 |
def detect_pan_type(text):
|
|
|
|
|
|
|
| 82 |
if not text:
|
| 83 |
return 'unknown'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
t = str(text).lower()
|
| 85 |
if 'pan.baidu.com' in t or 'baidu.com/s/' in t or '百度网盘' in t or '百度云' in t:
|
| 86 |
return 'baidu'
|
|
@@ -1356,46 +1413,12 @@ HTML_TEMPLATE = r"""<!DOCTYPE html>
|
|
| 1356 |
if __name__ == '__main__':
|
| 1357 |
app.run(host='0.0.0.0', port=7860)
|
| 1358 |
|
| 1359 |
-
#
|
| 1360 |
-
|
| 1361 |
-
|
| 1362 |
-
|
| 1363 |
-
|
| 1364 |
-
|
| 1365 |
-
|
| 1366 |
-
|
| 1367 |
-
|
| 1368 |
-
'115': [
|
| 1369 |
-
'115.com',
|
| 1370 |
-
'115cdn.com',
|
| 1371 |
-
'anxia.com',
|
| 1372 |
-
'v.anxia.com'
|
| 1373 |
-
],
|
| 1374 |
-
|
| 1375 |
-
'baidu': [
|
| 1376 |
-
'pan.baidu.com',
|
| 1377 |
-
'百度网盘'
|
| 1378 |
-
],
|
| 1379 |
-
|
| 1380 |
-
'aliyun': [
|
| 1381 |
-
'alipan.com',
|
| 1382 |
-
'aliyundrive.com'
|
| 1383 |
-
],
|
| 1384 |
-
|
| 1385 |
-
'quark': [
|
| 1386 |
-
'pan.quark.cn'
|
| 1387 |
-
],
|
| 1388 |
-
|
| 1389 |
-
'uc': [
|
| 1390 |
-
'drive.uc.cn'
|
| 1391 |
-
]
|
| 1392 |
-
}
|
| 1393 |
-
|
| 1394 |
-
for k, arr in PAN_RULES.items():
|
| 1395 |
-
if any(x in t for x in arr):
|
| 1396 |
-
return k
|
| 1397 |
-
|
| 1398 |
-
if 'magnet:' in t or 'ed2k://' in t:
|
| 1399 |
-
return 'magnet'
|
| 1400 |
-
|
| 1401 |
-
return 'unknown'
|
|
|
|
| 79 |
return row is not None
|
| 80 |
|
| 81 |
def detect_pan_type(text):
|
| 82 |
+
"""增强版网盘识别"""
|
| 83 |
+
|
| 84 |
if not text:
|
| 85 |
return 'unknown'
|
| 86 |
+
|
| 87 |
+
t = str(text).lower().strip()
|
| 88 |
+
|
| 89 |
+
PAN_RULES = {
|
| 90 |
+
'115': [
|
| 91 |
+
'115.com',
|
| 92 |
+
'115cdn.com',
|
| 93 |
+
'anxia.com',
|
| 94 |
+
'v.anxia.com'
|
| 95 |
+
],
|
| 96 |
+
|
| 97 |
+
'baidu': [
|
| 98 |
+
'pan.baidu.com',
|
| 99 |
+
'百度网盘'
|
| 100 |
+
],
|
| 101 |
+
|
| 102 |
+
'aliyun': [
|
| 103 |
+
'alipan.com',
|
| 104 |
+
'aliyundrive.com'
|
| 105 |
+
],
|
| 106 |
+
|
| 107 |
+
'quark': [
|
| 108 |
+
'pan.quark.cn'
|
| 109 |
+
],
|
| 110 |
+
|
| 111 |
+
'uc': [
|
| 112 |
+
'drive.uc.cn'
|
| 113 |
+
],
|
| 114 |
+
|
| 115 |
+
'tianyi': [
|
| 116 |
+
'cloud.189.cn'
|
| 117 |
+
],
|
| 118 |
+
|
| 119 |
+
'123pan': [
|
| 120 |
+
'123684.com',
|
| 121 |
+
'123865.com'
|
| 122 |
+
],
|
| 123 |
+
|
| 124 |
+
'lanzou': [
|
| 125 |
+
'lanzou'
|
| 126 |
+
],
|
| 127 |
+
|
| 128 |
+
'pikpak': [
|
| 129 |
+
'pikpak.me'
|
| 130 |
+
]
|
| 131 |
+
}
|
| 132 |
+
|
| 133 |
+
for k, arr in PAN_RULES.items():
|
| 134 |
+
if any(x in t for x in arr):
|
| 135 |
+
return k
|
| 136 |
+
|
| 137 |
+
if 'magnet:' in t or 'ed2k://' in t:
|
| 138 |
+
return 'magnet'
|
| 139 |
+
|
| 140 |
+
return 'unknown'
|
| 141 |
t = str(text).lower()
|
| 142 |
if 'pan.baidu.com' in t or 'baidu.com/s/' in t or '百度网盘' in t or '百度云' in t:
|
| 143 |
return 'baidu'
|
|
|
|
| 1413 |
if __name__ == '__main__':
|
| 1414 |
app.run(host='0.0.0.0', port=7860)
|
| 1415 |
|
| 1416 |
+
# SQLite WAL 优化
|
| 1417 |
+
try:
|
| 1418 |
+
conn = sqlite3.connect(DB_PATH)
|
| 1419 |
+
conn.execute("PRAGMA journal_mode=WAL")
|
| 1420 |
+
conn.execute("PRAGMA synchronous=NORMAL")
|
| 1421 |
+
conn.close()
|
| 1422 |
+
print("✅ SQLite WAL 已启用")
|
| 1423 |
+
except Exception as e:
|
| 1424 |
+
print("WAL 初始化失败:", e)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|