@@ -30,6 +30,8 @@ async def get_channels_by_subscribe_urls(
30
30
"""
31
31
Get the channels by subscribe urls
32
32
"""
33
+ if whitelist :
34
+ urls .sort (key = lambda url : whitelist .index (url ) if url in whitelist else len (whitelist ))
33
35
subscribe_results = {}
34
36
subscribe_urls_len = len (urls )
35
37
pbar = tqdm_asyncio (
@@ -43,7 +45,6 @@ async def get_channels_by_subscribe_urls(
43
45
f"正在获取{ mode_name } 源, 共{ subscribe_urls_len } 个{ mode_name } 源" ,
44
46
0 ,
45
47
)
46
- session = Session ()
47
48
hotel_name = constants .origin_map ["hotel" ]
48
49
multicast_name = constants .origin_map ["multicast" ]
49
50
subscribe_name = constants .origin_map ["subscribe" ]
@@ -57,6 +58,7 @@ def process_subscribe_channels(subscribe_info):
57
58
subscribe_url = subscribe_info
58
59
channels = defaultdict (lambda : defaultdict (lambda : defaultdict (list )))
59
60
in_whitelist = whitelist and (subscribe_url in whitelist )
61
+ session = Session ()
60
62
try :
61
63
response = None
62
64
try :
@@ -100,7 +102,7 @@ def process_subscribe_channels(subscribe_info):
100
102
)
101
103
)
102
104
if in_whitelist :
103
- info = "!" + info
105
+ info = "!"
104
106
url = add_url_info (url , info )
105
107
url = format_url_with_cache (
106
108
url , cache = subscribe_url if (multicast or hotel ) else None
@@ -122,6 +124,7 @@ def process_subscribe_channels(subscribe_info):
122
124
if error_print :
123
125
print (f"Error on { subscribe_url } : { e } " )
124
126
finally :
127
+ session .close ()
125
128
pbar .update ()
126
129
remain = subscribe_urls_len - pbar .n
127
130
if callback :
@@ -138,6 +141,5 @@ def process_subscribe_channels(subscribe_info):
138
141
]
139
142
for future in futures :
140
143
subscribe_results = merge_objects (subscribe_results , future .result ())
141
- session .close ()
142
144
pbar .close ()
143
145
return subscribe_results
0 commit comments