StreamingCommunity 3.3.6__py3-none-any.whl → 3.3.8__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/Site/altadefinizione/film.py +1 -1
- StreamingCommunity/Api/Site/altadefinizione/series.py +1 -1
- StreamingCommunity/Api/Site/animeunity/serie.py +2 -2
- StreamingCommunity/Api/Site/animeworld/film.py +1 -1
- StreamingCommunity/Api/Site/animeworld/serie.py +2 -2
- StreamingCommunity/Api/Site/crunchyroll/film.py +3 -2
- StreamingCommunity/Api/Site/crunchyroll/series.py +3 -2
- StreamingCommunity/Api/Site/crunchyroll/site.py +0 -8
- StreamingCommunity/Api/Site/crunchyroll/util/get_license.py +11 -105
- StreamingCommunity/Api/Site/guardaserie/series.py +1 -1
- StreamingCommunity/Api/Site/mediasetinfinity/film.py +1 -1
- StreamingCommunity/Api/Site/mediasetinfinity/series.py +7 -9
- StreamingCommunity/Api/Site/mediasetinfinity/site.py +29 -66
- StreamingCommunity/Api/Site/mediasetinfinity/util/ScrapeSerie.py +5 -1
- StreamingCommunity/Api/Site/mediasetinfinity/util/get_license.py +151 -233
- StreamingCommunity/Api/Site/raiplay/film.py +2 -10
- StreamingCommunity/Api/Site/raiplay/series.py +2 -10
- StreamingCommunity/Api/Site/raiplay/site.py +1 -0
- StreamingCommunity/Api/Site/raiplay/util/ScrapeSerie.py +7 -1
- StreamingCommunity/Api/Site/streamingcommunity/film.py +1 -1
- StreamingCommunity/Api/Site/streamingcommunity/series.py +1 -1
- StreamingCommunity/Api/Site/streamingwatch/film.py +1 -1
- StreamingCommunity/Api/Site/streamingwatch/series.py +1 -1
- StreamingCommunity/Api/Template/loader.py +158 -0
- StreamingCommunity/Lib/Downloader/DASH/downloader.py +267 -51
- StreamingCommunity/Lib/Downloader/DASH/segments.py +46 -15
- StreamingCommunity/Lib/Downloader/HLS/downloader.py +51 -36
- StreamingCommunity/Lib/Downloader/HLS/segments.py +105 -25
- StreamingCommunity/Lib/Downloader/MP4/downloader.py +12 -13
- StreamingCommunity/Lib/FFmpeg/command.py +18 -81
- StreamingCommunity/Lib/FFmpeg/util.py +14 -10
- StreamingCommunity/Lib/M3U8/estimator.py +13 -12
- StreamingCommunity/Lib/M3U8/parser.py +16 -16
- StreamingCommunity/Upload/update.py +2 -4
- StreamingCommunity/Upload/version.py +2 -2
- StreamingCommunity/Util/config_json.py +3 -132
- StreamingCommunity/Util/installer/bento4_install.py +21 -31
- StreamingCommunity/Util/installer/device_install.py +0 -1
- StreamingCommunity/Util/installer/ffmpeg_install.py +0 -1
- StreamingCommunity/Util/message.py +8 -9
- StreamingCommunity/Util/os.py +0 -8
- StreamingCommunity/run.py +4 -44
- {streamingcommunity-3.3.6.dist-info → streamingcommunity-3.3.8.dist-info}/METADATA +1 -3
- {streamingcommunity-3.3.6.dist-info → streamingcommunity-3.3.8.dist-info}/RECORD +48 -47
- {streamingcommunity-3.3.6.dist-info → streamingcommunity-3.3.8.dist-info}/WHEEL +0 -0
- {streamingcommunity-3.3.6.dist-info → streamingcommunity-3.3.8.dist-info}/entry_points.txt +0 -0
- {streamingcommunity-3.3.6.dist-info → streamingcommunity-3.3.8.dist-info}/licenses/LICENSE +0 -0
- {streamingcommunity-3.3.6.dist-info → streamingcommunity-3.3.8.dist-info}/top_level.txt +0 -0
|
@@ -4,7 +4,6 @@ import os
|
|
|
4
4
|
import shutil
|
|
5
5
|
import zipfile
|
|
6
6
|
import logging
|
|
7
|
-
import subprocess
|
|
8
7
|
from typing import Optional
|
|
9
8
|
|
|
10
9
|
|
|
@@ -150,54 +149,45 @@ class Bento4Downloader:
|
|
|
150
149
|
def check_mp4decrypt() -> Optional[str]:
|
|
151
150
|
"""
|
|
152
151
|
Check for mp4decrypt in the system and download if not found.
|
|
153
|
-
Order:
|
|
152
|
+
Order: binary directory -> system PATH -> download
|
|
154
153
|
|
|
155
154
|
Returns:
|
|
156
155
|
Optional[str]: Path to mp4decrypt executable or None if not found/downloaded
|
|
157
156
|
"""
|
|
158
157
|
try:
|
|
159
158
|
system_platform = binary_paths.system
|
|
160
|
-
|
|
161
|
-
# STEP 1: Check system PATH
|
|
162
|
-
console.print("[cyan]Checking for mp4decrypt in system PATH...[/]")
|
|
163
159
|
mp4decrypt_name = "mp4decrypt.exe" if system_platform == "windows" else "mp4decrypt"
|
|
164
|
-
mp4decrypt_path = None
|
|
165
|
-
|
|
166
|
-
if system_platform == 'windows':
|
|
167
|
-
try:
|
|
168
|
-
mp4decrypt_path = subprocess.check_output(
|
|
169
|
-
['where', mp4decrypt_name], stderr=subprocess.DEVNULL, text=True
|
|
170
|
-
).strip().split('\n')[0]
|
|
171
|
-
|
|
172
|
-
if mp4decrypt_path:
|
|
173
|
-
logging.info("mp4decrypt found in Windows system PATH")
|
|
174
|
-
return mp4decrypt_path
|
|
175
|
-
|
|
176
|
-
except subprocess.CalledProcessError:
|
|
177
|
-
logging.info("mp4decrypt not found in Windows system PATH")
|
|
178
160
|
|
|
179
|
-
|
|
180
|
-
mp4decrypt_path = shutil.which(mp4decrypt_name)
|
|
181
|
-
|
|
182
|
-
if mp4decrypt_path:
|
|
183
|
-
logging.info("mp4decrypt found in system PATH")
|
|
184
|
-
return mp4decrypt_path
|
|
185
|
-
|
|
186
|
-
# STEP 2: Check in binary directory
|
|
187
|
-
console.print("[cyan]Checking for mp4decrypt in binary directory...[/]")
|
|
161
|
+
# STEP 1: Check binary directory FIRST (fastest - single file check)
|
|
188
162
|
binary_dir = binary_paths.get_binary_directory()
|
|
189
163
|
local_path = os.path.join(binary_dir, mp4decrypt_name)
|
|
190
164
|
|
|
191
|
-
if os.path.
|
|
165
|
+
if os.path.isfile(local_path):
|
|
166
|
+
|
|
167
|
+
# Only check execution permissions on Unix systems
|
|
168
|
+
if system_platform != 'windows' and not os.access(local_path, os.X_OK):
|
|
169
|
+
try:
|
|
170
|
+
os.chmod(local_path, 0o755)
|
|
171
|
+
except Exception:
|
|
172
|
+
pass # Ignore chmod errors
|
|
173
|
+
|
|
192
174
|
logging.info("mp4decrypt found in binary directory")
|
|
193
175
|
return local_path
|
|
194
176
|
|
|
195
|
-
# STEP
|
|
177
|
+
# STEP 2: Check system PATH (slower - searches multiple directories)
|
|
178
|
+
mp4decrypt_path = shutil.which(mp4decrypt_name)
|
|
179
|
+
|
|
180
|
+
if mp4decrypt_path:
|
|
181
|
+
logging.info("mp4decrypt found in system PATH")
|
|
182
|
+
return mp4decrypt_path
|
|
183
|
+
|
|
184
|
+
# STEP 3: Download if not found anywhere
|
|
196
185
|
console.print("[cyan]mp4decrypt not found. Downloading...[/]")
|
|
197
186
|
downloader = Bento4Downloader()
|
|
198
187
|
extracted_files = downloader.download()
|
|
188
|
+
|
|
199
189
|
return extracted_files[0] if extracted_files else None
|
|
200
190
|
|
|
201
191
|
except Exception as e:
|
|
202
192
|
logging.error(f"Error checking or downloading mp4decrypt: {e}")
|
|
203
|
-
return None
|
|
193
|
+
return None
|
|
@@ -50,7 +50,6 @@ class DeviceDownloader:
|
|
|
50
50
|
def _check_existing_wvd(self) -> Optional[str]:
|
|
51
51
|
"""Check for existing WVD files in binary directory."""
|
|
52
52
|
try:
|
|
53
|
-
console.print("[cyan]Checking for existing device.wvd files...")
|
|
54
53
|
if not os.path.exists(self.base_dir):
|
|
55
54
|
return None
|
|
56
55
|
|
|
@@ -22,18 +22,17 @@ def start_message():
|
|
|
22
22
|
"""Display a stylized start message in the console."""
|
|
23
23
|
|
|
24
24
|
msg = r'''
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
/_/
|
|
30
|
-
|
|
25
|
+
[red]+[cyan]=======================================================================================[red]+[purple]
|
|
26
|
+
| ___ ______ _ |
|
|
27
|
+
| / _ | ___________ _ _____ _____ __ __ / __/ /________ ___ ___ _ (_)__ ___ _ |
|
|
28
|
+
| / __ |/ __/ __/ _ \ |/|/ / _ `/ __/ \ \ / _\ \/ __/ __/ -_) _ `/ ' \/ / _ \/ _ `/ |
|
|
29
|
+
| /_/ |_/_/ /_/ \___/__,__/\_,_/_/ /_\_\ /___/\__/_/ \__/\_,_/_/_/_/_/_//_/\_, / |
|
|
30
|
+
| /___/ |
|
|
31
|
+
[red]+[cyan]=======================================================================================[red]+
|
|
31
32
|
'''.rstrip()
|
|
32
33
|
|
|
33
34
|
if CLEAN:
|
|
34
35
|
os.system("cls" if platform.system() == 'Windows' else "clear")
|
|
35
36
|
|
|
36
37
|
if SHOW:
|
|
37
|
-
console.print(f"[purple]{msg}")
|
|
38
|
-
separator = "_" * (console.width - 2)
|
|
39
|
-
console.print(f"[cyan]{separator}[/cyan]\n")
|
|
38
|
+
console.print(f"[purple]{msg}")
|
StreamingCommunity/Util/os.py
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
# 24.01.24
|
|
2
2
|
|
|
3
|
-
import io
|
|
4
3
|
import os
|
|
5
4
|
import shutil
|
|
6
5
|
import logging
|
|
7
6
|
import socket
|
|
8
7
|
import platform
|
|
9
8
|
import inspect
|
|
10
|
-
import contextlib
|
|
11
9
|
|
|
12
10
|
|
|
13
11
|
# External library
|
|
@@ -316,7 +314,6 @@ class OsSummary:
|
|
|
316
314
|
self.ffmpeg_path, self.ffprobe_path, _ = check_ffmpeg()
|
|
317
315
|
self.mp4decrypt_path = check_mp4decrypt()
|
|
318
316
|
self.wvd_path = check_device_wvd_path()
|
|
319
|
-
|
|
320
317
|
self._display_binary_paths()
|
|
321
318
|
|
|
322
319
|
def _display_binary_paths(self):
|
|
@@ -342,11 +339,6 @@ internet_manager = InternetManager()
|
|
|
342
339
|
os_summary = OsSummary()
|
|
343
340
|
|
|
344
341
|
|
|
345
|
-
@contextlib.contextmanager
|
|
346
|
-
def suppress_output():
|
|
347
|
-
with contextlib.redirect_stdout(io.StringIO()):
|
|
348
|
-
yield
|
|
349
|
-
|
|
350
342
|
def get_call_stack():
|
|
351
343
|
"""Retrieves the current call stack with details about each call."""
|
|
352
344
|
stack = inspect.stack()
|
StreamingCommunity/run.py
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import os
|
|
4
4
|
import sys
|
|
5
|
-
import time
|
|
6
|
-
import glob
|
|
7
5
|
import logging
|
|
8
6
|
import platform
|
|
9
7
|
import argparse
|
|
@@ -12,7 +10,7 @@ import threading
|
|
|
12
10
|
import asyncio
|
|
13
11
|
import subprocess
|
|
14
12
|
from urllib.parse import urlparse
|
|
15
|
-
from typing import Callable,
|
|
13
|
+
from typing import Callable, Tuple
|
|
16
14
|
|
|
17
15
|
|
|
18
16
|
# External library
|
|
@@ -22,6 +20,7 @@ from rich.prompt import Prompt
|
|
|
22
20
|
|
|
23
21
|
# Internal utilities
|
|
24
22
|
from .global_search import global_search
|
|
23
|
+
from StreamingCommunity.Api.Template.loader import load_search_functions
|
|
25
24
|
from StreamingCommunity.Util.message import start_message
|
|
26
25
|
from StreamingCommunity.Util.config_json import config_manager
|
|
27
26
|
from StreamingCommunity.Util.os import internet_manager, os_manager
|
|
@@ -58,42 +57,6 @@ def run_function(func: Callable[..., None], close_console: bool = False, search_
|
|
|
58
57
|
func(search_terms)
|
|
59
58
|
|
|
60
59
|
|
|
61
|
-
def load_search_functions() -> Dict[str, Tuple]:
|
|
62
|
-
"""Load and return all available search functions from site modules."""
|
|
63
|
-
loaded_functions = {}
|
|
64
|
-
excluded_sites = {"cb01new", "guardaserie", "ilcorsaronero", "mostraguarda"} if TELEGRAM_BOT else set()
|
|
65
|
-
|
|
66
|
-
# Determine base path
|
|
67
|
-
base_path = os.path.join(sys._MEIPASS, "StreamingCommunity") if getattr(sys, 'frozen', False) else os.path.dirname(__file__)
|
|
68
|
-
api_dir = os.path.join(base_path, 'Api', 'Site')
|
|
69
|
-
|
|
70
|
-
# Get all modules with their indices and sort them
|
|
71
|
-
modules = []
|
|
72
|
-
for init_file in glob.glob(os.path.join(api_dir, '*', '__init__.py')):
|
|
73
|
-
module_name = os.path.basename(os.path.dirname(init_file))
|
|
74
|
-
|
|
75
|
-
if module_name in excluded_sites:
|
|
76
|
-
continue
|
|
77
|
-
|
|
78
|
-
try:
|
|
79
|
-
mod = importlib.import_module(f'StreamingCommunity.Api.Site.{module_name}')
|
|
80
|
-
if not getattr(mod, '_deprecate', False):
|
|
81
|
-
modules.append((module_name, getattr(mod, 'indice'), getattr(mod, '_useFor')))
|
|
82
|
-
logging.info(f"Load module name: {module_name}")
|
|
83
|
-
except Exception as e:
|
|
84
|
-
console.print(f"[red]Failed to import module {module_name}: {str(e)}")
|
|
85
|
-
|
|
86
|
-
# Sort by index and load search functions
|
|
87
|
-
for module_name, _, use_for in sorted(modules, key=lambda x: x[1]):
|
|
88
|
-
try:
|
|
89
|
-
mod = importlib.import_module(f'StreamingCommunity.Api.Site.{module_name}')
|
|
90
|
-
loaded_functions[f'{module_name}_search'] = (getattr(mod, 'search'), use_for)
|
|
91
|
-
except Exception as e:
|
|
92
|
-
console.print(f"[red]Failed to load search function from module {module_name}: {str(e)}")
|
|
93
|
-
|
|
94
|
-
return loaded_functions
|
|
95
|
-
|
|
96
|
-
|
|
97
60
|
def initialize():
|
|
98
61
|
"""Initialize the application with system checks and setup."""
|
|
99
62
|
start_message()
|
|
@@ -316,7 +279,7 @@ def force_exit():
|
|
|
316
279
|
os._exit(0)
|
|
317
280
|
|
|
318
281
|
|
|
319
|
-
def
|
|
282
|
+
def check_dns():
|
|
320
283
|
"""Check DNS configuration and exit if required."""
|
|
321
284
|
if BYPASS_DNS:
|
|
322
285
|
return
|
|
@@ -508,16 +471,13 @@ def main(script_id=0):
|
|
|
508
471
|
if TELEGRAM_BOT:
|
|
509
472
|
get_bot_instance().send_message(f"Avviato script {script_id}", None)
|
|
510
473
|
|
|
511
|
-
start = time.time()
|
|
512
474
|
Logger()
|
|
513
475
|
execute_hooks('pre_run')
|
|
514
476
|
initialize()
|
|
515
477
|
|
|
516
478
|
try:
|
|
517
|
-
|
|
518
|
-
|
|
479
|
+
check_dns()
|
|
519
480
|
search_functions = load_search_functions()
|
|
520
|
-
logging.info(f"Load module in: {time.time() - start} s")
|
|
521
481
|
|
|
522
482
|
parser = setup_argument_parser(search_functions)
|
|
523
483
|
args = parser.parse_args()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: StreamingCommunity
|
|
3
|
-
Version: 3.3.
|
|
3
|
+
Version: 3.3.8
|
|
4
4
|
Home-page: https://github.com/Arrowar/StreamingCommunity
|
|
5
5
|
Author: Arrowar
|
|
6
6
|
Project-URL: Bug Reports, https://github.com/Arrowar/StreamingCommunity/issues
|
|
@@ -14,7 +14,6 @@ Requires-Dist: bs4
|
|
|
14
14
|
Requires-Dist: rich
|
|
15
15
|
Requires-Dist: tqdm
|
|
16
16
|
Requires-Dist: m3u8
|
|
17
|
-
Requires-Dist: certifi
|
|
18
17
|
Requires-Dist: psutil
|
|
19
18
|
Requires-Dist: unidecode
|
|
20
19
|
Requires-Dist: curl_cffi
|
|
@@ -25,7 +24,6 @@ Requires-Dist: ua-generator
|
|
|
25
24
|
Requires-Dist: qbittorrent-api
|
|
26
25
|
Requires-Dist: pyTelegramBotAPI
|
|
27
26
|
Requires-Dist: pywidevine
|
|
28
|
-
Requires-Dist: seleniumbase
|
|
29
27
|
Dynamic: author
|
|
30
28
|
Dynamic: description
|
|
31
29
|
Dynamic: description-content-type
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
StreamingCommunity/__init__.py,sha256=kOpFRfO3jz3gP2QjgPC_G85Z3rsMwMnsNa0POXMnDng,382
|
|
2
2
|
StreamingCommunity/global_search.py,sha256=ip3D0OKNRTXHpe_Wy7v2KM-yNZdnnbG5FOBYSSk6wB8,12401
|
|
3
|
-
StreamingCommunity/run.py,sha256=
|
|
3
|
+
StreamingCommunity/run.py,sha256=p7RYZlHhIHzPs8n_6z7f0yikH5TEd8KeC9UIpiRJ5-c,19494
|
|
4
4
|
StreamingCommunity/Api/Player/hdplayer.py,sha256=uQGU8ZVEk7qwwu1v4fjxScsP2x9NIHc7rRguXB1Fk2c,1942
|
|
5
5
|
StreamingCommunity/Api/Player/mediapolisvod.py,sha256=Npm3HHUO5Wav8c2QX9E2c3SSW6d1STJw-kK8kHRF-zo,2403
|
|
6
6
|
StreamingCommunity/Api/Player/supervideo.py,sha256=AuAA6eXYODJN-ytdvKjqlzZLOHpwx3kwgy1CSiogs-o,5388
|
|
@@ -9,55 +9,56 @@ StreamingCommunity/Api/Player/vixcloud.py,sha256=0DnukAIBqGqTmL9I6JkpAkHLMf1UG1D
|
|
|
9
9
|
StreamingCommunity/Api/Player/Helper/Vixcloud/js_parser.py,sha256=U-8QlD5kGzIk3-4t4D6QyYmiDe8UBrSuVi1YHRQb7AU,4295
|
|
10
10
|
StreamingCommunity/Api/Player/Helper/Vixcloud/util.py,sha256=WjpNA-ohE6AIwYOVzacYqy7CR3fXfdf7PfIp69vk8js,5343
|
|
11
11
|
StreamingCommunity/Api/Site/altadefinizione/__init__.py,sha256=sB9NyE30zwDG0oc8Cw0gioM-UTLQs7KmazEDSAxszI8,5346
|
|
12
|
-
StreamingCommunity/Api/Site/altadefinizione/film.py,sha256=
|
|
13
|
-
StreamingCommunity/Api/Site/altadefinizione/series.py,sha256=
|
|
12
|
+
StreamingCommunity/Api/Site/altadefinizione/film.py,sha256=wrskk9hL-3uFlJ65gnIEdj8cdpgQnlOZJguIgyPnxWY,3800
|
|
13
|
+
StreamingCommunity/Api/Site/altadefinizione/series.py,sha256=aTc23StMrh16Yu70a41jUD7sKeyzEegP2_ws7m_DtYI,8410
|
|
14
14
|
StreamingCommunity/Api/Site/altadefinizione/site.py,sha256=nrDmENnvWbW7iNO7OIGpQWJttzFGipZg0dsC8GiSEBU,2864
|
|
15
15
|
StreamingCommunity/Api/Site/altadefinizione/util/ScrapeSerie.py,sha256=9iulNlnNAhTfI5iKNW3I6pZqYeYwovAswa13L3LPGDM,4251
|
|
16
16
|
StreamingCommunity/Api/Site/animeunity/__init__.py,sha256=KArwW7J5rHjEoNfZz4SmS_IjfJqljon_ACIvaxouzqc,5228
|
|
17
17
|
StreamingCommunity/Api/Site/animeunity/film.py,sha256=Vqg6yag2siR-Y3ougBsV8mzdQXChxg6ghz_KVXFQ3pE,998
|
|
18
|
-
StreamingCommunity/Api/Site/animeunity/serie.py,sha256=
|
|
18
|
+
StreamingCommunity/Api/Site/animeunity/serie.py,sha256=gypwpByTXPe1yhx9WfJVlDV-Urtm7P9Sz5O435ZWhvQ,5742
|
|
19
19
|
StreamingCommunity/Api/Site/animeunity/site.py,sha256=GLULPQATMHcXiH99d772v1ICH-PnnZgSM3q5__eN-gs,4977
|
|
20
20
|
StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py,sha256=UladSvOlTEVLiV0-rAz45zrET5qRHMuTGuKEpeQoumU,3872
|
|
21
21
|
StreamingCommunity/Api/Site/animeworld/__init__.py,sha256=f3B52eUPXRB9Jet4Y-VxhUbJMFT7bTgtp9Hs_QGUTUY,5145
|
|
22
|
-
StreamingCommunity/Api/Site/animeworld/film.py,sha256=
|
|
23
|
-
StreamingCommunity/Api/Site/animeworld/serie.py,sha256=
|
|
22
|
+
StreamingCommunity/Api/Site/animeworld/film.py,sha256=iCnBHxam5umuCJ6TnknXrEXtgVYUKFkWqXd4L3E44T0,1750
|
|
23
|
+
StreamingCommunity/Api/Site/animeworld/serie.py,sha256=wmma2mlJd76SQpKRxPGlxWE8dw5BEzJGlBxc_9QR2wk,3538
|
|
24
24
|
StreamingCommunity/Api/Site/animeworld/site.py,sha256=Zdp6ayA1L6hS1t0q4fclHs7J1eiD16Ta9isTc13Zye8,3746
|
|
25
25
|
StreamingCommunity/Api/Site/animeworld/util/ScrapeSerie.py,sha256=S6sLtQt4Wvp4IVDho1uAXL8_-bbdj-RTRA1D7x9V8n8,3591
|
|
26
26
|
StreamingCommunity/Api/Site/crunchyroll/__init__.py,sha256=P3OfAaROt_vSKPA-abfKkYn1LIfwUhfyC_0TnsBfqxU,5344
|
|
27
|
-
StreamingCommunity/Api/Site/crunchyroll/film.py,sha256=
|
|
28
|
-
StreamingCommunity/Api/Site/crunchyroll/series.py,sha256=
|
|
29
|
-
StreamingCommunity/Api/Site/crunchyroll/site.py,sha256=
|
|
27
|
+
StreamingCommunity/Api/Site/crunchyroll/film.py,sha256=Yknhduczy56eGu7QJ4exSgjnIJDeopho_zszULzxiWQ,2666
|
|
28
|
+
StreamingCommunity/Api/Site/crunchyroll/series.py,sha256=1NGJTso62jl12KDI6Q1ZErHM90GMHQT8JzUrhniNuHo,7488
|
|
29
|
+
StreamingCommunity/Api/Site/crunchyroll/site.py,sha256=Y0YF0fqF2ZY0w_O_eMa-dNADFbshVT5AUcSqtqCktI8,3687
|
|
30
30
|
StreamingCommunity/Api/Site/crunchyroll/util/ScrapeSerie.py,sha256=ZY6z4pT5q7igiNZnJAvE9x0WiORTvFSH-U_CpqOzusA,7855
|
|
31
|
-
StreamingCommunity/Api/Site/crunchyroll/util/get_license.py,sha256=
|
|
31
|
+
StreamingCommunity/Api/Site/crunchyroll/util/get_license.py,sha256=60qwmDuecjgqoxqpRF4JfLtu0As2Q4s8HUcOIMMiBkc,4063
|
|
32
32
|
StreamingCommunity/Api/Site/guardaserie/__init__.py,sha256=wqW3AkQJPLszZtcNCjqZjnDXVRrr8cUaJuHUh1WjJV0,5125
|
|
33
|
-
StreamingCommunity/Api/Site/guardaserie/series.py,sha256
|
|
33
|
+
StreamingCommunity/Api/Site/guardaserie/series.py,sha256=-ExCTCMeC6GcIJS9m2qkl46eXozOtDhT9hI8WJFvF-Q,6696
|
|
34
34
|
StreamingCommunity/Api/Site/guardaserie/site.py,sha256=r-27X8V6c6RusWJy3geMri4Ox-BfMdBne0hFwKS5wlI,2174
|
|
35
35
|
StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py,sha256=4wk2TVb4YDoPrhR2uuNijYuOpSt9mhcxwcXhmwTHPUY,4396
|
|
36
36
|
StreamingCommunity/Api/Site/mediasetinfinity/__init__.py,sha256=0sssYE2ZcKLkoc3dq-6SUAWzxtW5gFP36KGWxWnfM6s,5265
|
|
37
|
-
StreamingCommunity/Api/Site/mediasetinfinity/film.py,sha256=
|
|
38
|
-
StreamingCommunity/Api/Site/mediasetinfinity/series.py,sha256=
|
|
39
|
-
StreamingCommunity/Api/Site/mediasetinfinity/site.py,sha256=
|
|
40
|
-
StreamingCommunity/Api/Site/mediasetinfinity/util/ScrapeSerie.py,sha256=
|
|
37
|
+
StreamingCommunity/Api/Site/mediasetinfinity/film.py,sha256=K5thRgQ3ps7aHMwPzHzVj53sr3k_QGH2Gol0SKR3Jrw,2336
|
|
38
|
+
StreamingCommunity/Api/Site/mediasetinfinity/series.py,sha256=ZBu897UFI90nA97bOZ-4s0r0-iaPnizEDz2IbAZkdXc,7018
|
|
39
|
+
StreamingCommunity/Api/Site/mediasetinfinity/site.py,sha256=W0eAZAxtPP1KK7DApvc34N0TwZdr_kZow5SZwRJLDFo,3352
|
|
40
|
+
StreamingCommunity/Api/Site/mediasetinfinity/util/ScrapeSerie.py,sha256=9ATUZbRfZVW1yYN-BQKaISbtMQCuEqk0gtJQlQr0GIk,10334
|
|
41
41
|
StreamingCommunity/Api/Site/mediasetinfinity/util/fix_mpd.py,sha256=B7uZfQ8X4p8KsiPVangFSs5rKKKpA3tavjPCdNrqyCc,1712
|
|
42
|
-
StreamingCommunity/Api/Site/mediasetinfinity/util/get_license.py,sha256=
|
|
42
|
+
StreamingCommunity/Api/Site/mediasetinfinity/util/get_license.py,sha256=MzCjQxzhuKINMQwSzeAgZeQwhdOviylDZOPDcjQwIKI,9408
|
|
43
43
|
StreamingCommunity/Api/Site/raiplay/__init__.py,sha256=RetTL3hWU9EpQJpOvV92xr57wI_dQwm40KRgJAQ_vfA,5269
|
|
44
|
-
StreamingCommunity/Api/Site/raiplay/film.py,sha256=
|
|
45
|
-
StreamingCommunity/Api/Site/raiplay/series.py,sha256=
|
|
46
|
-
StreamingCommunity/Api/Site/raiplay/site.py,sha256=
|
|
47
|
-
StreamingCommunity/Api/Site/raiplay/util/ScrapeSerie.py,sha256=
|
|
44
|
+
StreamingCommunity/Api/Site/raiplay/film.py,sha256=bN7BTrQOFweI-4icnVF8b4gE-A_fYEWlpeDM7xmRR8k,2675
|
|
45
|
+
StreamingCommunity/Api/Site/raiplay/series.py,sha256=YEw53lYAR7BGyQbpPhjMVavBg97HRLym7JKLA0Nzz9s,7646
|
|
46
|
+
StreamingCommunity/Api/Site/raiplay/site.py,sha256=s0ea7GmY4nrCm-j-Vvuc2Gpsv-521ifCfjM6jQuDqP4,3367
|
|
47
|
+
StreamingCommunity/Api/Site/raiplay/util/ScrapeSerie.py,sha256=JE4E4JiNcAJSA7g8hiPdi7BB_HaLlhFv38y05lQPUCU,6463
|
|
48
48
|
StreamingCommunity/Api/Site/raiplay/util/get_license.py,sha256=96Q5aSWhtxtmQl2yzylL-1x3jY24UpLLZlEE6YrO_gs,978
|
|
49
49
|
StreamingCommunity/Api/Site/streamingcommunity/__init__.py,sha256=EHe8TY4Fcn064PlJ4ubDwr6N0muilfUMpK5-yyOwp-A,5425
|
|
50
|
-
StreamingCommunity/Api/Site/streamingcommunity/film.py,sha256=
|
|
51
|
-
StreamingCommunity/Api/Site/streamingcommunity/series.py,sha256=
|
|
50
|
+
StreamingCommunity/Api/Site/streamingcommunity/film.py,sha256=b03gI_JTEDPQirlQexG7cPSU8WIgw3HKjlJ25m9Abko,2781
|
|
51
|
+
StreamingCommunity/Api/Site/streamingcommunity/series.py,sha256=cXGpLg-9vLZ8RCsneR4H6oFO-TqAcAp2nJeP5mEWw14,9057
|
|
52
52
|
StreamingCommunity/Api/Site/streamingcommunity/site.py,sha256=YlrxE1ktC3obpwra8PNBZizZvaYLCh_iHWB_bD-3AaU,3941
|
|
53
53
|
StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py,sha256=b-PWO1fP68yfptLb5X3i4M1PFZHKkqJh32yHgKsoIGs,5684
|
|
54
54
|
StreamingCommunity/Api/Site/streamingwatch/__init__.py,sha256=kdZBQxQu9KIKmU0ml4Tpc2wvFak05Y8dk1ewGKXceeg,5425
|
|
55
|
-
StreamingCommunity/Api/Site/streamingwatch/film.py,sha256=
|
|
56
|
-
StreamingCommunity/Api/Site/streamingwatch/series.py,sha256=
|
|
55
|
+
StreamingCommunity/Api/Site/streamingwatch/film.py,sha256=sUWgZQt6cTIR3e12LAFBq5CcunaDwecxMIp0uj2xcGk,1695
|
|
56
|
+
StreamingCommunity/Api/Site/streamingwatch/series.py,sha256=2mc3DlVY_VAQbNND9Ruba82m209Mieohtc9gmUbOCBE,6353
|
|
57
57
|
StreamingCommunity/Api/Site/streamingwatch/site.py,sha256=imwsj7Ah6M8PmGFFUmi_A7guSXEI-X5mUH7Qy796kvw,3284
|
|
58
58
|
StreamingCommunity/Api/Site/streamingwatch/util/ScrapeSerie.py,sha256=h28W2Q_cZhBe4v91dvUDYbLBUV98i2Ghb1OOhVq3Iuk,4289
|
|
59
59
|
StreamingCommunity/Api/Template/__init__.py,sha256=fiDHu2yUk3Jk5CWmmnCJNy9fRLbq8RhHB_20NDD12tA,84
|
|
60
60
|
StreamingCommunity/Api/Template/config_loader.py,sha256=2RT_0mqQmWzXM4rYaqss-yhXztYAcfNkTalFPjzv270,2056
|
|
61
|
+
StreamingCommunity/Api/Template/loader.py,sha256=AmEv_hxJ8lyEzV2Nx72BoawzXNHUFr5VjL85oj0hmAo,5472
|
|
61
62
|
StreamingCommunity/Api/Template/site.py,sha256=S3DcEADTKM7OSDlrreMf33zDKK7HBStRImuQwg2aoRY,4937
|
|
62
63
|
StreamingCommunity/Api/Template/Class/SearchType.py,sha256=xp4vYKYHoXQF28fvWm0mk8XHvK9PkOcuWJXC5fbk4Gg,2529
|
|
63
64
|
StreamingCommunity/Api/Template/Util/__init__.py,sha256=v23VkosPNOQG5XbDkyCx5shEVJvRJffgkAF_Am5zMQc,377
|
|
@@ -65,21 +66,21 @@ StreamingCommunity/Api/Template/Util/manage_ep.py,sha256=EFu5_7N_Fd6fVF7Ix14uWfr
|
|
|
65
66
|
StreamingCommunity/Lib/Downloader/__init__.py,sha256=Zh92xTvBIEIjNQN22iXItG7_VqiDGbOpO5gOZDBdGxc,288
|
|
66
67
|
StreamingCommunity/Lib/Downloader/DASH/cdm_helpher.py,sha256=22kh7jvnhU-_mPM_EHgaDxurmAUuOLDc40DrZ2_3MN0,4037
|
|
67
68
|
StreamingCommunity/Lib/Downloader/DASH/decrypt.py,sha256=q5ARjb-wsJ0oxeNc-h8jB-LQjQH-idjHAE0ZP4hwNdg,2442
|
|
68
|
-
StreamingCommunity/Lib/Downloader/DASH/downloader.py,sha256=
|
|
69
|
+
StreamingCommunity/Lib/Downloader/DASH/downloader.py,sha256=yjxgyj81OkgcUABxO-KNpnijvvLrIarhCfkDE-iKLqE,20361
|
|
69
70
|
StreamingCommunity/Lib/Downloader/DASH/parser.py,sha256=QUyYhmu-zI2GieiNZaoOoDVPTclSKXsrdeToAtbC9yI,9858
|
|
70
|
-
StreamingCommunity/Lib/Downloader/DASH/segments.py,sha256=
|
|
71
|
-
StreamingCommunity/Lib/Downloader/HLS/downloader.py,sha256=
|
|
72
|
-
StreamingCommunity/Lib/Downloader/HLS/segments.py,sha256=
|
|
73
|
-
StreamingCommunity/Lib/Downloader/MP4/downloader.py,sha256=
|
|
71
|
+
StreamingCommunity/Lib/Downloader/DASH/segments.py,sha256=OTUjhiIU6cqG0ouM5Y3DGEQXJS3i_s79RlOKHLi0fGw,16794
|
|
72
|
+
StreamingCommunity/Lib/Downloader/HLS/downloader.py,sha256=HmjOk_jkwCAWYfIrzbnx6TRHweElUFLg1OT2zwoPGgQ,28452
|
|
73
|
+
StreamingCommunity/Lib/Downloader/HLS/segments.py,sha256=D8WtzfecZ9qgZ8ePPwYBV448mDvQBbfX4G9WFeJJVrw,22715
|
|
74
|
+
StreamingCommunity/Lib/Downloader/MP4/downloader.py,sha256=KoxcaOkldRI9f7AAwJkWqN983vz9xLA5jwEeq6Xgmvo,7773
|
|
74
75
|
StreamingCommunity/Lib/Downloader/TOR/downloader.py,sha256=tYOCuKkKDcTIJ-2bGIeplovRkLTdp89i8lUvJs_N9jc,19133
|
|
75
76
|
StreamingCommunity/Lib/FFmpeg/__init__.py,sha256=NZmOXpnc5jvdvjNnHPxvj5bzp0GUuNMXd00Fcy4rQPI,258
|
|
76
77
|
StreamingCommunity/Lib/FFmpeg/capture.py,sha256=3gPNgndHABXSBSJOxWhijwRIs_q-GTTmFO5XB0OdskI,5038
|
|
77
|
-
StreamingCommunity/Lib/FFmpeg/command.py,sha256=
|
|
78
|
-
StreamingCommunity/Lib/FFmpeg/util.py,sha256=
|
|
78
|
+
StreamingCommunity/Lib/FFmpeg/command.py,sha256=Xzz_BtNGg5zH_8IhU7JsmgehzJlJHYs5DNDvb7MZaNs,10425
|
|
79
|
+
StreamingCommunity/Lib/FFmpeg/util.py,sha256=ISSNKvK61R0pGc9w6juK6S3jBb9SvrdTlTu8ycxg8FY,8903
|
|
79
80
|
StreamingCommunity/Lib/M3U8/__init__.py,sha256=Zxij4WFCxjwyfswUfBv0oys_o0vQpAL5PoK5TGG_StY,288
|
|
80
81
|
StreamingCommunity/Lib/M3U8/decryptor.py,sha256=0VPMWbfwP9aEr4Y8OYi-e4o0ucMeCnV9HyuiOWxu_sE,2361
|
|
81
|
-
StreamingCommunity/Lib/M3U8/estimator.py,sha256=
|
|
82
|
-
StreamingCommunity/Lib/M3U8/parser.py,sha256=
|
|
82
|
+
StreamingCommunity/Lib/M3U8/estimator.py,sha256=q8zEjjtxrnDXHbSh6ZsUDSMH5-nwbrk2LXDmsCaPuos,6516
|
|
83
|
+
StreamingCommunity/Lib/M3U8/parser.py,sha256=ykffMt7wmvDij70Whxz-hin0ZcmfRIj3VufXFGbHyMc,22573
|
|
83
84
|
StreamingCommunity/Lib/M3U8/url_fixer.py,sha256=0Wd6MsBf8BBQ6mmHFElgCX3UbHAzRzSREmi03yb4gU4,1735
|
|
84
85
|
StreamingCommunity/Lib/TMBD/__init__.py,sha256=TBKZ0zwAUvil2V2AirEPy_Q-M3Ksar2CJsUNt4tpXhk,109
|
|
85
86
|
StreamingCommunity/Lib/TMBD/obj_tmbd.py,sha256=dRSvJFS5yqmsBZcw2wqbStcBtXNjU_3n5czMyremAtU,1187
|
|
@@ -87,24 +88,24 @@ StreamingCommunity/Lib/TMBD/tmdb.py,sha256=QaYOskwBZbSejI0pG8h_pX4_7VNn9-3XZ3Nw6
|
|
|
87
88
|
StreamingCommunity/TelegramHelp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
88
89
|
StreamingCommunity/TelegramHelp/config.json,sha256=v7FjA4smyLWZxChATewmvxDjJcclOCRZ_BIFPJd8Jvc,1374
|
|
89
90
|
StreamingCommunity/TelegramHelp/telegram_bot.py,sha256=KiurpTrgiUNyMcLfceseaxV4xGegCUSJ8YttSeGXhJM,26429
|
|
90
|
-
StreamingCommunity/Upload/update.py,sha256=
|
|
91
|
-
StreamingCommunity/Upload/version.py,sha256=
|
|
91
|
+
StreamingCommunity/Upload/update.py,sha256=grMrdVdAo2jnpobosgXtKU7_xAIxYrhrJY5ce67HS3g,3649
|
|
92
|
+
StreamingCommunity/Upload/version.py,sha256=h2Q8pvb7bn7gw3fxo06hdomqYsU77CpA4TCB8TlBf3U,170
|
|
92
93
|
StreamingCommunity/Util/color.py,sha256=NvD0Eni-25oOOkY-szCEoc0lGvzQxyL7xhM0RE4EvUM,458
|
|
93
|
-
StreamingCommunity/Util/config_json.py,sha256=
|
|
94
|
+
StreamingCommunity/Util/config_json.py,sha256=g52iOA-AUmXx1Q--1OeBidILbaICX4uR_rezWfjG4TU,22807
|
|
94
95
|
StreamingCommunity/Util/headers.py,sha256=RP3A6Gr8UB8VU6uzw_yDOjEKkIFKpi7Gi6_w2ACxE30,292
|
|
95
96
|
StreamingCommunity/Util/http_client.py,sha256=Z9537JZLoaPq3S9dfipe4nrWNL7QOyvxkqUlZHdSo40,6253
|
|
96
97
|
StreamingCommunity/Util/logger.py,sha256=jexWdX8G7Sf3k5suyFNYlVXNgjsJjlAP5OrhGEQ8s0A,3069
|
|
97
|
-
StreamingCommunity/Util/message.py,sha256=
|
|
98
|
-
StreamingCommunity/Util/os.py,sha256=
|
|
98
|
+
StreamingCommunity/Util/message.py,sha256=5oBph-Nvv6k_lp8hG4GIeDTahPqrQ9Dh0HQDry9iY5U,1261
|
|
99
|
+
StreamingCommunity/Util/os.py,sha256=oX1x_mzAt2ouH3qJ2Zzdtn4RQpAF5d1ijnE843mTPAk,12140
|
|
99
100
|
StreamingCommunity/Util/table.py,sha256=61cPSXxhmAkI1aLE0X7OisB04Yb-grnLTZ5NlLfE-qA,10796
|
|
100
101
|
StreamingCommunity/Util/installer/__init__.py,sha256=CpsWRXHHsve9YC6g8--uVUsTillHi0y5mgjBboUOZrM,234
|
|
101
|
-
StreamingCommunity/Util/installer/bento4_install.py,sha256=
|
|
102
|
+
StreamingCommunity/Util/installer/bento4_install.py,sha256=8ZddP9_6Fa30pVJyOMqnedL8tmcrvsng9FZ_4w44W18,6976
|
|
102
103
|
StreamingCommunity/Util/installer/binary_paths.py,sha256=-vo1sAavMBCg8u1Bx-CNhUIlWdQ7C2gcT2esVMSpKxs,2470
|
|
103
|
-
StreamingCommunity/Util/installer/device_install.py,sha256=
|
|
104
|
-
StreamingCommunity/Util/installer/ffmpeg_install.py,sha256=
|
|
105
|
-
streamingcommunity-3.3.
|
|
106
|
-
streamingcommunity-3.3.
|
|
107
|
-
streamingcommunity-3.3.
|
|
108
|
-
streamingcommunity-3.3.
|
|
109
|
-
streamingcommunity-3.3.
|
|
110
|
-
streamingcommunity-3.3.
|
|
104
|
+
StreamingCommunity/Util/installer/device_install.py,sha256=3_pQcz6-lpDth2f2kq4uiV-nPEMGTDB7Q4lThyRnwrI,4389
|
|
105
|
+
StreamingCommunity/Util/installer/ffmpeg_install.py,sha256=OobkwdIhO9QbMGjoTvYCeYzdodU0K1LX6LaMLRl7nZY,13562
|
|
106
|
+
streamingcommunity-3.3.8.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
107
|
+
streamingcommunity-3.3.8.dist-info/METADATA,sha256=GDqhnZCUPZip1LHI2ZNaCFfwH_v_mBionWj1Ls9nvks,20252
|
|
108
|
+
streamingcommunity-3.3.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
109
|
+
streamingcommunity-3.3.8.dist-info/entry_points.txt,sha256=Qph9XYfDC8n4LfDLOSl6gJGlkb9eFb5f-JOr_Wb_5rk,67
|
|
110
|
+
streamingcommunity-3.3.8.dist-info/top_level.txt,sha256=YsOcxKP-WOhWpIWgBlh0coll9XUx7aqmRPT7kmt3fH0,19
|
|
111
|
+
streamingcommunity-3.3.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|