podflow 20250325__py3-none-any.whl → 20250326.1__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/__init__.py +1 -1
- Podflow/basic/__init__.py +1 -1
- Podflow/basic/file_save.py +1 -1
- Podflow/basic/folder_build.py +2 -2
- Podflow/basic/get_duration.py +2 -2
- Podflow/basic/get_file_list.py +2 -2
- Podflow/basic/get_html_dict.py +2 -2
- Podflow/basic/http_client.py +1 -1
- Podflow/basic/list_merge_tidy.py +1 -1
- Podflow/basic/qr_code.py +1 -1
- Podflow/basic/split_dict.py +1 -1
- Podflow/basic/time_format.py +1 -1
- Podflow/basic/time_print.py +1 -1
- Podflow/basic/time_stamp.py +2 -2
- Podflow/basic/vary_replace.py +1 -1
- Podflow/basic/write_log.py +1 -1
- Podflow/bilibili/__init__.py +1 -1
- Podflow/bilibili/build.py +9 -9
- Podflow/bilibili/get.py +5 -5
- Podflow/bilibili/login.py +7 -7
- Podflow/config/__init__.py +1 -1
- Podflow/config/build_original.py +8 -8
- Podflow/config/channge_icon.py +4 -4
- Podflow/config/correct_channelid.py +3 -3
- Podflow/config/correct_config.py +2 -2
- Podflow/config/get_channelid.py +3 -3
- Podflow/config/get_channelid_id.py +1 -1
- Podflow/config/get_config.py +3 -3
- Podflow/download/__init__.py +1 -1
- Podflow/download/convert_bytes.py +1 -1
- Podflow/download/delete_part.py +2 -2
- Podflow/download/dl_aideo_video.py +6 -6
- Podflow/download/show_progress.py +3 -3
- Podflow/download/wait_animation.py +1 -1
- Podflow/download/youtube_and_bilibili_download.py +4 -4
- Podflow/download_and_build.py +4 -4
- Podflow/ffmpeg_judge.py +2 -2
- Podflow/httpfs/__init__.py +1 -1
- Podflow/httpfs/app_bottle.py +9 -9
- Podflow/httpfs/browser.py +1 -1
- Podflow/httpfs/get_channelid.py +2 -2
- Podflow/httpfs/html.py +1 -1
- Podflow/httpfs/port_judge.py +1 -1
- Podflow/main.py +6 -6
- Podflow/main_podcast.py +32 -32
- Podflow/main_upload.py +6 -6
- Podflow/makeup/__init__.py +1 -1
- Podflow/makeup/del_makeup_format_fail.py +2 -2
- Podflow/makeup/make_up_file.py +2 -2
- Podflow/makeup/make_up_file_format_mod.py +4 -4
- Podflow/makeup/make_up_file_mod.py +4 -4
- Podflow/message/__init__.py +1 -1
- Podflow/message/backup_zip_save.py +4 -4
- Podflow/message/create_main_rss.py +5 -5
- Podflow/message/display_qrcode_and_url.py +3 -3
- Podflow/message/fail_message_initialize.py +1 -1
- Podflow/message/format_time.py +1 -1
- Podflow/message/get_media_name.py +1 -1
- Podflow/message/get_original_rss.py +2 -2
- Podflow/message/get_video_format.py +6 -6
- Podflow/message/get_video_format_multithread.py +3 -3
- Podflow/message/get_youtube_and_bilibili_video_format.py +50 -34
- Podflow/message/media_format.py +2 -2
- Podflow/message/original_rss_fail_print.py +3 -3
- Podflow/message/rss_create_hash.py +1 -1
- Podflow/message/save_rss.py +8 -8
- Podflow/message/title_correction.py +1 -1
- Podflow/message/update_information_display.py +2 -2
- Podflow/message/update_youtube_bilibili_rss.py +7 -7
- Podflow/message/want_retry.py +1 -1
- Podflow/message/xml_item.py +5 -5
- Podflow/message/xml_original_item.py +3 -3
- Podflow/message/xml_rss.py +1 -1
- Podflow/netscape/__init__.py +1 -1
- Podflow/netscape/bulid_netscape.py +2 -2
- Podflow/netscape/get_cookie_dict.py +1 -1
- Podflow/parse_arguments.py +2 -2
- Podflow/remove/__init__.py +1 -1
- Podflow/remove/remove_dir.py +3 -3
- Podflow/remove/remove_file.py +3 -3
- Podflow/repair/__init__.py +1 -1
- Podflow/repair/reverse_log.py +2 -2
- Podflow/upload/__init__.py +1 -1
- Podflow/upload/add_upload.py +2 -2
- Podflow/upload/build_hash.py +1 -1
- Podflow/upload/get_upload_original.py +5 -5
- Podflow/upload/linked_client.py +4 -4
- Podflow/upload/linked_server.py +5 -5
- Podflow/upload/login.py +7 -7
- Podflow/upload/time_key.py +1 -1
- Podflow/upload/update_upload.py +4 -4
- Podflow/upload/upload_server.py +1 -1
- Podflow/youtube/__init__.py +1 -1
- Podflow/youtube/build.py +8 -8
- Podflow/youtube/get.py +6 -6
- Podflow/youtube/login.py +4 -4
- {podflow-20250325.dist-info → podflow-20250326.1.dist-info}/METADATA +2 -2
- podflow-20250326.1.dist-info/RECORD +101 -0
- podflow-20250326.1.dist-info/entry_points.txt +6 -0
- podflow-20250325.dist-info/RECORD +0 -101
- podflow-20250325.dist-info/entry_points.txt +0 -6
- {podflow-20250325.dist-info → podflow-20250326.1.dist-info}/WHEEL +0 -0
- {podflow-20250325.dist-info → podflow-20250326.1.dist-info}/top_level.txt +0 -0
Podflow/main_upload.py
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
#
|
1
|
+
# podflow/main_upload.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import sys
|
5
5
|
import cherrypy
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from
|
9
|
-
from
|
10
|
-
from
|
6
|
+
from podflow.upload.login import get_login
|
7
|
+
from podflow.basic.time_print import time_print
|
8
|
+
from podflow.basic.folder_build import folder_build
|
9
|
+
from podflow.httpfs.app_bottle import bottle_app_instance
|
10
|
+
from podflow.upload.linked_server import handle_discovery, usable_port
|
11
11
|
|
12
12
|
|
13
13
|
def main_upload():
|
Podflow/makeup/__init__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
#
|
1
|
+
# podflow/makeup/__init__.py
|
2
2
|
# coding: utf-8
|
Podflow/makeup/make_up_file.py
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
#
|
1
|
+
# podflow/makeup/make_up_file_format_mod.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import threading
|
5
5
|
from datetime import datetime
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from
|
6
|
+
from podflow import gVar
|
7
|
+
from podflow.basic.write_log import write_log
|
8
|
+
from podflow.message.media_format import media_format
|
9
9
|
|
10
10
|
|
11
11
|
def makeup_format(video_id, makeup_format_lock):
|
@@ -1,10 +1,10 @@
|
|
1
|
-
#
|
1
|
+
# podflow/makeup/make_up_file_mod.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import os
|
5
|
-
from
|
6
|
-
from
|
7
|
-
from
|
5
|
+
from podflow import gVar
|
6
|
+
from podflow.basic.write_log import write_log
|
7
|
+
from podflow.download.dl_aideo_video import dl_aideo_video
|
8
8
|
|
9
9
|
|
10
10
|
# 下载补全Youtube和哔哩哔哩视频模块
|
Podflow/message/__init__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
#
|
1
|
+
# podflow/message/__init__.py
|
2
2
|
# coding: utf-8
|
@@ -1,11 +1,11 @@
|
|
1
|
-
#
|
1
|
+
# podflow/message/backup_zip_save.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import zipfile
|
5
5
|
from datetime import datetime
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from
|
6
|
+
from podflow import gVar
|
7
|
+
from podflow.basic.write_log import write_log
|
8
|
+
from podflow.message.rss_create_hash import rss_create_hash
|
9
9
|
|
10
10
|
|
11
11
|
# xml备份保存模块
|
@@ -1,11 +1,11 @@
|
|
1
|
-
#
|
1
|
+
# podflow/message/create_main_rss.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import time
|
5
|
-
from
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from
|
5
|
+
from podflow import gVar
|
6
|
+
from podflow.youtube.build import youtube_xml_items
|
7
|
+
from podflow.bilibili.build import bilibili_xml_items
|
8
|
+
from podflow.message.get_media_name import get_media_name
|
9
9
|
|
10
10
|
|
11
11
|
def update_output_dir():
|
@@ -1,9 +1,9 @@
|
|
1
|
-
#
|
1
|
+
# podflow/message/display_qrcode_and_url.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
from datetime import datetime
|
5
|
-
from
|
6
|
-
from
|
5
|
+
from podflow import gVar
|
6
|
+
from podflow.basic.qr_code import qr_code
|
7
7
|
|
8
8
|
|
9
9
|
# 显示网址及二维码模块
|
Podflow/message/format_time.py
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
#
|
1
|
+
# podflow/message/get_video_format.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
|
-
from
|
5
|
-
from
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from
|
4
|
+
from podflow import gVar
|
5
|
+
from podflow.basic.write_log import write_log
|
6
|
+
from podflow.basic.split_dict import split_dict
|
7
|
+
from podflow.message.want_retry import want_retry
|
8
|
+
from podflow.message.get_video_format_multithread import get_video_format_multithread
|
9
9
|
|
10
10
|
|
11
11
|
def get_youtube_format_front(ytid_content_update, backward_update):
|
@@ -1,9 +1,9 @@
|
|
1
|
-
#
|
1
|
+
# podflow/message/get_video_format_multithread.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import threading
|
5
|
-
from
|
6
|
-
from
|
5
|
+
from podflow.download.wait_animation import wait_animation
|
6
|
+
from podflow.message.get_youtube_and_bilibili_video_format import (
|
7
7
|
get_youtube_and_bilibili_video_format,
|
8
8
|
)
|
9
9
|
|
@@ -1,53 +1,67 @@
|
|
1
|
-
#
|
1
|
+
# podflow/message/get_youtube_and_bilibili_video_format.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
|
-
from
|
5
|
-
from
|
6
|
-
from
|
4
|
+
from podflow import gVar
|
5
|
+
from podflow.basic.write_log import write_log
|
6
|
+
from podflow.message.media_format import media_format
|
7
7
|
|
8
8
|
|
9
9
|
def one_format(id_update_format, id_num):
|
10
10
|
entry_id_update_format = id_update_format[0]
|
11
11
|
gVar.video_id_update_format[id_num]["url"] = entry_id_update_format["url"]
|
12
|
-
gVar.video_id_update_format[id_num]["format"] = entry_id_update_format[
|
12
|
+
gVar.video_id_update_format[id_num]["format"] = entry_id_update_format[
|
13
|
+
"duration_and_id"
|
14
|
+
]
|
13
15
|
gVar.video_id_update_format[id_num]["title"] = entry_id_update_format["title"]
|
14
|
-
gVar.video_id_update_format[id_num]["timestamp"] = entry_id_update_format[
|
15
|
-
|
16
|
+
gVar.video_id_update_format[id_num]["timestamp"] = entry_id_update_format[
|
17
|
+
"timestamp"
|
18
|
+
]
|
19
|
+
gVar.video_id_update_format[id_num]["description"] = entry_id_update_format[
|
20
|
+
"description"
|
21
|
+
]
|
16
22
|
gVar.video_id_update_format[id_num]["main"] = id_num
|
17
23
|
gVar.video_id_update_format[id_num]["image"] = entry_id_update_format["image"]
|
18
24
|
gVar.video_id_update_format[id_num]["download"] = entry_id_update_format["download"]
|
19
25
|
|
20
26
|
|
21
27
|
# YouTube&哔哩哔哩视频信息模块
|
22
|
-
def get_youtube_and_bilibili_video_format(
|
28
|
+
def get_youtube_and_bilibili_video_format(
|
29
|
+
id_num, stop_flag, video_format_lock, prepare_animation
|
30
|
+
):
|
31
|
+
url = gVar.video_id_update_format[id_num]["url"]
|
32
|
+
media = gVar.video_id_update_format[id_num]["media"]
|
33
|
+
quality = gVar.video_id_update_format[id_num]["quality"]
|
23
34
|
id_update_format = media_format(
|
24
|
-
|
35
|
+
url,
|
25
36
|
id_num,
|
26
|
-
|
27
|
-
|
37
|
+
media,
|
38
|
+
quality,
|
28
39
|
gVar.video_id_update_format[id_num]["cookie"],
|
29
40
|
)
|
30
|
-
|
31
|
-
|
32
|
-
if
|
33
|
-
gVar.
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
41
|
+
if "youtube" in url:
|
42
|
+
for fail_info in ["年龄限制", "需登录", "请求拒绝", "无法获取音频ID"]:
|
43
|
+
if fail_info in id_update_format:
|
44
|
+
if gVar.youtube_cookie:
|
45
|
+
gVar.video_id_update_format[id_num][
|
46
|
+
"cookie"
|
47
|
+
] = "channel_data/yt_dlp_youtube.txt"
|
48
|
+
id_update_format = media_format(
|
49
|
+
url,
|
50
|
+
id_num,
|
51
|
+
media,
|
52
|
+
quality,
|
53
|
+
gVar.video_id_update_format[id_num]["cookie"],
|
54
|
+
)
|
55
|
+
if fail_info in id_update_format:
|
56
|
+
id_update_format = f"\x1b[31m{fail_info}\x1b[0m(Cookies错误)"
|
57
|
+
else:
|
58
|
+
id_update_format = f"\x1b[31m{fail_info}\x1b[0m(需要Cookies)"
|
59
|
+
break
|
60
|
+
else:
|
61
|
+
if gVar.video_id_update_format[id_num]["power"] is True and (
|
62
|
+
"试看" in id_update_format or id_update_format == "无法获取音频ID"
|
49
63
|
):
|
50
|
-
|
64
|
+
id_update_format = "\x1b[31m充电专属\x1b[0m"
|
51
65
|
if isinstance(id_update_format, list):
|
52
66
|
if len(id_update_format) == 1:
|
53
67
|
one_format(id_update_format, id_num)
|
@@ -58,8 +72,8 @@ def get_youtube_and_bilibili_video_format(id_num, stop_flag, video_format_lock,
|
|
58
72
|
entrys_id.append(entry_id)
|
59
73
|
gVar.video_id_update_format[entry_id] = {
|
60
74
|
"id": gVar.video_id_update_format[id_num]["id"],
|
61
|
-
"media":
|
62
|
-
"quality":
|
75
|
+
"media": media,
|
76
|
+
"quality": quality,
|
63
77
|
"url": entry_id_update_format["url"],
|
64
78
|
"name": gVar.video_id_update_format[id_num]["name"],
|
65
79
|
"cookie": gVar.video_id_update_format[id_num]["cookie"],
|
@@ -70,7 +84,9 @@ def get_youtube_and_bilibili_video_format(id_num, stop_flag, video_format_lock,
|
|
70
84
|
"main": id_num,
|
71
85
|
"image": entry_id_update_format["image"],
|
72
86
|
"download": entry_id_update_format["download"],
|
73
|
-
"backward_update": gVar.video_id_update_format[id_num][
|
87
|
+
"backward_update": gVar.video_id_update_format[id_num][
|
88
|
+
"backward_update"
|
89
|
+
],
|
74
90
|
}
|
75
91
|
gVar.video_id_update_format[id_num] = entrys_id
|
76
92
|
else:
|
Podflow/message/media_format.py
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
#
|
1
|
+
# podflow/message/media_format.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import yt_dlp
|
5
|
-
from
|
5
|
+
from podflow.message.fail_message_initialize import fail_message_initialize
|
6
6
|
|
7
7
|
|
8
8
|
class MyLogger:
|
@@ -1,8 +1,8 @@
|
|
1
|
-
#
|
1
|
+
# podflow/message/original_rss_fail_print.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
|
-
from
|
5
|
-
from
|
4
|
+
from podflow import gVar
|
5
|
+
from podflow.basic.write_log import write_log
|
6
6
|
|
7
7
|
|
8
8
|
# 打印无法保留原节目信息模块
|
Podflow/message/save_rss.py
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
#
|
1
|
+
# podflow/message/save_rss.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
|
-
from
|
5
|
-
from
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from
|
9
|
-
from
|
10
|
-
from
|
4
|
+
from podflow import gVar
|
5
|
+
from podflow.basic.qr_code import qr_code
|
6
|
+
from podflow.message.xml_rss import xml_rss
|
7
|
+
from podflow.basic.file_save import file_save
|
8
|
+
from podflow.basic.write_log import write_log
|
9
|
+
from podflow.message.backup_zip_save import backup_zip_save
|
10
|
+
from podflow.message.display_qrcode_and_url import display_qrcode_and_url
|
11
11
|
|
12
12
|
|
13
13
|
# 保存rss文件模块
|
@@ -1,14 +1,14 @@
|
|
1
|
-
#
|
1
|
+
# podflow/message/update_youtube_bilibili_rss.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import re
|
5
5
|
import threading
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from
|
9
|
-
from
|
10
|
-
from
|
11
|
-
from
|
6
|
+
from podflow import gVar
|
7
|
+
from podflow.basic.file_save import file_save
|
8
|
+
from podflow.basic.write_log import write_log
|
9
|
+
from podflow.youtube.get import youtube_rss_update
|
10
|
+
from podflow.basic.folder_build import folder_build
|
11
|
+
from podflow.bilibili.get import bilibili_rss_update
|
12
12
|
|
13
13
|
|
14
14
|
# 更新Youtube和哔哩哔哩频道xml多线程模块
|
Podflow/message/want_retry.py
CHANGED
Podflow/message/xml_item.py
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
#
|
1
|
+
# podflow/message/xml_item.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import os
|
5
5
|
import html
|
6
6
|
import hashlib
|
7
|
-
from
|
8
|
-
from
|
9
|
-
from
|
10
|
-
from
|
7
|
+
from podflow.message.title_correction import title_correction
|
8
|
+
from podflow.basic.time_format import time_format
|
9
|
+
from podflow.basic.get_duration import get_duration
|
10
|
+
from podflow import gVar
|
11
11
|
|
12
12
|
|
13
13
|
# 生成item模块
|
@@ -1,11 +1,11 @@
|
|
1
|
-
#
|
1
|
+
# podflow/message/xml_original_item.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import re
|
5
5
|
import html
|
6
6
|
import hashlib
|
7
|
-
from
|
8
|
-
from
|
7
|
+
from podflow import gVar
|
8
|
+
from podflow.message.title_correction import title_correction
|
9
9
|
|
10
10
|
|
11
11
|
# 生成原有的item模块
|
Podflow/message/xml_rss.py
CHANGED
Podflow/netscape/__init__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
#
|
1
|
+
# podflow/netscape/__init__.py
|
2
2
|
# coding: utf-8
|
Podflow/parse_arguments.py
CHANGED
Podflow/remove/__init__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
#
|
1
|
+
# podflow/remove/__init__.py
|
2
2
|
# coding: utf-8
|
Podflow/remove/remove_dir.py
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
#
|
1
|
+
# podflow/remove/remove_dir.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import os
|
5
5
|
import re
|
6
6
|
import shutil
|
7
|
-
from
|
8
|
-
from
|
7
|
+
from podflow import gVar
|
8
|
+
from podflow.basic.write_log import write_log
|
9
9
|
|
10
10
|
|
11
11
|
# 删除已抛弃的媒体文件夹模块
|
Podflow/remove/remove_file.py
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
#
|
1
|
+
# podflow/remove/remove_file.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import os
|
5
|
-
from
|
6
|
-
from
|
5
|
+
from podflow import gVar
|
6
|
+
from podflow.basic.write_log import write_log
|
7
7
|
|
8
8
|
|
9
9
|
# 删除多余媒体文件模块
|
Podflow/repair/__init__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
#
|
1
|
+
# podflow/repair/__init__.py
|
2
2
|
# coding: utf-8
|
Podflow/repair/reverse_log.py
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
#
|
1
|
+
# podflow/repair/reverse_log.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import re
|
5
5
|
from itertools import islice
|
6
|
-
from
|
6
|
+
from podflow.basic.time_print import time_print
|
7
7
|
|
8
8
|
|
9
9
|
def reverse_log(filename):
|
Podflow/upload/__init__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
#
|
1
|
+
# podflow/upload/__init__.py
|
2
2
|
# coding: utf-8
|
Podflow/upload/add_upload.py
CHANGED
Podflow/upload/build_hash.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# podflow/upload/get_upload_original.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import re
|
@@ -6,10 +6,10 @@ import json
|
|
6
6
|
from datetime import datetime
|
7
7
|
from collections import Counter
|
8
8
|
from email.utils import parsedate_tz, mktime_tz
|
9
|
-
from
|
10
|
-
from
|
11
|
-
from
|
12
|
-
from
|
9
|
+
from podflow import gVar
|
10
|
+
from podflow.basic.file_save import file_save
|
11
|
+
from podflow.basic.write_log import write_log
|
12
|
+
from podflow.message.get_media_name import get_media_name
|
13
13
|
|
14
14
|
|
15
15
|
# 获取原始上传数据模块
|
Podflow/upload/linked_client.py
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
#
|
1
|
+
# podflow/upload/linked_client.py
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import os
|
5
5
|
import time
|
6
6
|
import socket
|
7
7
|
from datetime import datetime
|
8
|
-
from
|
9
|
-
from
|
10
|
-
from
|
8
|
+
from podflow import gVar
|
9
|
+
from podflow.upload.time_key import time_key
|
10
|
+
from podflow.basic.time_print import time_print
|
11
11
|
|
12
12
|
|
13
13
|
BROADCAST_PORT = 37001
|