podflow 20250315__py3-none-any.whl → 20250318__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- Podflow/httpfs/app_bottle.py +0 -1
- Podflow/main_podcast.py +10 -2
- Podflow/repair/reverse_log.py +6 -3
- Podflow/upload/linked_client.py +1 -4
- Podflow/upload/linked_server.py +3 -2
- Podflow/upload/login.py +91 -0
- {podflow-20250315.dist-info → podflow-20250318.dist-info}/METADATA +1 -1
- {podflow-20250315.dist-info → podflow-20250318.dist-info}/RECORD +11 -11
- {podflow-20250315.dist-info → podflow-20250318.dist-info}/WHEEL +0 -0
- {podflow-20250315.dist-info → podflow-20250318.dist-info}/entry_points.txt +0 -0
- {podflow-20250315.dist-info → podflow-20250318.dist-info}/top_level.txt +0 -0
Podflow/httpfs/app_bottle.py
CHANGED
Podflow/main_podcast.py
CHANGED
@@ -53,6 +53,7 @@ from Podflow.remove.remove_dir import remove_dir
|
|
53
53
|
from Podflow.youtube.build import print_fail_youtube
|
54
54
|
|
55
55
|
# 长期媒体进行上传模块
|
56
|
+
from Podflow.upload.login import login_upload
|
56
57
|
from Podflow.upload.add_upload import add_upload
|
57
58
|
from Podflow.upload.update_upload import update_upload
|
58
59
|
from Podflow.upload.linked_client import connect_upload_server
|
@@ -116,10 +117,17 @@ def main_podcast():
|
|
116
117
|
gVar.xmls_original, gVar.hash_rss_original, gVar.xmls_original_fail = (
|
117
118
|
get_original_rss()
|
118
119
|
)
|
120
|
+
# 连接上传服务器
|
121
|
+
upload_url = connect_upload_server()
|
122
|
+
# 登陆上传服务器
|
123
|
+
if upload_url:
|
124
|
+
upload_json = login_upload(upload_url)
|
125
|
+
if upload_json:
|
126
|
+
gVar.config["upload"] = False
|
127
|
+
else:
|
128
|
+
gVar.config["upload"] = False
|
119
129
|
# 初始化原始上传信息
|
120
130
|
get_upload_original()
|
121
|
-
# 连接上传服务器
|
122
|
-
connect_upload_server()
|
123
131
|
# 更新Youtube和哔哩哔哩频道xml
|
124
132
|
update_youtube_bilibili_rss()
|
125
133
|
# 判断是否有更新内容
|
Podflow/repair/reverse_log.py
CHANGED
@@ -2,13 +2,14 @@
|
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import re
|
5
|
+
from itertools import islice
|
5
6
|
from Podflow.basic.time_print import time_print
|
6
7
|
|
7
8
|
|
8
9
|
def reverse_log(filename):
|
9
10
|
try:
|
10
11
|
with open(f"{filename}.log", "r", encoding="utf-8") as file:
|
11
|
-
lines = file
|
12
|
+
lines = list(islice(file, 10))
|
12
13
|
except Exception:
|
13
14
|
return
|
14
15
|
num = 0
|
@@ -24,8 +25,10 @@ def reverse_log(filename):
|
|
24
25
|
while not date_time(end_num):
|
25
26
|
end_num -= 1
|
26
27
|
if end_num > num and lines[num][:19] > lines[end_num][:19]:
|
27
|
-
|
28
|
-
|
28
|
+
with open(f"{filename}.log", "r", encoding="utf-8") as file:
|
29
|
+
lines = file.readlines()
|
30
|
+
# 反转行的顺序
|
31
|
+
reversed_lines = lines[::-1]
|
29
32
|
with open(f"{filename}.log", "w", encoding="utf-8") as file:
|
30
33
|
file.writelines(reversed_lines)
|
31
34
|
time_print(f"{filename}.log反转成功")
|
Podflow/upload/linked_client.py
CHANGED
Podflow/upload/linked_server.py
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import socket
|
5
|
+
from Podflow.basic.write_log import write_log
|
5
6
|
from Podflow.basic.time_print import time_print
|
6
7
|
from Podflow.httpfs.port_judge import port_judge
|
7
8
|
from Podflow.upload.time_key import check_time_key
|
@@ -45,11 +46,11 @@ def handle_discovery(broadcast_port, service_port):
|
|
45
46
|
# 检查消息是否包含时间关键字
|
46
47
|
if check_time_key(data ,"PODFLOW_DISCOVER_SERVER_REQUEST"):
|
47
48
|
# 打印接收到的发现请求成功
|
48
|
-
|
49
|
+
write_log(f"来自{addr[0]}的发现请求\033[32m成功\033[0m")
|
49
50
|
# 构造响应消息
|
50
51
|
response = f"PODFLOW_SERVER_INFO|{service_port}".encode()
|
51
52
|
# 发送响应消息
|
52
53
|
sock.sendto(response, addr)
|
53
54
|
else:
|
54
55
|
# 打印接收到的发现请求失败
|
55
|
-
|
56
|
+
write_log(f"来自{addr[0]}的发现请求\033[31m失败\033[0m")
|
Podflow/upload/login.py
CHANGED
@@ -6,7 +6,11 @@ import json
|
|
6
6
|
import uuid
|
7
7
|
import hashlib
|
8
8
|
from Podflow import gVar
|
9
|
+
from Podflow.upload.time_key import time_key
|
9
10
|
from Podflow.basic.file_save import file_save
|
11
|
+
from Podflow.basic.write_log import write_log
|
12
|
+
from Podflow.basic.time_print import time_print
|
13
|
+
from Podflow.basic.http_client import http_client
|
10
14
|
|
11
15
|
|
12
16
|
def get_login():
|
@@ -26,3 +30,90 @@ def create():
|
|
26
30
|
gVar.upload_data[new_username] = new_password
|
27
31
|
file_save(gVar.upload_data, "upload_login.json", "channel_data")
|
28
32
|
return new_username, new_password
|
33
|
+
|
34
|
+
|
35
|
+
def get_account(url):
|
36
|
+
url = f"{url}/newuser"
|
37
|
+
token = time_key(
|
38
|
+
"We need to generate an account password for uploading non one-time items that need to be saved."
|
39
|
+
)
|
40
|
+
data = {"token": token}
|
41
|
+
if response := http_client(
|
42
|
+
url=url,
|
43
|
+
name="获取上传服务账号密码",
|
44
|
+
data=data,
|
45
|
+
):
|
46
|
+
return response.json()
|
47
|
+
|
48
|
+
|
49
|
+
def login(url, username, password):
|
50
|
+
url = f"{url}/login"
|
51
|
+
data = {
|
52
|
+
"username": username,
|
53
|
+
"password": password,
|
54
|
+
}
|
55
|
+
if response := http_client(
|
56
|
+
url=url,
|
57
|
+
name="登陆上传服务",
|
58
|
+
data=data,
|
59
|
+
):
|
60
|
+
return response.json()
|
61
|
+
|
62
|
+
|
63
|
+
def login_upload(url):
|
64
|
+
try:
|
65
|
+
# 尝试打开并读取 JSON 文件
|
66
|
+
with open("channel_data/upload_data.json", "r") as file:
|
67
|
+
upload_json = file.read()
|
68
|
+
upload_json = json.loads(
|
69
|
+
upload_json
|
70
|
+
)
|
71
|
+
except Exception:
|
72
|
+
upload_json = {}
|
73
|
+
if "username" not in upload_json:
|
74
|
+
write_log("上传服务账号密码不存在")
|
75
|
+
time_print("获取上传服务账号密码...")
|
76
|
+
account_data = get_account(url)
|
77
|
+
if "code" in account_data:
|
78
|
+
if account_data["code"] == 0:
|
79
|
+
write_log("账号密码获取\033[32m成功\033[0m")
|
80
|
+
username = account_data["data"]["username"]
|
81
|
+
password = account_data["data"]["password"]
|
82
|
+
upload_json = {
|
83
|
+
"username": username,
|
84
|
+
"password": password,
|
85
|
+
}
|
86
|
+
file_save(upload_json, "upload_data.json", "channel_data")
|
87
|
+
return upload_json
|
88
|
+
elif account_data["code"] == -1:
|
89
|
+
write_log("账号密码获取\033[31m失败\033[0m: 认证失败")
|
90
|
+
return
|
91
|
+
else:
|
92
|
+
write_log("账号密码获取\033[31m失败\033[0m")
|
93
|
+
return
|
94
|
+
else:
|
95
|
+
write_log("账号密码获取\033[31m失败\033[0m: 无法连接")
|
96
|
+
return
|
97
|
+
else:
|
98
|
+
username = upload_json["username"]
|
99
|
+
password = upload_json.get("password", "")
|
100
|
+
login_data = login(url, username, password)
|
101
|
+
if "code" in login_data:
|
102
|
+
if login_data["code"] == 0:
|
103
|
+
time_print("登陆上传服务\033[32m成功\033[0m")
|
104
|
+
return upload_json
|
105
|
+
elif login_data["code"] == -1:
|
106
|
+
write_log("登陆上传服务\033[31m失败\033[0m: 认证失败")
|
107
|
+
return
|
108
|
+
elif login_data["code"] == -2:
|
109
|
+
write_log("登陆上传服务\033[31m失败\033[0m: 账号错误")
|
110
|
+
return
|
111
|
+
elif login_data["code"] == -3:
|
112
|
+
write_log("登陆上传服务\033[31m失败\033[0m: 密码错误")
|
113
|
+
return
|
114
|
+
else:
|
115
|
+
write_log("登陆上传服务\033[31m失败\033[0m")
|
116
|
+
return
|
117
|
+
else:
|
118
|
+
write_log("登陆上传服务\033[31m失败\033[0m: 无法连接")
|
119
|
+
return
|
@@ -2,7 +2,7 @@ Podflow/__init__.py,sha256=-TdRoLAAMAPVNx2S2qSWR2vN-ZRD8wsEjZR4X1-7U1Q,6964
|
|
2
2
|
Podflow/download_and_build.py,sha256=LeLjLHnF5N9vdrroDsB-mT4UKY2OwPSL3APUAkhTuwc,671
|
3
3
|
Podflow/ffmpeg_judge.py,sha256=krttVs1PDot_0CDq5rmtUIpchiaiqtAkPYFQRLG6OQM,1275
|
4
4
|
Podflow/main.py,sha256=tevbRqCDPuIrKuViI1Zm2lfdfjushYd7Nai6xZCGF4k,739
|
5
|
-
Podflow/main_podcast.py,sha256=
|
5
|
+
Podflow/main_podcast.py,sha256=O9wS_5gxC3Akl09z3nN1kp1nJGQOL93D2qhYKk06XeM,8750
|
6
6
|
Podflow/main_upload.py,sha256=9FoIEO7kRwGwyyF-KKKEz5vRO9vE9_ab2VE6xTMroeM,2296
|
7
7
|
Podflow/parse_arguments.py,sha256=H2OXiOIHUuEUKOD0fk3zt_m1VsorGkL0eTcvx4N_C3Y,2441
|
8
8
|
Podflow/basic/__init__.py,sha256=SyFA_F_0-zn1VejCL83IPeZx1k2HCiqNY-0l0bp1N88,44
|
@@ -40,7 +40,7 @@ Podflow/download/show_progress.py,sha256=7oGzhj_frO2A1o5JeGuHn7bHtma5oPpD_IWcctI
|
|
40
40
|
Podflow/download/wait_animation.py,sha256=E2V3cm-10e5Iif40oU722OfzDe7YiLMbDqsjZ6dshBE,1056
|
41
41
|
Podflow/download/youtube_and_bilibili_download.py,sha256=0uuEO2ybyLlg9uOButjqFvmIkCfq6xiQ7QLV2_u4c_M,1294
|
42
42
|
Podflow/httpfs/__init__.py,sha256=agnAtd2Xe0qfOrElKgoBattAVqUBdj79wU2e2UOpcJM,45
|
43
|
-
Podflow/httpfs/app_bottle.py,sha256=
|
43
|
+
Podflow/httpfs/app_bottle.py,sha256=190_gqxM-VBRTmB5Xecb0a1LnIbuzfPI8Zoec2QhtwE,11415
|
44
44
|
Podflow/httpfs/port_judge.py,sha256=RrBTxD6lXHbkfiDMu69-EUv0kbflfu1HpPfpB5Wz3MU,764
|
45
45
|
Podflow/makeup/__init__.py,sha256=HaBchKbUjRqqXSGCkMfEqLOyx3tlqB2htXvTDs59owI,45
|
46
46
|
Podflow/makeup/del_makeup_format_fail.py,sha256=rUSJD5lXMBM5pCde1amrtF6s93MMHp66-NHCXZy56AI,642
|
@@ -76,21 +76,21 @@ Podflow/remove/__init__.py,sha256=kns-jfTXH8lXh9OQ5E5-llsrAPlET5rl6RYpjoZKav8,45
|
|
76
76
|
Podflow/remove/remove_dir.py,sha256=tah3LCD0bCcf5dDg3NrHuseaje3-31C5NLNupMg15TU,1099
|
77
77
|
Podflow/remove/remove_file.py,sha256=ACO2iK8RAZKGJ08uABbzGwu5-B0RLklQ-EOOkSuPFiU,982
|
78
78
|
Podflow/repair/__init__.py,sha256=sfrjrUGdBuCri8x51oassbkHJMDqmEp0MMZHodMxYNM,45
|
79
|
-
Podflow/repair/reverse_log.py,sha256=
|
79
|
+
Podflow/repair/reverse_log.py,sha256=LNzpYEYsLvNkhMkhwzhmVIavD9rplcDmcBgR8t8DC-w,1106
|
80
80
|
Podflow/upload/__init__.py,sha256=9uOIL8vr_vP_XYrhfZ4IDZmfSGyCf0_MpLOc-KnbpSY,45
|
81
81
|
Podflow/upload/add_upload.py,sha256=8kxHDLFa225WFze3oTPNtOWbcECF--bQXuALfsRJLoo,1432
|
82
82
|
Podflow/upload/get_upload_original.py,sha256=h2aoutZ-po40N8auRDbKvse14261Y5H7vHgfAN23vV0,4358
|
83
|
-
Podflow/upload/linked_client.py,sha256=
|
84
|
-
Podflow/upload/linked_server.py,sha256=
|
85
|
-
Podflow/upload/login.py,sha256=
|
83
|
+
Podflow/upload/linked_client.py,sha256=P-6mvHFO4C4wppb75cHzgBswVeNktfxz7uZTSXqzTdo,3193
|
84
|
+
Podflow/upload/linked_server.py,sha256=_upOctwNxg7p82tDK1qIuMO8CTZiYoB6dI4wZ3G4A98,2308
|
85
|
+
Podflow/upload/login.py,sha256=8BciQddfs7xfmVl5PWYC54-TEt52NjPw3kU-ksFgfV8,4007
|
86
86
|
Podflow/upload/time_key.py,sha256=aR6xVe9x7ry8dKSHKoFLSUIfor2CoCuv8N9NRmsnUVo,967
|
87
87
|
Podflow/upload/update_upload.py,sha256=4B5HyWwfmc_4Z5ZS_Wt2VcL6sgQFvq3JEl0Qubh7TwE,3183
|
88
88
|
Podflow/youtube/__init__.py,sha256=-bdMyuw-wxoz2miVkp284amS4Qg0k7VN0JPuGF-cXlM,46
|
89
89
|
Podflow/youtube/build.py,sha256=o6gld4qMph7UKq9pdO2E4dmtOA8brCK4sa_-vKEtYMM,12006
|
90
90
|
Podflow/youtube/get.py,sha256=dFLyiHttygqdJltwC29jD_v8wwoLynE5NUdow_0wERI,16970
|
91
91
|
Podflow/youtube/login.py,sha256=DlS_ZG4g6CKWqS5ojE4UwFJSCSZDsXbeuDVgHtQAa4A,1380
|
92
|
-
podflow-
|
93
|
-
podflow-
|
94
|
-
podflow-
|
95
|
-
podflow-
|
96
|
-
podflow-
|
92
|
+
podflow-20250318.dist-info/METADATA,sha256=B90P97zSINoC0OD2qRBtLf9juVPT3dfxNlq4IeVmlc0,14030
|
93
|
+
podflow-20250318.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
94
|
+
podflow-20250318.dist-info/entry_points.txt,sha256=44nj8jJB7bo1JLNrKQZmwMGEA1OalrALJ0tF_G0yXLY,131
|
95
|
+
podflow-20250318.dist-info/top_level.txt,sha256=KcvRCiz_DRWWc9i-PgpARvFB0J4CKmpZOZgPqOdG-Lk,8
|
96
|
+
podflow-20250318.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|