StreamingCommunity 1.8.0__py3-none-any.whl → 1.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/{Src/Api → Api}/Player/ddl.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Player/maxstream.py +2 -2
- StreamingCommunity/{Src/Api → Api}/Player/supervideo.py +2 -2
- StreamingCommunity/{Src/Api → Api}/Player/vixcloud.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Site/1337xx/__init__.py +1 -1
- StreamingCommunity/{Src/Api → Api}/Site/1337xx/costant.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Site/1337xx/site.py +7 -7
- StreamingCommunity/{Src/Api → Api}/Site/1337xx/title.py +6 -6
- StreamingCommunity/{Src/Api → Api}/Site/altadefinizione/__init__.py +1 -1
- StreamingCommunity/{Src/Api/Site/mostraguarda → Api/Site/altadefinizione}/costant.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Site/altadefinizione/film.py +8 -8
- StreamingCommunity/{Src/Api → Api}/Site/altadefinizione/site.py +7 -7
- StreamingCommunity/{Src/Api → Api}/Site/animeunity/__init__.py +1 -1
- StreamingCommunity/{Src/Api/Site/altadefinizione → Api/Site/animeunity}/costant.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Site/animeunity/film_serie.py +18 -19
- StreamingCommunity/{Src/Api → Api}/Site/animeunity/site.py +6 -6
- StreamingCommunity/{Src/Api → Api}/Site/animeunity/util/ScrapeSerie.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Site/bitsearch/__init__.py +1 -1
- StreamingCommunity/{Src/Api → Api}/Site/bitsearch/costant.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Site/bitsearch/site.py +7 -7
- StreamingCommunity/{Src/Api → Api}/Site/bitsearch/title.py +5 -5
- StreamingCommunity/{Src/Api → Api}/Site/cb01new/__init__.py +1 -1
- StreamingCommunity/{Src/Api → Api}/Site/cb01new/costant.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Site/cb01new/film.py +8 -8
- StreamingCommunity/{Src/Api → Api}/Site/cb01new/site.py +6 -6
- StreamingCommunity/{Src/Api → Api}/Site/ddlstreamitaly/__init__.py +1 -1
- StreamingCommunity/{Src/Api → Api}/Site/ddlstreamitaly/costant.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Site/ddlstreamitaly/series.py +11 -12
- StreamingCommunity/{Src/Api → Api}/Site/ddlstreamitaly/site.py +7 -7
- StreamingCommunity/{Src/Api → Api}/Site/ddlstreamitaly/util/ScrapeSerie.py +5 -3
- StreamingCommunity/{Src/Api → Api}/Site/guardaserie/__init__.py +1 -1
- StreamingCommunity/{Src/Api/Site/piratebays → Api/Site/guardaserie}/costant.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Site/guardaserie/series.py +11 -11
- StreamingCommunity/{Src/Api → Api}/Site/guardaserie/site.py +7 -7
- StreamingCommunity/{Src/Api/Site/guardaserie/Player → Api/Site/guardaserie/util}/ScrapeSerie.py +2 -2
- StreamingCommunity/{Src/Api → Api}/Site/mostraguarda/__init__.py +2 -2
- StreamingCommunity/{Src/Api/Site/animeunity → Api/Site/mostraguarda}/costant.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Site/mostraguarda/film.py +9 -9
- StreamingCommunity/{Src/Api → Api}/Site/piratebays/__init__.py +1 -1
- StreamingCommunity/{Src/Api/Site/guardaserie → Api/Site/piratebays}/costant.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Site/piratebays/site.py +6 -6
- StreamingCommunity/{Src/Api → Api}/Site/piratebays/title.py +5 -5
- StreamingCommunity/{Src/Api → Api}/Site/streamingcommunity/__init__.py +1 -1
- StreamingCommunity/{Src/Api → Api}/Site/streamingcommunity/costant.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Site/streamingcommunity/film.py +10 -10
- StreamingCommunity/{Src/Api → Api}/Site/streamingcommunity/series.py +20 -18
- StreamingCommunity/{Src/Api → Api}/Site/streamingcommunity/site.py +7 -7
- StreamingCommunity/{Src/Api → Api}/Site/streamingcommunity/util/ScrapeSerie.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Template/Util/get_domain.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Template/Util/manage_ep.py +2 -2
- StreamingCommunity/{Src/Api → Api}/Template/Util/recall_search.py +1 -1
- StreamingCommunity/{Src/Api → Api}/Template/site.py +1 -1
- StreamingCommunity/{Src/Lib → Lib}/Downloader/HLS/downloader.py +4 -4
- StreamingCommunity/{Src/Lib → Lib}/Downloader/HLS/proxyes.py +3 -3
- StreamingCommunity/{Src/Lib → Lib}/Downloader/HLS/segments.py +42 -44
- StreamingCommunity/{Src/Lib → Lib}/Downloader/MP4/downloader.py +5 -5
- StreamingCommunity/{Src/Lib → Lib}/Downloader/TOR/downloader.py +3 -3
- StreamingCommunity/{Src/Lib → Lib}/Driver/driver_1.py +1 -1
- StreamingCommunity/{Src/Lib → Lib}/FFmpeg/capture.py +2 -2
- StreamingCommunity/{Src/Lib → Lib}/FFmpeg/command.py +3 -3
- StreamingCommunity/{Src/Lib → Lib}/FFmpeg/util.py +1 -1
- StreamingCommunity/{Src/Lib → Lib}/M3U8/decryptor.py +59 -24
- StreamingCommunity/{Src/Lib → Lib}/M3U8/estimator.py +6 -3
- StreamingCommunity/{Src/Lib → Lib}/M3U8/parser.py +1 -1
- StreamingCommunity/{Src/Lib → Lib}/TMBD/tmdb.py +1 -1
- StreamingCommunity/{Src/Upload → Upload}/update.py +6 -2
- StreamingCommunity/{Src/Upload → Upload}/version.py +1 -1
- StreamingCommunity/Util/ffmpeg_installer.py +275 -0
- StreamingCommunity/{Src/Util → Util}/headers.py +1 -1
- StreamingCommunity/{Src/Util → Util}/logger.py +1 -1
- StreamingCommunity/{Src/Util → Util}/message.py +2 -2
- StreamingCommunity/{Src/Util → Util}/os.py +118 -21
- StreamingCommunity/run.py +18 -12
- {StreamingCommunity-1.8.0.dist-info → StreamingCommunity-1.9.1.dist-info}/METADATA +126 -60
- StreamingCommunity-1.9.1.dist-info/RECORD +95 -0
- {StreamingCommunity-1.8.0.dist-info → StreamingCommunity-1.9.1.dist-info}/WHEEL +1 -1
- StreamingCommunity/Src/Api/Site/animeunity/anime.py +0 -126
- StreamingCommunity/Src/Api/Site/ddlstreamitaly/Player/ScrapeSerie.py +0 -83
- StreamingCommunity/Src/Api/Site/guardaserie/util/ScrapeSerie.py +0 -110
- StreamingCommunity-1.8.0.dist-info/RECORD +0 -97
- /StreamingCommunity/{Src/Api → Api}/Player/Helper/Vixcloud/js_parser.py +0 -0
- /StreamingCommunity/{Src/Api → Api}/Player/Helper/Vixcloud/util.py +0 -0
- /StreamingCommunity/{Src/Api → Api}/Template/Class/SearchType.py +0 -0
- /StreamingCommunity/{Src/Api → Api}/Template/Util/__init__.py +0 -0
- /StreamingCommunity/{Src/Api → Api}/Template/__init__.py +0 -0
- /StreamingCommunity/{Src/Lib → Lib}/Downloader/__init__.py +0 -0
- /StreamingCommunity/{Src/Lib → Lib}/FFmpeg/__init__.py +0 -0
- /StreamingCommunity/{Src/Lib → Lib}/M3U8/__init__.py +0 -0
- /StreamingCommunity/{Src/Lib → Lib}/M3U8/url_fixer.py +0 -0
- /StreamingCommunity/{Src/Lib → Lib}/TMBD/__init__.py +0 -0
- /StreamingCommunity/{Src/Lib → Lib}/TMBD/obj_tmbd.py +0 -0
- /StreamingCommunity/{Src/Util → Util}/_jsonConfig.py +0 -0
- /StreamingCommunity/{Src/Util → Util}/call_stack.py +0 -0
- /StreamingCommunity/{Src/Util → Util}/color.py +0 -0
- /StreamingCommunity/{Src/Util → Util}/console.py +0 -0
- /StreamingCommunity/{Src/Util → Util}/table.py +0 -0
- {StreamingCommunity-1.8.0.dist-info → StreamingCommunity-1.9.1.dist-info}/LICENSE +0 -0
- {StreamingCommunity-1.8.0.dist-info → StreamingCommunity-1.9.1.dist-info}/entry_points.txt +0 -0
- {StreamingCommunity-1.8.0.dist-info → StreamingCommunity-1.9.1.dist-info}/top_level.txt +0 -0
|
@@ -11,15 +11,17 @@ from bs4 import BeautifulSoup
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
# Internal utilities
|
|
14
|
-
from StreamingCommunity.
|
|
14
|
+
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
15
|
+
from StreamingCommunity.Util.headers import get_headers
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
# Logic class
|
|
18
|
-
from StreamingCommunity.
|
|
19
|
+
from StreamingCommunity.Api.Template.Class.SearchType import MediaItem
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
# Variable
|
|
22
23
|
from ..costant import COOKIE
|
|
24
|
+
max_timeout = config_manager.get_int("REQUESTS", "timeout")
|
|
23
25
|
|
|
24
26
|
|
|
25
27
|
class GetSerieInfo:
|
|
@@ -48,7 +50,7 @@ class GetSerieInfo:
|
|
|
48
50
|
"""
|
|
49
51
|
|
|
50
52
|
try:
|
|
51
|
-
response = httpx.get(f"{self.url}?area=online", cookies=self.cookies, headers=self.headers, timeout=
|
|
53
|
+
response = httpx.get(f"{self.url}?area=online", cookies=self.cookies, headers=self.headers, timeout=max_timeout)
|
|
52
54
|
response.raise_for_status()
|
|
53
55
|
|
|
54
56
|
except Exception as e:
|
|
@@ -4,12 +4,12 @@ import os
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
# Internal utilities
|
|
7
|
-
from StreamingCommunity.
|
|
7
|
+
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
SITE_NAME = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
|
|
11
11
|
ROOT_PATH = config_manager.get('DEFAULT', 'root_path')
|
|
12
12
|
DOMAIN_NOW = config_manager.get_dict('SITE', SITE_NAME)['domain']
|
|
13
13
|
|
|
14
|
-
SERIES_FOLDER =
|
|
15
|
-
MOVIE_FOLDER =
|
|
14
|
+
SERIES_FOLDER = config_manager.get('DEFAULT', 'serie_folder_name')
|
|
15
|
+
MOVIE_FOLDER = config_manager.get('DEFAULT', 'movie_folder_name')
|
|
@@ -6,21 +6,21 @@ import time
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
# Internal utilities
|
|
9
|
-
from StreamingCommunity.
|
|
10
|
-
from StreamingCommunity.
|
|
11
|
-
from StreamingCommunity.
|
|
12
|
-
from StreamingCommunity.
|
|
13
|
-
from StreamingCommunity.
|
|
9
|
+
from StreamingCommunity.Util.console import console, msg
|
|
10
|
+
from StreamingCommunity.Util.message import start_message
|
|
11
|
+
from StreamingCommunity.Util.call_stack import get_call_stack
|
|
12
|
+
from StreamingCommunity.Util.table import TVShowManager
|
|
13
|
+
from StreamingCommunity.Lib.Downloader import HLS_Downloader
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
# Logic class
|
|
17
|
-
from StreamingCommunity.
|
|
18
|
-
from StreamingCommunity.
|
|
17
|
+
from StreamingCommunity.Api.Template.Util import manage_selection, map_episode_title, validate_selection, validate_episode_selection, execute_search
|
|
18
|
+
from StreamingCommunity.Api.Template.Class.SearchType import MediaItem
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
# Player
|
|
22
22
|
from .util.ScrapeSerie import GetSerieInfo
|
|
23
|
-
from StreamingCommunity.
|
|
23
|
+
from StreamingCommunity.Api.Player.supervideo import VideoSource
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
# Variable
|
|
@@ -29,7 +29,7 @@ table_show_manager = TVShowManager()
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
def download_video(
|
|
32
|
+
def download_video(index_season_selected: int, index_episode_selected: int, scape_info_serie: GetSerieInfo) -> None:
|
|
33
33
|
"""
|
|
34
34
|
Download a single episode video.
|
|
35
35
|
|
|
@@ -95,7 +95,7 @@ def download_episode(scape_info_serie: GetSerieInfo, index_season_selected: int,
|
|
|
95
95
|
|
|
96
96
|
# Download all episodes without asking
|
|
97
97
|
for i_episode in range(1, episodes_count + 1):
|
|
98
|
-
download_video(
|
|
98
|
+
download_video(index_season_selected, i_episode, scape_info_serie)
|
|
99
99
|
console.print(f"\n[red]End downloaded [yellow]season: [red]{index_season_selected}.")
|
|
100
100
|
|
|
101
101
|
else:
|
|
@@ -112,7 +112,7 @@ def download_episode(scape_info_serie: GetSerieInfo, index_season_selected: int,
|
|
|
112
112
|
|
|
113
113
|
# Download selected episodes
|
|
114
114
|
for i_episode in list_episode_select:
|
|
115
|
-
download_video(
|
|
115
|
+
download_video(index_season_selected, i_episode, scape_info_serie)
|
|
116
116
|
|
|
117
117
|
|
|
118
118
|
def download_series(dict_serie: MediaItem) -> None:
|
|
@@ -6,16 +6,16 @@ from bs4 import BeautifulSoup
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
# Internal utilities
|
|
9
|
-
from StreamingCommunity.
|
|
10
|
-
from StreamingCommunity.
|
|
11
|
-
from StreamingCommunity.
|
|
12
|
-
from StreamingCommunity.
|
|
9
|
+
from StreamingCommunity.Util.console import console
|
|
10
|
+
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
11
|
+
from StreamingCommunity.Util.headers import get_headers
|
|
12
|
+
from StreamingCommunity.Util.table import TVShowManager
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
# Logic class
|
|
16
|
-
from StreamingCommunity.
|
|
17
|
-
from StreamingCommunity.
|
|
18
|
-
from StreamingCommunity.
|
|
16
|
+
from StreamingCommunity.Api.Template import get_select_title
|
|
17
|
+
from StreamingCommunity.Api.Template.Util import search_domain
|
|
18
|
+
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
# Variable
|
StreamingCommunity/{Src/Api/Site/guardaserie/Player → Api/Site/guardaserie/util}/ScrapeSerie.py
RENAMED
|
@@ -10,11 +10,11 @@ from bs4 import BeautifulSoup
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
# Internal utilities
|
|
13
|
-
from StreamingCommunity.
|
|
13
|
+
from StreamingCommunity.Util.headers import get_headers
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
# Logic class
|
|
17
|
-
from StreamingCommunity.
|
|
17
|
+
from StreamingCommunity.Api.Template .Class.SearchType import MediaItem
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
class GetSerieInfo:
|
|
@@ -4,11 +4,11 @@ from unidecode import unidecode
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
# Internal utilities
|
|
7
|
-
from StreamingCommunity.
|
|
7
|
+
from StreamingCommunity.Util.console import console, msg
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
# Logic class
|
|
11
|
-
from StreamingCommunity.
|
|
11
|
+
from StreamingCommunity.Lib.TMBD import tmdb, Json_film
|
|
12
12
|
from .film import download_film
|
|
13
13
|
|
|
14
14
|
|
|
@@ -4,12 +4,12 @@ import os
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
# Internal utilities
|
|
7
|
-
from StreamingCommunity.
|
|
7
|
+
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
SITE_NAME = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
|
|
11
11
|
ROOT_PATH = config_manager.get('DEFAULT', 'root_path')
|
|
12
12
|
DOMAIN_NOW = config_manager.get_dict('SITE', SITE_NAME)['domain']
|
|
13
13
|
|
|
14
|
-
SERIES_FOLDER=
|
|
15
|
-
MOVIE_FOLDER =
|
|
14
|
+
SERIES_FOLDER = config_manager.get('DEFAULT', 'serie_folder_name')
|
|
15
|
+
MOVIE_FOLDER = config_manager.get('DEFAULT', 'movie_folder_name')
|
|
@@ -12,24 +12,24 @@ from bs4 import BeautifulSoup
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
# Internal utilities
|
|
15
|
-
from StreamingCommunity.
|
|
16
|
-
from StreamingCommunity.
|
|
17
|
-
from StreamingCommunity.
|
|
18
|
-
from StreamingCommunity.
|
|
19
|
-
from StreamingCommunity.
|
|
20
|
-
from StreamingCommunity.
|
|
15
|
+
from StreamingCommunity.Util.console import console, msg
|
|
16
|
+
from StreamingCommunity.Util.os import os_manager
|
|
17
|
+
from StreamingCommunity.Util.message import start_message
|
|
18
|
+
from StreamingCommunity.Util.call_stack import get_call_stack
|
|
19
|
+
from StreamingCommunity.Util.headers import get_headers
|
|
20
|
+
from StreamingCommunity.Lib.Downloader import HLS_Downloader
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
# Logic class
|
|
24
|
-
from StreamingCommunity.
|
|
24
|
+
from StreamingCommunity.Api.Template.Util import execute_search
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
# Player
|
|
28
|
-
from StreamingCommunity.
|
|
28
|
+
from StreamingCommunity.Api.Player.supervideo import VideoSource
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
# TMBD
|
|
32
|
-
from StreamingCommunity.
|
|
32
|
+
from StreamingCommunity.Lib.TMBD import Json_film
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
# Config
|
|
@@ -4,12 +4,12 @@ import os
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
# Internal utilities
|
|
7
|
-
from StreamingCommunity.
|
|
7
|
+
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
SITE_NAME = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
|
|
11
11
|
ROOT_PATH = config_manager.get('DEFAULT', 'root_path')
|
|
12
12
|
DOMAIN_NOW = config_manager.get_dict('SITE', SITE_NAME)['domain']
|
|
13
13
|
|
|
14
|
-
SERIES_FOLDER =
|
|
15
|
-
MOVIE_FOLDER =
|
|
14
|
+
SERIES_FOLDER = config_manager.get('DEFAULT', 'serie_folder_name')
|
|
15
|
+
MOVIE_FOLDER = config_manager.get('DEFAULT', 'movie_folder_name')
|
|
@@ -6,15 +6,15 @@ from bs4 import BeautifulSoup
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
# Internal utilities
|
|
9
|
-
from StreamingCommunity.
|
|
10
|
-
from StreamingCommunity.
|
|
11
|
-
from StreamingCommunity.
|
|
12
|
-
from StreamingCommunity.
|
|
9
|
+
from StreamingCommunity.Util.console import console
|
|
10
|
+
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
11
|
+
from StreamingCommunity.Util.headers import get_headers
|
|
12
|
+
from StreamingCommunity.Util.table import TVShowManager
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
# Logic class
|
|
16
|
-
from StreamingCommunity.
|
|
17
|
-
from StreamingCommunity.
|
|
16
|
+
from StreamingCommunity.Api.Template import get_select_title
|
|
17
|
+
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
# Variable
|
|
@@ -5,14 +5,14 @@ import sys
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
# Internal utilities
|
|
8
|
-
from StreamingCommunity.
|
|
9
|
-
from StreamingCommunity.
|
|
10
|
-
from StreamingCommunity.
|
|
11
|
-
from StreamingCommunity.
|
|
8
|
+
from StreamingCommunity.Util.console import console
|
|
9
|
+
from StreamingCommunity.Util.message import start_message
|
|
10
|
+
from StreamingCommunity.Util.os import os_manager
|
|
11
|
+
from StreamingCommunity.Lib.Downloader import TOR_downloader
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
# Logic class
|
|
15
|
-
from StreamingCommunity.
|
|
15
|
+
from StreamingCommunity.Api.Template.Class.SearchType import MediaItem
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
# Config
|
|
@@ -4,12 +4,12 @@ import os
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
# Internal utilities
|
|
7
|
-
from StreamingCommunity.
|
|
7
|
+
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
SITE_NAME = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
|
|
11
11
|
ROOT_PATH = config_manager.get('DEFAULT', 'root_path')
|
|
12
12
|
DOMAIN_NOW = config_manager.get('SITE', SITE_NAME)
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
SERIES_FOLDER = config_manager.get('DEFAULT', 'serie_folder_name')
|
|
15
|
+
MOVIE_FOLDER = config_manager.get('DEFAULT', 'movie_folder_name')
|
|
@@ -5,25 +5,24 @@ import time
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
# Internal utilities
|
|
8
|
-
from StreamingCommunity.
|
|
9
|
-
from StreamingCommunity.
|
|
10
|
-
from StreamingCommunity.
|
|
11
|
-
from StreamingCommunity.
|
|
12
|
-
from StreamingCommunity.
|
|
8
|
+
from StreamingCommunity.Util.console import console, msg
|
|
9
|
+
from StreamingCommunity.Util.os import os_manager
|
|
10
|
+
from StreamingCommunity.Util.message import start_message
|
|
11
|
+
from StreamingCommunity.Util.call_stack import get_call_stack
|
|
12
|
+
from StreamingCommunity.Lib.Downloader import HLS_Downloader
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
# Logic class
|
|
16
|
-
from StreamingCommunity.
|
|
17
|
-
from StreamingCommunity.
|
|
16
|
+
from StreamingCommunity.Api.Template.Util import execute_search
|
|
17
|
+
from StreamingCommunity.Api.Template.Class.SearchType import MediaItem
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
# Player
|
|
21
|
-
from StreamingCommunity.
|
|
21
|
+
from StreamingCommunity.Api.Player.vixcloud import VideoSource
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
# Variable
|
|
25
25
|
from .costant import ROOT_PATH, SITE_NAME, MOVIE_FOLDER
|
|
26
|
-
video_source = VideoSource(SITE_NAME, False)
|
|
27
26
|
|
|
28
27
|
|
|
29
28
|
def download_film(select_title: MediaItem):
|
|
@@ -39,7 +38,8 @@ def download_film(select_title: MediaItem):
|
|
|
39
38
|
start_message()
|
|
40
39
|
console.print(f"[yellow]Download: [red]{select_title.slug} \n")
|
|
41
40
|
|
|
42
|
-
#
|
|
41
|
+
# Init class
|
|
42
|
+
video_source = VideoSource(SITE_NAME, False)
|
|
43
43
|
video_source.setup(select_title.id)
|
|
44
44
|
|
|
45
45
|
# Retrieve scws and if available master playlist
|
|
@@ -6,32 +6,30 @@ import time
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
# Internal utilities
|
|
9
|
-
from StreamingCommunity.
|
|
10
|
-
from StreamingCommunity.
|
|
11
|
-
from StreamingCommunity.
|
|
12
|
-
from StreamingCommunity.
|
|
13
|
-
from StreamingCommunity.
|
|
9
|
+
from StreamingCommunity.Util.console import console, msg
|
|
10
|
+
from StreamingCommunity.Util.message import start_message
|
|
11
|
+
from StreamingCommunity.Util.call_stack import get_call_stack
|
|
12
|
+
from StreamingCommunity.Util.table import TVShowManager
|
|
13
|
+
from StreamingCommunity.Lib.Downloader import HLS_Downloader
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
# Logic class
|
|
17
17
|
from .util.ScrapeSerie import ScrapeSerie
|
|
18
|
-
from StreamingCommunity.
|
|
19
|
-
from StreamingCommunity.
|
|
18
|
+
from StreamingCommunity.Api.Template.Util import manage_selection, map_episode_title, validate_selection, validate_episode_selection, execute_search
|
|
19
|
+
from StreamingCommunity.Api.Template.Class.SearchType import MediaItem
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
# Player
|
|
23
|
-
from StreamingCommunity.
|
|
23
|
+
from StreamingCommunity.Api.Player.vixcloud import VideoSource
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
# Variable
|
|
27
27
|
from .costant import ROOT_PATH, SITE_NAME, SERIES_FOLDER
|
|
28
|
-
scrape_serie = ScrapeSerie(SITE_NAME)
|
|
29
|
-
video_source = VideoSource(SITE_NAME, True)
|
|
30
28
|
table_show_manager = TVShowManager()
|
|
31
29
|
|
|
32
30
|
|
|
33
31
|
|
|
34
|
-
def download_video(tv_name: str, index_season_selected: int, index_episode_selected: int) -> None:
|
|
32
|
+
def download_video(tv_name: str, index_season_selected: int, index_episode_selected: int, scrape_serie: ScrapeSerie, video_source: VideoSource) -> None:
|
|
35
33
|
"""
|
|
36
34
|
Download a single episode video.
|
|
37
35
|
|
|
@@ -75,7 +73,7 @@ def download_video(tv_name: str, index_season_selected: int, index_episode_selec
|
|
|
75
73
|
console.print("[green]Result: ")
|
|
76
74
|
console.print(r_proc)
|
|
77
75
|
|
|
78
|
-
def download_episode(tv_name: str, index_season_selected: int, download_all: bool = False) -> None:
|
|
76
|
+
def download_episode(tv_name: str, index_season_selected: int, scrape_serie: ScrapeSerie, video_source: VideoSource, download_all: bool = False) -> None:
|
|
79
77
|
"""
|
|
80
78
|
Download episodes of a selected season.
|
|
81
79
|
|
|
@@ -98,13 +96,13 @@ def download_episode(tv_name: str, index_season_selected: int, download_all: boo
|
|
|
98
96
|
|
|
99
97
|
# Download all episodes without asking
|
|
100
98
|
for i_episode in range(1, episodes_count + 1):
|
|
101
|
-
download_video(tv_name, index_season_selected, i_episode)
|
|
99
|
+
download_video(tv_name, index_season_selected, i_episode, scrape_serie, video_source)
|
|
102
100
|
console.print(f"\n[red]End downloaded [yellow]season: [red]{index_season_selected}.")
|
|
103
101
|
|
|
104
102
|
else:
|
|
105
103
|
|
|
106
104
|
# Display episodes list and manage user selection
|
|
107
|
-
last_command = display_episodes_list()
|
|
105
|
+
last_command = display_episodes_list(scrape_serie)
|
|
108
106
|
list_episode_select = manage_selection(last_command, episodes_count)
|
|
109
107
|
|
|
110
108
|
try:
|
|
@@ -115,7 +113,7 @@ def download_episode(tv_name: str, index_season_selected: int, download_all: boo
|
|
|
115
113
|
|
|
116
114
|
# Download selected episodes
|
|
117
115
|
for i_episode in list_episode_select:
|
|
118
|
-
download_video(tv_name, index_season_selected, i_episode)
|
|
116
|
+
download_video(tv_name, index_season_selected, i_episode, scrape_serie, video_source)
|
|
119
117
|
|
|
120
118
|
def download_series(select_season: MediaItem, version: str) -> None:
|
|
121
119
|
"""
|
|
@@ -130,6 +128,10 @@ def download_series(select_season: MediaItem, version: str) -> None:
|
|
|
130
128
|
# Start message and set up video source
|
|
131
129
|
start_message()
|
|
132
130
|
|
|
131
|
+
# Init class
|
|
132
|
+
scrape_serie = ScrapeSerie(SITE_NAME)
|
|
133
|
+
video_source = VideoSource(SITE_NAME, True)
|
|
134
|
+
|
|
133
135
|
# Setup video source
|
|
134
136
|
scrape_serie.setup(version, select_season.id, select_season.slug)
|
|
135
137
|
video_source.setup(select_season.id)
|
|
@@ -159,14 +161,14 @@ def download_series(select_season: MediaItem, version: str) -> None:
|
|
|
159
161
|
if len(list_season_select) > 1 or index_season_selected == "*":
|
|
160
162
|
|
|
161
163
|
# Download all episodes if multiple seasons are selected or if '*' is used
|
|
162
|
-
download_episode(select_season.slug, i_season, download_all=True)
|
|
164
|
+
download_episode(select_season.slug, i_season, scrape_serie, video_source, download_all=True)
|
|
163
165
|
else:
|
|
164
166
|
|
|
165
167
|
# Otherwise, let the user select specific episodes for the single season
|
|
166
|
-
download_episode(select_season.slug, i_season, download_all=False)
|
|
168
|
+
download_episode(select_season.slug, i_season, scrape_serie, video_source, download_all=False)
|
|
167
169
|
|
|
168
170
|
|
|
169
|
-
def display_episodes_list() -> str:
|
|
171
|
+
def display_episodes_list(scrape_serie) -> str:
|
|
170
172
|
"""
|
|
171
173
|
Display episodes list and handle user input.
|
|
172
174
|
|
|
@@ -11,17 +11,17 @@ from bs4 import BeautifulSoup
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
# Internal utilities
|
|
14
|
-
from StreamingCommunity.
|
|
15
|
-
from StreamingCommunity.
|
|
16
|
-
from StreamingCommunity.
|
|
17
|
-
from StreamingCommunity.
|
|
14
|
+
from StreamingCommunity.Util.console import console
|
|
15
|
+
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
16
|
+
from StreamingCommunity.Util.headers import get_headers
|
|
17
|
+
from StreamingCommunity.Util.table import TVShowManager
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
# Logic class
|
|
22
|
-
from StreamingCommunity.
|
|
23
|
-
from StreamingCommunity.
|
|
24
|
-
from StreamingCommunity.
|
|
22
|
+
from StreamingCommunity.Api.Template import get_select_title
|
|
23
|
+
from StreamingCommunity.Api.Template.Util import search_domain
|
|
24
|
+
from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
# Config
|
|
@@ -8,9 +8,9 @@ import httpx
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
# Internal utilities
|
|
11
|
-
from StreamingCommunity.
|
|
12
|
-
from StreamingCommunity.
|
|
13
|
-
from StreamingCommunity.
|
|
11
|
+
from StreamingCommunity.Util.headers import get_headers
|
|
12
|
+
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
13
|
+
from StreamingCommunity.Api.Player.Helper.Vixcloud.util import SeasonManager, EpisodeManager
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
# Variable
|
|
@@ -10,9 +10,9 @@ from googlesearch import search
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
# Internal utilities
|
|
13
|
-
from StreamingCommunity.
|
|
14
|
-
from StreamingCommunity.
|
|
15
|
-
from StreamingCommunity.
|
|
13
|
+
from StreamingCommunity.Util.headers import get_headers
|
|
14
|
+
from StreamingCommunity.Util.console import console, msg
|
|
15
|
+
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
def google_search(query):
|
|
@@ -5,8 +5,8 @@ from typing import List
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
# Internal utilities
|
|
8
|
-
from StreamingCommunity.
|
|
9
|
-
from StreamingCommunity.
|
|
8
|
+
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
9
|
+
from StreamingCommunity.Util.os import os_manager
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
# Config
|
|
@@ -21,7 +21,7 @@ def execute_search(info):
|
|
|
21
21
|
# Attempt to import the specified function from the module
|
|
22
22
|
try:
|
|
23
23
|
# Construct the import statement dynamically
|
|
24
|
-
module_path = f"StreamingCommunity.
|
|
24
|
+
module_path = f"StreamingCommunity.Api.Site{info['folder_base']}"
|
|
25
25
|
exec(f"from {module_path} import {info['function']}")
|
|
26
26
|
|
|
27
27
|
# Call the specified function
|
|
@@ -10,10 +10,10 @@ import httpx
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
# Internal utilities
|
|
13
|
-
from StreamingCommunity.
|
|
14
|
-
from StreamingCommunity.
|
|
15
|
-
from StreamingCommunity.
|
|
16
|
-
from StreamingCommunity.
|
|
13
|
+
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
14
|
+
from StreamingCommunity.Util.console import console, Panel, Table
|
|
15
|
+
from StreamingCommunity.Util.color import Colors
|
|
16
|
+
from StreamingCommunity.Util.os import (
|
|
17
17
|
compute_sha1_hash,
|
|
18
18
|
os_manager,
|
|
19
19
|
internet_manager
|
|
@@ -11,9 +11,9 @@ import httpx
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
# Internal utilities
|
|
14
|
-
from StreamingCommunity.
|
|
15
|
-
from StreamingCommunity.
|
|
16
|
-
from StreamingCommunity.
|
|
14
|
+
from StreamingCommunity.Util._jsonConfig import config_manager
|
|
15
|
+
from StreamingCommunity.Util.headers import get_headers
|
|
16
|
+
from StreamingCommunity.Util.os import os_manager
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class ProxyManager:
|