StreamingCommunity 1.9.5__py3-none-any.whl → 1.9.90__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/Helper/Vixcloud/js_parser.py +143 -0
- StreamingCommunity/Api/Player/Helper/Vixcloud/util.py +145 -0
- StreamingCommunity/Api/Player/ddl.py +89 -0
- StreamingCommunity/Api/Player/maxstream.py +151 -0
- StreamingCommunity/Api/Player/supervideo.py +194 -0
- StreamingCommunity/Api/Player/vixcloud.py +273 -0
- StreamingCommunity/Api/Site/1337xx/__init__.py +51 -0
- StreamingCommunity/Api/Site/1337xx/costant.py +15 -0
- StreamingCommunity/Api/Site/1337xx/site.py +86 -0
- StreamingCommunity/Api/Site/1337xx/title.py +66 -0
- StreamingCommunity/Api/Site/altadefinizione/__init__.py +51 -0
- StreamingCommunity/Api/Site/altadefinizione/costant.py +15 -0
- StreamingCommunity/Api/Site/altadefinizione/film.py +74 -0
- StreamingCommunity/Api/Site/altadefinizione/site.py +89 -0
- StreamingCommunity/Api/Site/animeunity/__init__.py +51 -0
- StreamingCommunity/Api/Site/animeunity/costant.py +15 -0
- StreamingCommunity/Api/Site/animeunity/film_serie.py +135 -0
- StreamingCommunity/Api/Site/animeunity/site.py +167 -0
- StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py +97 -0
- StreamingCommunity/Api/Site/cb01new/__init__.py +52 -0
- StreamingCommunity/Api/Site/cb01new/costant.py +15 -0
- StreamingCommunity/Api/Site/cb01new/film.py +73 -0
- StreamingCommunity/Api/Site/cb01new/site.py +76 -0
- StreamingCommunity/Api/Site/ddlstreamitaly/__init__.py +58 -0
- StreamingCommunity/Api/Site/ddlstreamitaly/costant.py +16 -0
- StreamingCommunity/Api/Site/ddlstreamitaly/series.py +146 -0
- StreamingCommunity/Api/Site/ddlstreamitaly/site.py +95 -0
- StreamingCommunity/Api/Site/ddlstreamitaly/util/ScrapeSerie.py +85 -0
- StreamingCommunity/Api/Site/guardaserie/__init__.py +53 -0
- StreamingCommunity/Api/Site/guardaserie/costant.py +15 -0
- StreamingCommunity/Api/Site/guardaserie/series.py +199 -0
- StreamingCommunity/Api/Site/guardaserie/site.py +86 -0
- StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py +110 -0
- StreamingCommunity/Api/Site/ilcorsaronero/__init__.py +52 -0
- StreamingCommunity/Api/Site/ilcorsaronero/costant.py +15 -0
- StreamingCommunity/Api/Site/ilcorsaronero/site.py +63 -0
- StreamingCommunity/Api/Site/ilcorsaronero/title.py +46 -0
- StreamingCommunity/Api/Site/ilcorsaronero/util/ilCorsarScraper.py +141 -0
- StreamingCommunity/Api/Site/mostraguarda/__init__.py +49 -0
- StreamingCommunity/Api/Site/mostraguarda/costant.py +15 -0
- StreamingCommunity/Api/Site/mostraguarda/film.py +99 -0
- StreamingCommunity/Api/Site/streamingcommunity/__init__.py +56 -0
- StreamingCommunity/Api/Site/streamingcommunity/costant.py +15 -0
- StreamingCommunity/Api/Site/streamingcommunity/film.py +75 -0
- StreamingCommunity/Api/Site/streamingcommunity/series.py +206 -0
- StreamingCommunity/Api/Site/streamingcommunity/site.py +137 -0
- StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py +123 -0
- StreamingCommunity/Api/Template/Class/SearchType.py +101 -0
- StreamingCommunity/Api/Template/Util/__init__.py +5 -0
- StreamingCommunity/Api/Template/Util/get_domain.py +173 -0
- StreamingCommunity/Api/Template/Util/manage_ep.py +179 -0
- StreamingCommunity/Api/Template/Util/recall_search.py +37 -0
- StreamingCommunity/Api/Template/__init__.py +3 -0
- StreamingCommunity/Api/Template/site.py +87 -0
- StreamingCommunity/Lib/Downloader/HLS/downloader.py +946 -0
- StreamingCommunity/Lib/Downloader/HLS/proxyes.py +110 -0
- StreamingCommunity/Lib/Downloader/HLS/segments.py +561 -0
- StreamingCommunity/Lib/Downloader/MP4/downloader.py +155 -0
- StreamingCommunity/Lib/Downloader/TOR/downloader.py +296 -0
- StreamingCommunity/Lib/Downloader/__init__.py +5 -0
- StreamingCommunity/Lib/FFmpeg/__init__.py +4 -0
- StreamingCommunity/Lib/FFmpeg/capture.py +170 -0
- StreamingCommunity/Lib/FFmpeg/command.py +296 -0
- StreamingCommunity/Lib/FFmpeg/util.py +249 -0
- StreamingCommunity/Lib/M3U8/__init__.py +6 -0
- StreamingCommunity/Lib/M3U8/decryptor.py +164 -0
- StreamingCommunity/Lib/M3U8/estimator.py +176 -0
- StreamingCommunity/Lib/M3U8/parser.py +666 -0
- StreamingCommunity/Lib/M3U8/url_fixer.py +52 -0
- StreamingCommunity/Lib/TMBD/__init__.py +2 -0
- StreamingCommunity/Lib/TMBD/obj_tmbd.py +39 -0
- StreamingCommunity/Lib/TMBD/tmdb.py +346 -0
- StreamingCommunity/Upload/update.py +68 -0
- StreamingCommunity/Upload/version.py +5 -0
- StreamingCommunity/Util/_jsonConfig.py +204 -0
- StreamingCommunity/Util/call_stack.py +42 -0
- StreamingCommunity/Util/color.py +20 -0
- StreamingCommunity/Util/console.py +12 -0
- StreamingCommunity/Util/ffmpeg_installer.py +311 -0
- StreamingCommunity/Util/headers.py +147 -0
- StreamingCommunity/Util/logger.py +53 -0
- StreamingCommunity/Util/message.py +64 -0
- StreamingCommunity/Util/os.py +554 -0
- StreamingCommunity/Util/table.py +229 -0
- StreamingCommunity/__init__.py +0 -0
- StreamingCommunity/run.py +2 -11
- {StreamingCommunity-1.9.5.dist-info → StreamingCommunity-1.9.90.dist-info}/METADATA +10 -27
- StreamingCommunity-1.9.90.dist-info/RECORD +92 -0
- {StreamingCommunity-1.9.5.dist-info → StreamingCommunity-1.9.90.dist-info}/WHEEL +1 -1
- {StreamingCommunity-1.9.5.dist-info → StreamingCommunity-1.9.90.dist-info}/entry_points.txt +0 -1
- StreamingCommunity-1.9.5.dist-info/RECORD +0 -7
- {StreamingCommunity-1.9.5.dist-info → StreamingCommunity-1.9.90.dist-info}/LICENSE +0 -0
- {StreamingCommunity-1.9.5.dist-info → StreamingCommunity-1.9.90.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
# 03.03.24
|
|
2
|
+
|
|
3
|
+
import os
|
|
4
|
+
import sys
|
|
5
|
+
import logging
|
|
6
|
+
import importlib
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# External library
|
|
10
|
+
from rich.console import Console
|
|
11
|
+
from rich.table import Table
|
|
12
|
+
from rich.prompt import Prompt
|
|
13
|
+
from rich.style import Style
|
|
14
|
+
from typing import Dict, List, Any
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# Internal utilities
|
|
18
|
+
from .message import start_message
|
|
19
|
+
from .call_stack import get_call_stack
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class TVShowManager:
|
|
23
|
+
def __init__(self):
|
|
24
|
+
"""
|
|
25
|
+
Initialize TVShowManager with provided column information.
|
|
26
|
+
"""
|
|
27
|
+
self.console = Console()
|
|
28
|
+
self.tv_shows: List[Dict[str, Any]] = [] # List to store TV show data as dictionaries
|
|
29
|
+
self.slice_start: int = 0
|
|
30
|
+
self.slice_end: int = 5
|
|
31
|
+
self.step: int = self.slice_end
|
|
32
|
+
self.column_info = []
|
|
33
|
+
|
|
34
|
+
def set_slice_end(self, new_slice: int) -> None:
|
|
35
|
+
"""
|
|
36
|
+
Set the end of the slice for displaying TV shows.
|
|
37
|
+
|
|
38
|
+
Parameters:
|
|
39
|
+
- new_slice (int): The new value for the slice end.
|
|
40
|
+
"""
|
|
41
|
+
self.slice_end = new_slice
|
|
42
|
+
self.step = new_slice
|
|
43
|
+
|
|
44
|
+
def add_column(self, column_info: Dict[str, Dict[str, str]]) -> None:
|
|
45
|
+
"""
|
|
46
|
+
Add column information.
|
|
47
|
+
|
|
48
|
+
Parameters:
|
|
49
|
+
- column_info (Dict[str, Dict[str, str]]): Dictionary containing column names, their colors, and justification.
|
|
50
|
+
"""
|
|
51
|
+
self.column_info = column_info
|
|
52
|
+
|
|
53
|
+
def add_tv_show(self, tv_show: Dict[str, Any]):
|
|
54
|
+
"""
|
|
55
|
+
Add a TV show to the list of TV shows.
|
|
56
|
+
|
|
57
|
+
Parameters:
|
|
58
|
+
- tv_show (Dict[str, Any]): Dictionary containing TV show details.
|
|
59
|
+
"""
|
|
60
|
+
self.tv_shows.append(tv_show)
|
|
61
|
+
|
|
62
|
+
def display_data(self, data_slice: List[Dict[str, Any]]):
|
|
63
|
+
"""
|
|
64
|
+
Display TV show data in a tabular format.
|
|
65
|
+
|
|
66
|
+
Parameters:
|
|
67
|
+
- data_slice (List[Dict[str, Any]]): List of dictionaries containing TV show details to display.
|
|
68
|
+
"""
|
|
69
|
+
table = Table(border_style="white")
|
|
70
|
+
|
|
71
|
+
# Add columns dynamically based on provided column information
|
|
72
|
+
for col_name, col_style in self.column_info.items():
|
|
73
|
+
color = col_style.get("color", None)
|
|
74
|
+
if color:
|
|
75
|
+
style = Style(color=color)
|
|
76
|
+
else:
|
|
77
|
+
style = None
|
|
78
|
+
table.add_column(col_name, style=style, justify='center')
|
|
79
|
+
|
|
80
|
+
# Add rows dynamically based on available TV show data
|
|
81
|
+
for entry in data_slice:
|
|
82
|
+
# Create row data while handling missing keys
|
|
83
|
+
row_data = [entry.get(col_name, '') for col_name in self.column_info.keys()]
|
|
84
|
+
table.add_row(*row_data)
|
|
85
|
+
|
|
86
|
+
self.console.print(table)
|
|
87
|
+
|
|
88
|
+
def run_back_command(self, research_func: dict):
|
|
89
|
+
"""
|
|
90
|
+
Executes a back-end search command by dynamically importing a module and invoking its search function.
|
|
91
|
+
|
|
92
|
+
Args:
|
|
93
|
+
research_func (dict): A dictionary containing:
|
|
94
|
+
- 'folder' (str): The absolute path to the directory containing the module to be executed.
|
|
95
|
+
"""
|
|
96
|
+
try:
|
|
97
|
+
|
|
98
|
+
# Get site name from folder
|
|
99
|
+
site_name = (os.path.basename(research_func['folder']))
|
|
100
|
+
|
|
101
|
+
# Find the project root directory
|
|
102
|
+
current_path = research_func['folder']
|
|
103
|
+
while not os.path.exists(os.path.join(current_path, 'StreamingCommunity')):
|
|
104
|
+
current_path = os.path.dirname(current_path)
|
|
105
|
+
|
|
106
|
+
# Add project root to Python path
|
|
107
|
+
project_root = current_path
|
|
108
|
+
#print(f"[DEBUG] Project Root: {project_root}")
|
|
109
|
+
|
|
110
|
+
if project_root not in sys.path:
|
|
111
|
+
sys.path.insert(0, project_root)
|
|
112
|
+
|
|
113
|
+
# Import using full absolute import
|
|
114
|
+
module_path = f'StreamingCommunity.Api.Site.{site_name}'
|
|
115
|
+
#print(f"[DEBUG] Importing module: {module_path}")
|
|
116
|
+
|
|
117
|
+
# Import the module
|
|
118
|
+
module = importlib.import_module(module_path)
|
|
119
|
+
|
|
120
|
+
# Get the search function
|
|
121
|
+
search_func = getattr(module, 'search')
|
|
122
|
+
|
|
123
|
+
# Call the search function with the search string
|
|
124
|
+
search_func(None)
|
|
125
|
+
|
|
126
|
+
except Exception as e:
|
|
127
|
+
self.console.print(f"[red]Error during search: {e}")
|
|
128
|
+
|
|
129
|
+
# Print detailed traceback
|
|
130
|
+
import traceback
|
|
131
|
+
traceback.print_exc()
|
|
132
|
+
|
|
133
|
+
# Optionally remove the path if you want to clean up
|
|
134
|
+
if project_root in sys.path:
|
|
135
|
+
sys.path.remove(project_root)
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
def run(self, force_int_input: bool = False, max_int_input: int = 0) -> str:
|
|
139
|
+
"""
|
|
140
|
+
Run the TV show manager application.
|
|
141
|
+
|
|
142
|
+
Parameters:
|
|
143
|
+
- force_int_input(bool): If True, only accept integer inputs from 0 to max_int_input
|
|
144
|
+
- max_int_input (int): range of row to show
|
|
145
|
+
|
|
146
|
+
Returns:
|
|
147
|
+
str: Last command executed before breaking out of the loop.
|
|
148
|
+
"""
|
|
149
|
+
total_items = len(self.tv_shows)
|
|
150
|
+
last_command = "" # Variable to store the last command executed
|
|
151
|
+
|
|
152
|
+
while True:
|
|
153
|
+
start_message()
|
|
154
|
+
|
|
155
|
+
# Display table
|
|
156
|
+
self.display_data(self.tv_shows[self.slice_start:self.slice_end])
|
|
157
|
+
|
|
158
|
+
# Find research function from call stack
|
|
159
|
+
research_func = None
|
|
160
|
+
for reverse_fun in get_call_stack():
|
|
161
|
+
if reverse_fun['function'] == 'search' and reverse_fun['script'] == '__init__.py':
|
|
162
|
+
research_func = reverse_fun
|
|
163
|
+
logging.info(f"Found research_func: {research_func}")
|
|
164
|
+
|
|
165
|
+
# Handling user input for loading more items or quitting
|
|
166
|
+
if self.slice_end < total_items:
|
|
167
|
+
self.console.print(f"\n[green]Press [red]Enter [green]for next page, [red]'q' [green]to quit, or [red]'back' [green]to search.")
|
|
168
|
+
|
|
169
|
+
if not force_int_input:
|
|
170
|
+
key = Prompt.ask(
|
|
171
|
+
"\n[cyan]Insert media index [yellow](e.g., 1), [red]* [cyan]to download all media, "
|
|
172
|
+
"[yellow](e.g., 1-2) [cyan]for a range of media, or [yellow](e.g., 3-*) [cyan]to download from a specific index to the end"
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
else:
|
|
176
|
+
choices = [str(i) for i in range(0, max_int_input)]
|
|
177
|
+
choices.extend(["q", "", "back"])
|
|
178
|
+
|
|
179
|
+
key = Prompt.ask("[cyan]Insert media [red]index", choices=choices, show_choices=False)
|
|
180
|
+
last_command = key
|
|
181
|
+
|
|
182
|
+
if key.lower() == "q":
|
|
183
|
+
break
|
|
184
|
+
|
|
185
|
+
elif key == "":
|
|
186
|
+
self.slice_start += self.step
|
|
187
|
+
self.slice_end += self.step
|
|
188
|
+
if self.slice_end > total_items:
|
|
189
|
+
self.slice_end = total_items
|
|
190
|
+
|
|
191
|
+
elif key.lower() == "back" and research_func:
|
|
192
|
+
self.run_back_command(research_func)
|
|
193
|
+
|
|
194
|
+
else:
|
|
195
|
+
break
|
|
196
|
+
|
|
197
|
+
else:
|
|
198
|
+
# Last slice, ensure all remaining items are shown
|
|
199
|
+
self.console.print(f"\n [green]You've reached the end. [red]Enter [green]for first page, [red]'q' [green]to quit, or [red]'back' [green]to search.")
|
|
200
|
+
if not force_int_input:
|
|
201
|
+
key = Prompt.ask(
|
|
202
|
+
"\n[cyan]Insert media index [yellow](e.g., 1), [red]* [cyan]to download all media, "
|
|
203
|
+
"[yellow](e.g., 1-2) [cyan]for a range of media, or [yellow](e.g., 3-*) [cyan]to download from a specific index to the end"
|
|
204
|
+
)
|
|
205
|
+
|
|
206
|
+
else:
|
|
207
|
+
choices = [str(i) for i in range(0, max_int_input)]
|
|
208
|
+
choices.extend(["q", "", "back"])
|
|
209
|
+
|
|
210
|
+
key = Prompt.ask("[cyan]Insert media [red]index", choices=choices, show_choices=False)
|
|
211
|
+
last_command = key
|
|
212
|
+
|
|
213
|
+
if key.lower() == "q":
|
|
214
|
+
break
|
|
215
|
+
|
|
216
|
+
elif key == "":
|
|
217
|
+
self.slice_start = 0
|
|
218
|
+
self.slice_end = self.step
|
|
219
|
+
|
|
220
|
+
elif key.lower() == "back" and research_func:
|
|
221
|
+
self.run_back_command(research_func)
|
|
222
|
+
|
|
223
|
+
else:
|
|
224
|
+
break
|
|
225
|
+
|
|
226
|
+
return last_command
|
|
227
|
+
|
|
228
|
+
def clear(self):
|
|
229
|
+
self.tv_shows = []
|
|
File without changes
|
StreamingCommunity/run.py
CHANGED
|
@@ -17,13 +17,11 @@ from StreamingCommunity.Util.console import console, msg
|
|
|
17
17
|
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
18
18
|
from StreamingCommunity.Upload.update import update as git_update
|
|
19
19
|
from StreamingCommunity.Util.os import os_summary
|
|
20
|
-
from StreamingCommunity.Lib.TMBD import tmdb
|
|
21
20
|
from StreamingCommunity.Util.logger import Logger
|
|
22
21
|
|
|
23
22
|
|
|
24
23
|
# Config
|
|
25
24
|
CLOSE_CONSOLE = config_manager.get_bool('DEFAULT', 'not_close')
|
|
26
|
-
SHOW_TRENDING = config_manager.get_bool('DEFAULT', 'show_trending')
|
|
27
25
|
|
|
28
26
|
|
|
29
27
|
def run_function(func: Callable[..., None], close_console: bool = False) -> None:
|
|
@@ -114,7 +112,7 @@ def initialize():
|
|
|
114
112
|
if platform.system() == "Windows" and "7" in platform.version():
|
|
115
113
|
os.system('mode 120, 40')
|
|
116
114
|
|
|
117
|
-
# Check python version
|
|
115
|
+
"""# Check python version
|
|
118
116
|
if sys.version_info < (3, 7):
|
|
119
117
|
console.log("[red]Install python version > 3.7.16")
|
|
120
118
|
sys.exit(0)
|
|
@@ -124,14 +122,7 @@ def initialize():
|
|
|
124
122
|
git_update()
|
|
125
123
|
print()
|
|
126
124
|
except:
|
|
127
|
-
console.log("[red]Error with loading github.")
|
|
128
|
-
|
|
129
|
-
# Show trending film and series
|
|
130
|
-
if SHOW_TRENDING:
|
|
131
|
-
tmdb.display_trending_films()
|
|
132
|
-
print()
|
|
133
|
-
tmdb.display_trending_tv_shows()
|
|
134
|
-
print()
|
|
125
|
+
console.log("[red]Error with loading github.")"""
|
|
135
126
|
|
|
136
127
|
|
|
137
128
|
def main():
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: StreamingCommunity
|
|
3
|
-
Version: 1.9.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 1.9.90
|
|
4
|
+
Summary: A streaming community package
|
|
5
5
|
Home-page: https://github.com/Lovi-0/StreamingCommunity
|
|
6
6
|
Author: Lovi-0
|
|
7
|
-
License: UNKNOWN
|
|
8
7
|
Project-URL: Bug Reports, https://github.com/Lovi-0/StreamingCommunity/issues
|
|
9
8
|
Project-URL: Source, https://github.com/Lovi-0/StreamingCommunity
|
|
10
|
-
Keywords:
|
|
11
|
-
Platform: UNKNOWN
|
|
9
|
+
Keywords: Streaming Community
|
|
12
10
|
Requires-Python: >=3.8
|
|
13
11
|
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE
|
|
14
13
|
Requires-Dist: httpx
|
|
14
|
+
Requires-Dist: cffi
|
|
15
15
|
Requires-Dist: bs4
|
|
16
16
|
Requires-Dist: rich
|
|
17
17
|
Requires-Dist: tqdm
|
|
@@ -20,7 +20,7 @@ Requires-Dist: psutil
|
|
|
20
20
|
Requires-Dist: unidecode
|
|
21
21
|
Requires-Dist: jsbeautifier
|
|
22
22
|
Requires-Dist: pathvalidate
|
|
23
|
-
Requires-Dist:
|
|
23
|
+
Requires-Dist: pycryptodomex
|
|
24
24
|
Requires-Dist: fake-useragent==1.1.3
|
|
25
25
|
Requires-Dist: qbittorrent-api
|
|
26
26
|
Requires-Dist: python-qbittorrent
|
|
@@ -48,7 +48,6 @@ Chat, contribute, and have fun in our **Git_StreamingCommunity** Discord [Server
|
|
|
48
48
|
- [Configuration](#configuration)
|
|
49
49
|
- [Default](#default-settings)
|
|
50
50
|
- [Request](#requests-settings)
|
|
51
|
-
- [Browser](#browser-settings)
|
|
52
51
|
- [Download](#m3u8_download-settings)
|
|
53
52
|
- [Parser](#m3u8_parser-settings)
|
|
54
53
|
- [Docker](#docker)
|
|
@@ -112,13 +111,13 @@ pip install --upgrade StreamingCommunity
|
|
|
112
111
|
#### On Windows:
|
|
113
112
|
|
|
114
113
|
```powershell
|
|
115
|
-
.\win_install.bat
|
|
114
|
+
.\Installer\win_install.bat
|
|
116
115
|
```
|
|
117
116
|
|
|
118
117
|
#### On Linux/MacOS/BSD:
|
|
119
118
|
|
|
120
119
|
```bash
|
|
121
|
-
sudo chmod +x unix_install.sh && ./unix_install.sh
|
|
120
|
+
sudo chmod +x Installer/unix_install.sh && ./Installer/unix_install.sh
|
|
122
121
|
```
|
|
123
122
|
|
|
124
123
|
### Usage
|
|
@@ -201,8 +200,7 @@ The configuration file is divided into several main sections:
|
|
|
201
200
|
"movie_folder_name": "Movie",
|
|
202
201
|
"serie_folder_name": "TV",
|
|
203
202
|
"map_episode_name": "%(tv_name)_S%(season)E%(episode)_%(episode_name)",
|
|
204
|
-
"not_close": false
|
|
205
|
-
"show_trending": false
|
|
203
|
+
"not_close": false
|
|
206
204
|
}
|
|
207
205
|
```
|
|
208
206
|
|
|
@@ -228,9 +226,8 @@ The configuration file is divided into several main sections:
|
|
|
228
226
|
* `%(episode)` : Is the number of the episode
|
|
229
227
|
* `%(episode_name)` : Is the name of the episode
|
|
230
228
|
`<br/><br/>`
|
|
231
|
-
|
|
229
|
+
|
|
232
230
|
- `not_close`: If true, continues running after downloading
|
|
233
|
-
- `show_trending`: Display trending content on startup
|
|
234
231
|
|
|
235
232
|
### qBittorrent Configuration
|
|
236
233
|
|
|
@@ -263,18 +260,6 @@ The configuration file is divided into several main sections:
|
|
|
263
260
|
|
|
264
261
|
<br>
|
|
265
262
|
|
|
266
|
-
## BROWSER Settings
|
|
267
|
-
|
|
268
|
-
```json
|
|
269
|
-
{
|
|
270
|
-
"headless": false
|
|
271
|
-
}
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
- `headless`: Controls whether to run browser in headless mode
|
|
275
|
-
|
|
276
|
-
<br>
|
|
277
|
-
|
|
278
263
|
## M3U8_DOWNLOAD Settings
|
|
279
264
|
|
|
280
265
|
```json
|
|
@@ -440,5 +425,3 @@ Contributions are welcome! Steps:
|
|
|
440
425
|
# Disclaimer
|
|
441
426
|
|
|
442
427
|
This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
|
|
443
|
-
|
|
444
|
-
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
StreamingCommunity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
StreamingCommunity/run.py,sha256=21QDcUUy2-vhEJhRHNSI7RBUZ-kSqhGlOkaazZI3Kuc,6441
|
|
3
|
+
StreamingCommunity/Api/Player/ddl.py,sha256=cRPb3sfX5o_rkJ33qe7rDGmlgRgYMr0LTmdZLCsbO90,2409
|
|
4
|
+
StreamingCommunity/Api/Player/maxstream.py,sha256=0NwzyTFrIWC21xZytmg4Pl_ShAPfqIOXNU6XpEy9KuY,5304
|
|
5
|
+
StreamingCommunity/Api/Player/supervideo.py,sha256=gNoAo_LVZWycfIzmK28erWRTXwNDV6FKJSLJ2Lrw_Ok,6118
|
|
6
|
+
StreamingCommunity/Api/Player/vixcloud.py,sha256=pTl60wxSQmyCWjhv1RfHST_hacnwT3N9WnYnUJwKank,9498
|
|
7
|
+
StreamingCommunity/Api/Player/Helper/Vixcloud/js_parser.py,sha256=HniFPpcF1qtMAT8z5bf4noHJO85x8wRke6KUxB5r-F0,4438
|
|
8
|
+
StreamingCommunity/Api/Player/Helper/Vixcloud/util.py,sha256=4DomUZ6qg_GGCIfQ38-CKrO24zyzm8voJgv8OiMxDbw,5257
|
|
9
|
+
StreamingCommunity/Api/Site/1337xx/__init__.py,sha256=tNVEjRSnXOeWcJTF5c840YFBTiOgSXD0GaM-VsxOGT8,1217
|
|
10
|
+
StreamingCommunity/Api/Site/1337xx/costant.py,sha256=3jDI0qlysmtfiZIAciNA-pBLSza5GBYKZlONyMpb-FI,451
|
|
11
|
+
StreamingCommunity/Api/Site/1337xx/site.py,sha256=Cn6DC5Od89f8xj22x2NPUgAPlBmWEgXG5J3Aa810Pok,2689
|
|
12
|
+
StreamingCommunity/Api/Site/1337xx/title.py,sha256=lGJCxmlWvSWtxn69ClOCA4e_zbtHk_otHV7DiSaKcLo,1980
|
|
13
|
+
StreamingCommunity/Api/Site/altadefinizione/__init__.py,sha256=FHR7TlsM5LXQkESeM54gfNXSsv1wKZVKilqRlp49pgo,1208
|
|
14
|
+
StreamingCommunity/Api/Site/altadefinizione/costant.py,sha256=bxFBx_dljZM8x4nxig8pg35ylDQnR4NNr2SV3_S7Lg0,451
|
|
15
|
+
StreamingCommunity/Api/Site/altadefinizione/film.py,sha256=aKVnn-7xdxnWJZvkDZwbxVXP-vmZ4RN3jIIBivEAcY0,2253
|
|
16
|
+
StreamingCommunity/Api/Site/altadefinizione/site.py,sha256=JqNiP4Rqmn7zLALKBIAv0U_KY6uLYvGgg4_6Dw77SKU,2883
|
|
17
|
+
StreamingCommunity/Api/Site/animeunity/__init__.py,sha256=3RUvqPerfHYdCX1F1nokjCrSs6BHzj4lCd5y5ZlCbB4,1298
|
|
18
|
+
StreamingCommunity/Api/Site/animeunity/costant.py,sha256=bxFBx_dljZM8x4nxig8pg35ylDQnR4NNr2SV3_S7Lg0,451
|
|
19
|
+
StreamingCommunity/Api/Site/animeunity/film_serie.py,sha256=clYVjrZRKjWRnJCAvsLEEAfKMtPN9s7pgCgAx64eJuU,4162
|
|
20
|
+
StreamingCommunity/Api/Site/animeunity/site.py,sha256=WYfPtlaInQuV98Vc7CEFeRSri3EduC9ix6niVXJTnw4,5306
|
|
21
|
+
StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py,sha256=Gv0xvTJMHru3YExAqQ-ZFfwIxs_227mB3d0JpsI3oAY,2983
|
|
22
|
+
StreamingCommunity/Api/Site/cb01new/__init__.py,sha256=A8M8LIcPXdzwaPOARY4LaKlYGlEA_a7OxLYzFzWH7BI,1228
|
|
23
|
+
StreamingCommunity/Api/Site/cb01new/costant.py,sha256=EcUm_oH28CGbi5Dm2sBBAHJ1ywzn6R6mwk-Rx8mj7aQ,453
|
|
24
|
+
StreamingCommunity/Api/Site/cb01new/film.py,sha256=uc_SCS645rtwyYCofnzMj7_xc5tna1R4-hHdFHmo9T8,2268
|
|
25
|
+
StreamingCommunity/Api/Site/cb01new/site.py,sha256=dDv9P9GWtL07eygwndrPsPVmPd0kueeAn2vLPw4vHCc,2153
|
|
26
|
+
StreamingCommunity/Api/Site/ddlstreamitaly/__init__.py,sha256=U0mFvhAr9bDt3v_qFOyUC-LC1nsMTQMLvEc4GRrNnQk,1454
|
|
27
|
+
StreamingCommunity/Api/Site/ddlstreamitaly/costant.py,sha256=r-rc_9dIFkfFZwJmY3noG1LgkKgHDxEEzQY-8aWj3dI,515
|
|
28
|
+
StreamingCommunity/Api/Site/ddlstreamitaly/series.py,sha256=m-H_CtHIlN_3KPv5d7kgm2au_lZAni8eXuA1-0O5LIo,4263
|
|
29
|
+
StreamingCommunity/Api/Site/ddlstreamitaly/site.py,sha256=0UfXLlABh7-ejU2cRTVsWPAPLaARbF6xu1PV4kyZvG4,2903
|
|
30
|
+
StreamingCommunity/Api/Site/ddlstreamitaly/util/ScrapeSerie.py,sha256=f7uA3VTANmWnLvYhjxMjzKRxU6FTgH2H8MSntWgc8jw,2652
|
|
31
|
+
StreamingCommunity/Api/Site/guardaserie/__init__.py,sha256=UaTo1uXMgL8lVb72PoD4VtecQlqpC-PNPUEIBH756bE,1301
|
|
32
|
+
StreamingCommunity/Api/Site/guardaserie/costant.py,sha256=OOxqZVqlZ9XcdrOLLOz4U7MA2SrRbZ_qvvlGpuQzczo,453
|
|
33
|
+
StreamingCommunity/Api/Site/guardaserie/series.py,sha256=3pXkwbponT6sS2vDVD2QvEk7jhYHoalR80jcpx-hRZE,6873
|
|
34
|
+
StreamingCommunity/Api/Site/guardaserie/site.py,sha256=2f_Q3D25bf0vNAx0XgPRTcay0QeWOm8espzDo9Lp3EA,2632
|
|
35
|
+
StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py,sha256=Os4lKYQB8PT1b-jzozRIpdovGh4gUQuXrPEHyLriYio,3399
|
|
36
|
+
StreamingCommunity/Api/Site/ilcorsaronero/__init__.py,sha256=E75cZUptIDjf1GR-dUY62v6qrTGuBa-r8EACUhVf1Tc,1246
|
|
37
|
+
StreamingCommunity/Api/Site/ilcorsaronero/costant.py,sha256=3jDI0qlysmtfiZIAciNA-pBLSza5GBYKZlONyMpb-FI,451
|
|
38
|
+
StreamingCommunity/Api/Site/ilcorsaronero/site.py,sha256=dkNOUZanaPtQJIrOskzOC4cEOHFG3gnwH5RFYaw_ERU,1812
|
|
39
|
+
StreamingCommunity/Api/Site/ilcorsaronero/title.py,sha256=5cPMiBWoZPUerS2aI_6qO14hA14ztW-cWkaIInUYBlI,1377
|
|
40
|
+
StreamingCommunity/Api/Site/ilcorsaronero/util/ilCorsarScraper.py,sha256=vMYSoa5bn5dIfsjMkb6_0fNf8fOu-7f2wJ9j9alzzFY,4791
|
|
41
|
+
StreamingCommunity/Api/Site/mostraguarda/__init__.py,sha256=G6Ozksp8CGTHKy1LsdYJAxX9prnH3CPU_68xJHhRLDo,1175
|
|
42
|
+
StreamingCommunity/Api/Site/mostraguarda/costant.py,sha256=bxFBx_dljZM8x4nxig8pg35ylDQnR4NNr2SV3_S7Lg0,451
|
|
43
|
+
StreamingCommunity/Api/Site/mostraguarda/film.py,sha256=rS-so_rX-ASYvhAKBmqmLDOc1ViGt2AE-Tq6s4nDwaI,2944
|
|
44
|
+
StreamingCommunity/Api/Site/streamingcommunity/__init__.py,sha256=KsgVib2AOW-afAMFmSgZQUUhjdpawq2kdDxhQ0_enrU,1485
|
|
45
|
+
StreamingCommunity/Api/Site/streamingcommunity/costant.py,sha256=XEksndtxSC8As-r15f0hRuFAum-CjseegrVjFYOc_XY,436
|
|
46
|
+
StreamingCommunity/Api/Site/streamingcommunity/film.py,sha256=f_jfKDVHr0o_-X7XEglUG0hW3U5RCtjzZcIh98S8TKs,2340
|
|
47
|
+
StreamingCommunity/Api/Site/streamingcommunity/series.py,sha256=xLdoAr6qH9PMnPFEx1upCwvw7szxeFYIUD2tZvwpvE0,7389
|
|
48
|
+
StreamingCommunity/Api/Site/streamingcommunity/site.py,sha256=g7Tdc0eFnUg8cetZYe1wux0n9Rdh8hTyoT0v1pw4cEw,3884
|
|
49
|
+
StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py,sha256=sNK61c1V6ULTk2kJFBOq3q_jzv281gfE52cjh7Oufsg,4313
|
|
50
|
+
StreamingCommunity/Api/Template/__init__.py,sha256=lhVpudlILM1L9iBZ_7vfYwgKyrdR1OWeLvk364-fJpU,48
|
|
51
|
+
StreamingCommunity/Api/Template/site.py,sha256=Xk_XpZ97xDUhGeiwo-52b7h1kOVsRQVdCqoXcMs2zHk,2995
|
|
52
|
+
StreamingCommunity/Api/Template/Class/SearchType.py,sha256=lJ054oi7baFU8HoXzq_mO4foRz0wtF9GIGOOFS8VpmY,2632
|
|
53
|
+
StreamingCommunity/Api/Template/Util/__init__.py,sha256=e-206LT2iAnL9I21fR_1FRm8F3WsbBRrUmraPP2Xfzo,202
|
|
54
|
+
StreamingCommunity/Api/Template/Util/get_domain.py,sha256=AiLqXWF3RAgkwEZ663QD2ReH0afhuOHCs7fir6Rwgg4,6396
|
|
55
|
+
StreamingCommunity/Api/Template/Util/manage_ep.py,sha256=TkeRH8120Bsu7gTOJb2GRdZI6LZmgYCD60tQVruwkvI,6697
|
|
56
|
+
StreamingCommunity/Api/Template/Util/recall_search.py,sha256=N-h00R2S8rQud3mNtUmaakK_8d9e5YxgHv4QwcJ4aZw,1184
|
|
57
|
+
StreamingCommunity/Lib/Downloader/__init__.py,sha256=vAn-rpmlSmojvz4Quv47A5HLq4yBR_7noy4r6hqk0OQ,144
|
|
58
|
+
StreamingCommunity/Lib/Downloader/HLS/downloader.py,sha256=pPgoohAhfxs0HBqtudBRmgGSlUMn6MwDE1kjT4vZ--I,39558
|
|
59
|
+
StreamingCommunity/Lib/Downloader/HLS/proxyes.py,sha256=Mrs5Mr6ATv-6BUS7CLcZjw3JNH7g_XOz7boeB1oQAQ8,3385
|
|
60
|
+
StreamingCommunity/Lib/Downloader/HLS/segments.py,sha256=cs81AgyowaAKDbN9Kz1jdCXpr0It5SeaKQeRbE0nwOM,22415
|
|
61
|
+
StreamingCommunity/Lib/Downloader/MP4/downloader.py,sha256=gWhNHhL5f3bXAGUaOlH2wCwda0sKi-R9s6PxOIp7LrU,6028
|
|
62
|
+
StreamingCommunity/Lib/Downloader/TOR/downloader.py,sha256=67RDi3Er5xpoHFIn11sGcCB1xgIEGE-Nhn9wqDfmGak,11617
|
|
63
|
+
StreamingCommunity/Lib/FFmpeg/__init__.py,sha256=0KehwaTYL72PJaJJo2fzveGgc9F2-abIk7w6gXsfX1w,135
|
|
64
|
+
StreamingCommunity/Lib/FFmpeg/capture.py,sha256=pgYsJGnC90dNZm6bBgdlXGhkJWDS-aDvZNzbP8hCJYY,5623
|
|
65
|
+
StreamingCommunity/Lib/FFmpeg/command.py,sha256=EfI3Q4tQkV7XmKWx0eBDnuIhn0O_lfPiAiI5IET3nLk,10289
|
|
66
|
+
StreamingCommunity/Lib/FFmpeg/util.py,sha256=trIi1un5lpYdIewD1eXddgNU8f65FwwltFP2s0D4xkI,8340
|
|
67
|
+
StreamingCommunity/Lib/M3U8/__init__.py,sha256=sD2VIslF43OrudA1r-9xkSfUvSblr1LOZpaIM89F6M4,175
|
|
68
|
+
StreamingCommunity/Lib/M3U8/decryptor.py,sha256=sm-kG-3zzOIqrPMNiID68bepoWKQ1F9gbKdiCmxjdP0,6475
|
|
69
|
+
StreamingCommunity/Lib/M3U8/estimator.py,sha256=aaOLtrTtFwGEVxu76DPy4ACJ4kSBUJqc9sH-N6Ch2wc,6655
|
|
70
|
+
StreamingCommunity/Lib/M3U8/parser.py,sha256=xmyCU4AYGIOUheTZ4OBPmQl_R4dJ3Y72i9UUa6_aErA,23553
|
|
71
|
+
StreamingCommunity/Lib/M3U8/url_fixer.py,sha256=6NVKhc8R5CqarDM5TLWy6QU05qXPouW31gyilQszwbI,1675
|
|
72
|
+
StreamingCommunity/Lib/TMBD/__init__.py,sha256=b3yUqfeBFpnKH-MScrZ3r90cpXc2ufCC-El3whK1zk8,55
|
|
73
|
+
StreamingCommunity/Lib/TMBD/obj_tmbd.py,sha256=HEL3jAqUYtVgX7GCaw60EAD3JGvEJLOQXfD6lRYEjxA,1968
|
|
74
|
+
StreamingCommunity/Lib/TMBD/tmdb.py,sha256=3UO_0uzi8xtrokX8Y_vO8vx_V8XHSkOVCqtgT-289GM,12000
|
|
75
|
+
StreamingCommunity/Upload/update.py,sha256=MF1M-vypz-z6tn9z_lQkZCpXD02GvHC2UvsBcK0mNC0,2339
|
|
76
|
+
StreamingCommunity/Upload/version.py,sha256=rlvQ-cCg4-evioHIq9gnvYxYRLAGr3e_olCfTFqoT3Y,175
|
|
77
|
+
StreamingCommunity/Util/_jsonConfig.py,sha256=CLvk6HWxUklZztoy55SzEOvdsbNo-pFcVQVanwixXCc,7001
|
|
78
|
+
StreamingCommunity/Util/call_stack.py,sha256=zuYbO8dV8bCa7fCdtaKQYuheA5K7BkTm3Oj8JA6GCpM,1417
|
|
79
|
+
StreamingCommunity/Util/color.py,sha256=1iQUf5xDp5XKKbXl9MvKEXJvv44Zf0P4J2Nu5ATIId8,479
|
|
80
|
+
StreamingCommunity/Util/console.py,sha256=bXP_iibXMpRIJ_zs03xFmSbkvMP3SguIuEUJZovoOqw,230
|
|
81
|
+
StreamingCommunity/Util/ffmpeg_installer.py,sha256=buiAxxcgHWPzj9ngq4-SCkZRXOmXEqfDwmuZH6g2-Q4,12558
|
|
82
|
+
StreamingCommunity/Util/headers.py,sha256=r5hK8HVF-y6dQzCQpDnpbDGP02n29OYlzgaZAorcmG0,4565
|
|
83
|
+
StreamingCommunity/Util/logger.py,sha256=5XmFquGYt4FjvKNyYKa21mLLKARmzGWk-mBo05ezlHQ,1914
|
|
84
|
+
StreamingCommunity/Util/message.py,sha256=pgUf50z4kSJjKHBlBKn5bd26xlAAEvlLiMs9dvcvJ_s,3675
|
|
85
|
+
StreamingCommunity/Util/os.py,sha256=FydTixaZyrHN0ZPPmqXwuPCkUz7IG8-yIcMA1osD-sI,19472
|
|
86
|
+
StreamingCommunity/Util/table.py,sha256=lKCgvrtfODuQY5dFJqlNUYL2aFzfij-efS5oGv84E44,8508
|
|
87
|
+
StreamingCommunity-1.9.90.dist-info/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
|
|
88
|
+
StreamingCommunity-1.9.90.dist-info/METADATA,sha256=5URNBLUTVrozQ7N5n7XLQdeOXHFmhQHraprU9A2mIOg,11464
|
|
89
|
+
StreamingCommunity-1.9.90.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
90
|
+
StreamingCommunity-1.9.90.dist-info/entry_points.txt,sha256=Qph9XYfDC8n4LfDLOSl6gJGlkb9eFb5f-JOr_Wb_5rk,67
|
|
91
|
+
StreamingCommunity-1.9.90.dist-info/top_level.txt,sha256=YsOcxKP-WOhWpIWgBlh0coll9XUx7aqmRPT7kmt3fH0,19
|
|
92
|
+
StreamingCommunity-1.9.90.dist-info/RECORD,,
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
StreamingCommunity/run.py,sha256=BAzw-SNIbpt6myDn9wfNezb3E3Lv7GZwIup0ze4vJQs,6727
|
|
2
|
-
StreamingCommunity-1.9.5.dist-info/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
|
|
3
|
-
StreamingCommunity-1.9.5.dist-info/METADATA,sha256=EKZES3HiCWY5GWf17IBvVQQmSnqXEO8WQ1pOuYOmxDc,11666
|
|
4
|
-
StreamingCommunity-1.9.5.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
5
|
-
StreamingCommunity-1.9.5.dist-info/entry_points.txt,sha256=-iQU6qfeHFwauAg4iZhifWhNZAkiV-x3XuEauo_EjUc,68
|
|
6
|
-
StreamingCommunity-1.9.5.dist-info/top_level.txt,sha256=YsOcxKP-WOhWpIWgBlh0coll9XUx7aqmRPT7kmt3fH0,19
|
|
7
|
-
StreamingCommunity-1.9.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|