StreamingCommunity 2.9.0__py3-none-any.whl → 2.9.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.
Potentially problematic release.
This version of StreamingCommunity might be problematic. Click here for more details.
- StreamingCommunity/Api/Player/supervideo.py +5 -14
- StreamingCommunity/Api/Site/1337xx/site.py +1 -1
- StreamingCommunity/Api/Site/animeunity/site.py +1 -1
- StreamingCommunity/Api/Site/cb01new/site.py +1 -1
- StreamingCommunity/Api/Site/ddlstreamitaly/site.py +1 -1
- StreamingCommunity/Api/Site/guardaserie/site.py +1 -1
- StreamingCommunity/Api/Site/streamingcommunity/site.py +1 -1
- StreamingCommunity/Api/Template/Util/get_domain.py +3 -2
- StreamingCommunity/Lib/Downloader/MP4/downloader.py +13 -17
- StreamingCommunity/Upload/version.py +1 -1
- {StreamingCommunity-2.9.0.dist-info → StreamingCommunity-2.9.1.dist-info}/METADATA +1 -1
- {StreamingCommunity-2.9.0.dist-info → StreamingCommunity-2.9.1.dist-info}/RECORD +16 -16
- {StreamingCommunity-2.9.0.dist-info → StreamingCommunity-2.9.1.dist-info}/LICENSE +0 -0
- {StreamingCommunity-2.9.0.dist-info → StreamingCommunity-2.9.1.dist-info}/WHEEL +0 -0
- {StreamingCommunity-2.9.0.dist-info → StreamingCommunity-2.9.1.dist-info}/entry_points.txt +0 -0
- {StreamingCommunity-2.9.0.dist-info → StreamingCommunity-2.9.1.dist-info}/top_level.txt +0 -0
|
@@ -12,7 +12,7 @@ from bs4 import BeautifulSoup
|
|
|
12
12
|
|
|
13
13
|
# Internal utilities
|
|
14
14
|
from StreamingCommunity.Util.config_json import config_manager
|
|
15
|
-
from StreamingCommunity.Util.headers import
|
|
15
|
+
from StreamingCommunity.Util.headers import get_headers
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
# Variable
|
|
@@ -27,11 +27,7 @@ class VideoSource:
|
|
|
27
27
|
Attributes:
|
|
28
28
|
- url (str): The URL of the video source.
|
|
29
29
|
"""
|
|
30
|
-
self.headers =
|
|
31
|
-
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
|
|
32
|
-
'accept-language': 'it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7',
|
|
33
|
-
'User-Agent': get_userAgent()
|
|
34
|
-
}
|
|
30
|
+
self.headers = get_headers()
|
|
35
31
|
self.client = httpx.Client()
|
|
36
32
|
self.url = url
|
|
37
33
|
|
|
@@ -66,7 +62,7 @@ class VideoSource:
|
|
|
66
62
|
"""
|
|
67
63
|
iframes = soup.find_all("iframe")
|
|
68
64
|
if iframes and len(iframes) > 1:
|
|
69
|
-
return iframes[
|
|
65
|
+
return iframes[0].get("src") or iframes[0].get("data-src")
|
|
70
66
|
|
|
71
67
|
return None
|
|
72
68
|
|
|
@@ -115,13 +111,8 @@ class VideoSource:
|
|
|
115
111
|
logging.error("Failed to fetch HTML content.")
|
|
116
112
|
return None
|
|
117
113
|
|
|
118
|
-
soup = BeautifulSoup(html_content, "html.parser")
|
|
119
|
-
if not soup:
|
|
120
|
-
logging.error("Failed to parse HTML content.")
|
|
121
|
-
return None
|
|
122
|
-
|
|
123
114
|
# Find master playlist
|
|
124
|
-
data_js = self.get_result_node_js(
|
|
115
|
+
data_js = self.get_result_node_js(BeautifulSoup(html_content, "html.parser"))
|
|
125
116
|
|
|
126
117
|
if data_js is not None:
|
|
127
118
|
match = re.search(r'sources:\s*\[\{\s*file:\s*"([^"]+)"', data_js)
|
|
@@ -131,7 +122,7 @@ class VideoSource:
|
|
|
131
122
|
|
|
132
123
|
else:
|
|
133
124
|
|
|
134
|
-
iframe_src = self.get_iframe(
|
|
125
|
+
iframe_src = self.get_iframe(BeautifulSoup(html_content, "html.parser"))
|
|
135
126
|
if not iframe_src:
|
|
136
127
|
logging.error("No iframe found.")
|
|
137
128
|
return None
|
|
@@ -41,7 +41,7 @@ def title_search(word_to_search: str) -> int:
|
|
|
41
41
|
table_show_manager.clear()
|
|
42
42
|
|
|
43
43
|
# Check if domain is working
|
|
44
|
-
domain_to_use, base_url = search_domain(site_constant.
|
|
44
|
+
domain_to_use, base_url = search_domain(site_constant.FULL_URL)
|
|
45
45
|
|
|
46
46
|
if domain_to_use is None or base_url is None:
|
|
47
47
|
console.log("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
|
|
@@ -111,7 +111,7 @@ def title_search(title: str) -> int:
|
|
|
111
111
|
table_show_manager.clear()
|
|
112
112
|
|
|
113
113
|
# Check if domain is working
|
|
114
|
-
domain_to_use, base_url = search_domain(site_constant.
|
|
114
|
+
domain_to_use, base_url = search_domain(site_constant.FULL_URL)
|
|
115
115
|
|
|
116
116
|
if domain_to_use is None or base_url is None:
|
|
117
117
|
console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
|
|
@@ -42,7 +42,7 @@ def title_search(word_to_search: str) -> int:
|
|
|
42
42
|
table_show_manager.clear()
|
|
43
43
|
|
|
44
44
|
# Check if domain is working
|
|
45
|
-
domain_to_use, base_url = search_domain(site_constant.
|
|
45
|
+
domain_to_use, base_url = search_domain(site_constant.FULL_URL)
|
|
46
46
|
|
|
47
47
|
if domain_to_use is None or base_url is None:
|
|
48
48
|
console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
|
|
@@ -43,7 +43,7 @@ def title_search(word_to_search: str) -> int:
|
|
|
43
43
|
table_show_manager.clear()
|
|
44
44
|
|
|
45
45
|
# Check if domain is working
|
|
46
|
-
domain_to_use, base_url = search_domain(site_constant.
|
|
46
|
+
domain_to_use, base_url = search_domain(site_constant.FULL_URL)
|
|
47
47
|
|
|
48
48
|
if domain_to_use is None or base_url is None:
|
|
49
49
|
console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
|
|
@@ -42,7 +42,7 @@ def title_search(word_to_search: str) -> int:
|
|
|
42
42
|
table_show_manager.clear()
|
|
43
43
|
|
|
44
44
|
# Check if domain is working
|
|
45
|
-
domain_to_use, base_url = search_domain(site_constant.
|
|
45
|
+
domain_to_use, base_url = search_domain(site_constant.FULL_URL)
|
|
46
46
|
|
|
47
47
|
if domain_to_use is None or base_url is None:
|
|
48
48
|
console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
|
|
@@ -38,7 +38,7 @@ def title_search(title_search: str) -> int:
|
|
|
38
38
|
Returns:
|
|
39
39
|
int: The number of titles found.
|
|
40
40
|
"""
|
|
41
|
-
domain_to_use, base_url = search_domain(site_constant.
|
|
41
|
+
domain_to_use, base_url = search_domain(site_constant.FULL_URL)
|
|
42
42
|
|
|
43
43
|
if domain_to_use is None or base_url is None:
|
|
44
44
|
console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
|
|
@@ -67,7 +67,8 @@ def validate_url(url, base_url):
|
|
|
67
67
|
return False, None
|
|
68
68
|
|
|
69
69
|
client = httpx.Client(
|
|
70
|
-
|
|
70
|
+
http1=True,
|
|
71
|
+
verify=certifi.where(),
|
|
71
72
|
headers=get_headers(),
|
|
72
73
|
timeout=MAX_TIMEOUT
|
|
73
74
|
)
|
|
@@ -82,7 +83,7 @@ def validate_url(url, base_url):
|
|
|
82
83
|
|
|
83
84
|
return True, base_domain
|
|
84
85
|
|
|
85
|
-
def search_domain(
|
|
86
|
+
def search_domain(base_url: str):
|
|
86
87
|
"""Search for valid domain matching site name and base URL."""
|
|
87
88
|
try:
|
|
88
89
|
is_correct, redirect_tld = validate_url(base_url, base_url)
|
|
@@ -84,7 +84,7 @@ def MP4_downloader(url: str, path: str, referer: str = None, headers_: dict = No
|
|
|
84
84
|
console.log("[red]Output file already exists.")
|
|
85
85
|
if TELEGRAM_BOT:
|
|
86
86
|
bot.send_message(f"Contenuto già scaricato!", None)
|
|
87
|
-
return
|
|
87
|
+
return None, False
|
|
88
88
|
|
|
89
89
|
if GET_ONLY_LINK:
|
|
90
90
|
return {'path': path, 'url': url}
|
|
@@ -92,23 +92,19 @@ def MP4_downloader(url: str, path: str, referer: str = None, headers_: dict = No
|
|
|
92
92
|
if not (url.lower().startswith('http://') or url.lower().startswith('https://')):
|
|
93
93
|
logging.error(f"Invalid URL: {url}")
|
|
94
94
|
console.print(f"[bold red]Invalid URL: {url}[/bold red]")
|
|
95
|
-
return None
|
|
95
|
+
return None, False
|
|
96
96
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
if headers_:
|
|
103
|
-
headers.update(headers_)
|
|
104
|
-
else:
|
|
105
|
-
headers['User-Agent'] = get_userAgent()
|
|
106
|
-
|
|
107
|
-
except Exception as header_err:
|
|
108
|
-
logging.error(f"Error preparing headers: {header_err}")
|
|
109
|
-
console.print(f"[bold red]Error preparing headers: {header_err}[/bold red]")
|
|
110
|
-
return None
|
|
97
|
+
# Set headers
|
|
98
|
+
headers = {}
|
|
99
|
+
if referer:
|
|
100
|
+
headers['Referer'] = referer
|
|
111
101
|
|
|
102
|
+
if headers_:
|
|
103
|
+
headers.update(headers_)
|
|
104
|
+
else:
|
|
105
|
+
headers['User-Agent'] = get_userAgent()
|
|
106
|
+
|
|
107
|
+
# Set interrupt handler
|
|
112
108
|
temp_path = f"{path}.temp"
|
|
113
109
|
interrupt_handler = InterruptHandler()
|
|
114
110
|
original_handler = signal.signal(signal.SIGINT, partial(signal_handler, interrupt_handler=interrupt_handler, original_handler=signal.getsignal(signal.SIGINT)))
|
|
@@ -123,7 +119,7 @@ def MP4_downloader(url: str, path: str, referer: str = None, headers_: dict = No
|
|
|
123
119
|
|
|
124
120
|
if total == 0:
|
|
125
121
|
console.print("[bold red]No video stream found.[/bold red]")
|
|
126
|
-
return None
|
|
122
|
+
return None, False
|
|
127
123
|
|
|
128
124
|
progress_bar = tqdm(
|
|
129
125
|
total=total,
|
|
@@ -2,46 +2,46 @@ StreamingCommunity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
|
2
2
|
StreamingCommunity/run.py,sha256=AbEL0cyAaRgaG5qE1c7Z6SVZ4Wu7WIH9pZmwC4FDWW8,12076
|
|
3
3
|
StreamingCommunity/Api/Player/ddl.py,sha256=M_ePETCMBpIHr5K5Yb7EML5VXwqkR7vJHQcGIv4AEQw,2261
|
|
4
4
|
StreamingCommunity/Api/Player/maxstream.py,sha256=lQ6sbhBqMR9e6N-03nWZ3qsUlRT9l68d8dTA0th1XVQ,4984
|
|
5
|
-
StreamingCommunity/Api/Player/supervideo.py,sha256=
|
|
5
|
+
StreamingCommunity/Api/Player/supervideo.py,sha256=owyoSkLDJwASNYQw77ZbJ5ptCXOFsAC5ghN-o0RaML0,5001
|
|
6
6
|
StreamingCommunity/Api/Player/vixcloud.py,sha256=NOZhW59hyBnG5FfmppcnIudAztr7seWzQBzAN3KC_3M,6317
|
|
7
7
|
StreamingCommunity/Api/Player/Helper/Vixcloud/js_parser.py,sha256=U-8QlD5kGzIk3-4t4D6QyYmiDe8UBrSuVi1YHRQb7AU,4295
|
|
8
8
|
StreamingCommunity/Api/Player/Helper/Vixcloud/util.py,sha256=xt96JIbfE5W4Y59W888Cp-baRwnQVEDQO_x7Wq5iyNQ,5492
|
|
9
9
|
StreamingCommunity/Api/Site/1337xx/__init__.py,sha256=r0K84qeonGnk9bgbKklF6rJ1qhT1Si1MH2hnXnH_SIE,1378
|
|
10
|
-
StreamingCommunity/Api/Site/1337xx/site.py,sha256
|
|
10
|
+
StreamingCommunity/Api/Site/1337xx/site.py,sha256=u6a453wVy3vJrGcLlSUhErKzr63lv-o9cx36RjFpPRs,2647
|
|
11
11
|
StreamingCommunity/Api/Site/1337xx/title.py,sha256=lGb-IbWEIfg9Eu3XIu6IfxTOjvXkFL_NO9UEZcxOAfE,1831
|
|
12
12
|
StreamingCommunity/Api/Site/animeunity/__init__.py,sha256=Lz9trBzQZL11wGyIT2Y4CWe3JxOkDUPzTQXXO76s0oQ,2278
|
|
13
13
|
StreamingCommunity/Api/Site/animeunity/film_serie.py,sha256=noYqH5NHUk_JO6GeqN7-PQy3tplDRKYWYI_cgT1SzqI,5771
|
|
14
|
-
StreamingCommunity/Api/Site/animeunity/site.py,sha256=
|
|
14
|
+
StreamingCommunity/Api/Site/animeunity/site.py,sha256=7NX59B89xpZ6Tj96a_ZCsVMDwOq8fxdw81vrlnvNjn4,5912
|
|
15
15
|
StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py,sha256=6Vbw5KVwUbgooGjUIRAuXr9cWSkHDkAFP7EiXF2T4OM,2709
|
|
16
16
|
StreamingCommunity/Api/Site/cb01new/__init__.py,sha256=yOfCNYZU5M5rCvNtwvyTgGjJv7qGmNWRAzk0AtAgbhU,1393
|
|
17
17
|
StreamingCommunity/Api/Site/cb01new/film.py,sha256=trrEGcklB6FhqpJvGaEwHI0EThK__e9O6DuknKAFNHw,1628
|
|
18
|
-
StreamingCommunity/Api/Site/cb01new/site.py,sha256=
|
|
18
|
+
StreamingCommunity/Api/Site/cb01new/site.py,sha256=q9bHKgHkXWE0vOcfQ9bKU0QDzbLassfSN2im2O4EYiI,2523
|
|
19
19
|
StreamingCommunity/Api/Site/ddlstreamitaly/__init__.py,sha256=_tQbsAJgZufjszrFZ0Om3ia6oYJHMjiHfXAMScqf4yQ,1533
|
|
20
20
|
StreamingCommunity/Api/Site/ddlstreamitaly/series.py,sha256=z3te51do5C_O77rDTR1N01aQ76BIGe5pm5i_PWJepQ4,3369
|
|
21
|
-
StreamingCommunity/Api/Site/ddlstreamitaly/site.py,sha256=
|
|
21
|
+
StreamingCommunity/Api/Site/ddlstreamitaly/site.py,sha256=_I4fZuzE5DnwAGOBOJK_IYW04RETwl3N2J0FUJAjQqg,2913
|
|
22
22
|
StreamingCommunity/Api/Site/ddlstreamitaly/util/ScrapeSerie.py,sha256=HY8YEvzWp3sy1q07rFLXLZhGYvapA1amMZByYvs0iJM,2553
|
|
23
23
|
StreamingCommunity/Api/Site/guardaserie/__init__.py,sha256=ZR9Fz6v2cS2Ve8BfAlvTNK-d5_Xwp5_eqrnFupgxj5Q,1385
|
|
24
24
|
StreamingCommunity/Api/Site/guardaserie/series.py,sha256=52OjjItPuVglqlpFFVeJiSXrUL5WFhC-GfyRo7yWnsM,5665
|
|
25
|
-
StreamingCommunity/Api/Site/guardaserie/site.py,sha256=
|
|
25
|
+
StreamingCommunity/Api/Site/guardaserie/site.py,sha256=5Y5svAT4QYZrNDPM9couf6M94g0g320NfoAuJt4dp94,2538
|
|
26
26
|
StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py,sha256=4sZRWm8r5X80q285hemRf7MAWeaN5yfOU6i1SjKU4Tg,3268
|
|
27
27
|
StreamingCommunity/Api/Site/mostraguarda/__init__.py,sha256=rsM2_7FmwyV3ibUbpcflk-eyH8ouBv0ZdCA5tCCVB70,1234
|
|
28
28
|
StreamingCommunity/Api/Site/mostraguarda/film.py,sha256=dA7Vo9bU7g8eY8Vaj06_n2MHlKBMHh4B_MIw2sO872A,2719
|
|
29
29
|
StreamingCommunity/Api/Site/streamingcommunity/__init__.py,sha256=FV3ch-farw3tN_-Ay3JV_-TIoHzgQzxEJWPlFibE62Y,2351
|
|
30
30
|
StreamingCommunity/Api/Site/streamingcommunity/film.py,sha256=LaZzEQms9t7r30_PjHPgIOUkVDyotX0qFDBMKMVNSWo,2530
|
|
31
31
|
StreamingCommunity/Api/Site/streamingcommunity/series.py,sha256=T4Yw-cjdQ8GsOLPJwd8iDIcTND1olg81MopsaSDd1Ik,7921
|
|
32
|
-
StreamingCommunity/Api/Site/streamingcommunity/site.py,sha256=
|
|
32
|
+
StreamingCommunity/Api/Site/streamingcommunity/site.py,sha256=OID6QB_WMydwVCYD0SupHpEP0VwHIBmwifwuIHW9HaE,2973
|
|
33
33
|
StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py,sha256=YYetljW4yr6eoiLe6nDUuFZ9NI8K85tF6859ikITmsY,3571
|
|
34
34
|
StreamingCommunity/Api/Template/__init__.py,sha256=oyfd_4_g5p5q6mxb_rKwSsudZnTM3W3kg1tLwxg-v-Q,46
|
|
35
35
|
StreamingCommunity/Api/Template/config_loader.py,sha256=seJjLi05_8xrs4tdt4zXNCPa9TLp7n5FufFM2XErokI,2166
|
|
36
36
|
StreamingCommunity/Api/Template/site.py,sha256=MJF8oc4iW29nU8SF_J94UaSjanTVBMhKiRl3xrA0qBA,2849
|
|
37
37
|
StreamingCommunity/Api/Template/Class/SearchType.py,sha256=FtO8xDUGEeJgMWsK2Ab7ZzAFsncalTYL2oEYi8uCnuk,2531
|
|
38
38
|
StreamingCommunity/Api/Template/Util/__init__.py,sha256=GZZgT816VwTYekPOwLExHenpak0gO-V3LLGTYIElt3A,234
|
|
39
|
-
StreamingCommunity/Api/Template/Util/get_domain.py,sha256=
|
|
39
|
+
StreamingCommunity/Api/Template/Util/get_domain.py,sha256=tWQKWs5LJZna4a2P0IfxlSZDbZTDjiqq9SmHTbK-PyU,2763
|
|
40
40
|
StreamingCommunity/Api/Template/Util/manage_ep.py,sha256=xYDC3tlx6gjQqCqcyKCfQVQeE6aWU5sdrovj8uuvbd8,8118
|
|
41
41
|
StreamingCommunity/Lib/Downloader/__init__.py,sha256=JhbBh5hOnSM7VmtkxJ7zZ_FtWEC1JdnKThsSBjLV5FY,140
|
|
42
42
|
StreamingCommunity/Lib/Downloader/HLS/downloader.py,sha256=h-44aunSdcCbG4CXPeZP2LWypA9T905E4RnTP4kSyZ0,21168
|
|
43
43
|
StreamingCommunity/Lib/Downloader/HLS/segments.py,sha256=4D-B_KfwiQq6suMgJxL_aMrOqqX5RVc4Vy0Ktc7tFKM,17609
|
|
44
|
-
StreamingCommunity/Lib/Downloader/MP4/downloader.py,sha256=
|
|
44
|
+
StreamingCommunity/Lib/Downloader/MP4/downloader.py,sha256=KTNivIvVwn72rA34fNPxT5Q88u7IS3vHLn_Y_jdrZww,7434
|
|
45
45
|
StreamingCommunity/Lib/Downloader/TOR/downloader.py,sha256=KVZxCl1VB1-OuTjUhVS5Ycog_P0vCGTfRzhZPv8O7Ps,11267
|
|
46
46
|
StreamingCommunity/Lib/FFmpeg/__init__.py,sha256=6PBsZdE1jrD2EKOVyx3JEHnyDZzVeKlPkH5T0zyfOgU,130
|
|
47
47
|
StreamingCommunity/Lib/FFmpeg/capture.py,sha256=73BEpTijksErZOu46iRxwl3idKzZ-sVXXRr4nocIGY0,5168
|
|
@@ -58,7 +58,7 @@ StreamingCommunity/Lib/TMBD/tmdb.py,sha256=LjO21d7iexnSwKBYjgXFECojVSE8WCspQszJJ
|
|
|
58
58
|
StreamingCommunity/TelegramHelp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
59
|
StreamingCommunity/TelegramHelp/telegram_bot.py,sha256=Qe1__aoK4PpDuing8JtWgdHzLee8LuYYyfeLNA7yADU,26307
|
|
60
60
|
StreamingCommunity/Upload/update.py,sha256=TXWAOfvZr1So_oME11YvX_L5zRy2tM-ijF-_g1jf87o,2548
|
|
61
|
-
StreamingCommunity/Upload/version.py,sha256=
|
|
61
|
+
StreamingCommunity/Upload/version.py,sha256=7zxploGPmBn4yRD_nqHbaaNTjsXjfVwEsD0XQTKoZp8,171
|
|
62
62
|
StreamingCommunity/Util/color.py,sha256=NvD0Eni-25oOOkY-szCEoc0lGvzQxyL7xhM0RE4EvUM,458
|
|
63
63
|
StreamingCommunity/Util/config_json.py,sha256=dmo7FTboEuEs1nYf17RYaTyT03qRvOLJzGgBitYHXs4,19379
|
|
64
64
|
StreamingCommunity/Util/ffmpeg_installer.py,sha256=q5yb_ZXKe9PhcG7JbKLfo1AZa8DNukgHqymPbudDuAY,13585
|
|
@@ -67,9 +67,9 @@ StreamingCommunity/Util/logger.py,sha256=9kGD6GmWj2pM8ADpJc85o7jm8DD0c5Aguqnq-9k
|
|
|
67
67
|
StreamingCommunity/Util/message.py,sha256=SJaIPLvWeQqsIODVUKw3TgYRmBChovmlbcF6OUxqMI8,1425
|
|
68
68
|
StreamingCommunity/Util/os.py,sha256=MUGJKQbNMWeoUrnJ2Ug3hoyYlrPDqU9BY94UmiUbxfA,14858
|
|
69
69
|
StreamingCommunity/Util/table.py,sha256=X1t9VPYl9GemLMk_-x_WfpysQ-3Iv8vh0aTIJKm0fK0,8565
|
|
70
|
-
StreamingCommunity-2.9.
|
|
71
|
-
StreamingCommunity-2.9.
|
|
72
|
-
StreamingCommunity-2.9.
|
|
73
|
-
StreamingCommunity-2.9.
|
|
74
|
-
StreamingCommunity-2.9.
|
|
75
|
-
StreamingCommunity-2.9.
|
|
70
|
+
StreamingCommunity-2.9.1.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
71
|
+
StreamingCommunity-2.9.1.dist-info/METADATA,sha256=3FfkiFkbxuqlPg_CUvgg3eQs2mKLkH9bFaAfjiIXUOs,21498
|
|
72
|
+
StreamingCommunity-2.9.1.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
73
|
+
StreamingCommunity-2.9.1.dist-info/entry_points.txt,sha256=Qph9XYfDC8n4LfDLOSl6gJGlkb9eFb5f-JOr_Wb_5rk,67
|
|
74
|
+
StreamingCommunity-2.9.1.dist-info/top_level.txt,sha256=YsOcxKP-WOhWpIWgBlh0coll9XUx7aqmRPT7kmt3fH0,19
|
|
75
|
+
StreamingCommunity-2.9.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|