StreamingCommunity 1.7.6__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/Helper/Vixcloud/js_parser.py +4 -1
- StreamingCommunity/{Src/Api → Api}/Player/Helper/Vixcloud/util.py +166 -166
- StreamingCommunity/{Src/Api → Api}/Player/ddl.py +89 -89
- StreamingCommunity/{Src/Api → Api}/Player/maxstream.py +151 -151
- StreamingCommunity/{Src/Api → Api}/Player/supervideo.py +193 -193
- StreamingCommunity/{Src/Api → Api}/Player/vixcloud.py +224 -212
- StreamingCommunity/{Src/Api → Api}/Site/1337xx/__init__.py +50 -50
- StreamingCommunity/{Src/Api → Api}/Site/1337xx/costant.py +15 -15
- StreamingCommunity/{Src/Api → Api}/Site/1337xx/site.py +83 -83
- StreamingCommunity/{Src/Api → Api}/Site/1337xx/title.py +66 -66
- StreamingCommunity/{Src/Api → Api}/Site/altadefinizione/__init__.py +50 -50
- StreamingCommunity/{Src/Api/Site/mostraguarda → Api/Site/altadefinizione}/costant.py +15 -15
- StreamingCommunity/{Src/Api → Api}/Site/altadefinizione/film.py +69 -69
- StreamingCommunity/{Src/Api → Api}/Site/altadefinizione/site.py +86 -86
- StreamingCommunity/{Src/Api → Api}/Site/animeunity/__init__.py +50 -50
- StreamingCommunity/{Src/Api/Site/altadefinizione → Api/Site/animeunity}/costant.py +15 -15
- StreamingCommunity/{Src/Api → Api}/Site/animeunity/film_serie.py +130 -131
- StreamingCommunity/{Src/Api → Api}/Site/animeunity/site.py +164 -164
- StreamingCommunity/{Src/Api → Api}/Site/animeunity/util/ScrapeSerie.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Site/bitsearch/__init__.py +51 -51
- StreamingCommunity/{Src/Api → Api}/Site/bitsearch/costant.py +15 -15
- StreamingCommunity/{Src/Api → Api}/Site/bitsearch/site.py +84 -84
- StreamingCommunity/{Src/Api → Api}/Site/bitsearch/title.py +47 -47
- StreamingCommunity/{Src/Api → Api}/Site/cb01new/__init__.py +51 -51
- StreamingCommunity/{Src/Api → Api}/Site/cb01new/costant.py +15 -15
- StreamingCommunity/{Src/Api → Api}/Site/cb01new/film.py +69 -69
- StreamingCommunity/{Src/Api → Api}/Site/cb01new/site.py +74 -74
- StreamingCommunity/{Src/Api → Api}/Site/ddlstreamitaly/__init__.py +57 -57
- StreamingCommunity/{Src/Api → Api}/Site/ddlstreamitaly/costant.py +16 -16
- StreamingCommunity/{Src/Api → Api}/Site/ddlstreamitaly/series.py +141 -142
- StreamingCommunity/{Src/Api → Api}/Site/ddlstreamitaly/site.py +92 -92
- StreamingCommunity/{Src/Api → Api}/Site/ddlstreamitaly/util/ScrapeSerie.py +84 -82
- StreamingCommunity/{Src/Api → Api}/Site/guardaserie/__init__.py +52 -52
- StreamingCommunity/{Src/Api/Site/piratebays → Api/Site/guardaserie}/costant.py +15 -15
- StreamingCommunity/{Src/Api → Api}/Site/guardaserie/series.py +195 -195
- StreamingCommunity/{Src/Api → Api}/Site/guardaserie/site.py +84 -84
- StreamingCommunity/{Src/Api → Api}/Site/guardaserie/util/ScrapeSerie.py +110 -110
- StreamingCommunity/{Src/Api → Api}/Site/mostraguarda/__init__.py +48 -48
- StreamingCommunity/{Src/Api/Site/animeunity → Api/Site/mostraguarda}/costant.py +15 -15
- StreamingCommunity/{Src/Api → Api}/Site/mostraguarda/film.py +94 -94
- StreamingCommunity/{Src/Api → Api}/Site/piratebays/__init__.py +50 -50
- StreamingCommunity/{Src/Api/Site/guardaserie → Api/Site/piratebays}/costant.py +15 -15
- StreamingCommunity/{Src/Api → Api}/Site/piratebays/site.py +88 -88
- StreamingCommunity/{Src/Api → Api}/Site/piratebays/title.py +45 -45
- StreamingCommunity/{Src/Api → Api}/Site/streamingcommunity/__init__.py +55 -55
- StreamingCommunity/{Src/Api → Api}/Site/streamingcommunity/costant.py +15 -15
- StreamingCommunity/{Src/Api → Api}/Site/streamingcommunity/film.py +70 -70
- StreamingCommunity/{Src/Api → Api}/Site/streamingcommunity/series.py +205 -203
- StreamingCommunity/{Src/Api → Api}/Site/streamingcommunity/site.py +125 -125
- StreamingCommunity/{Src/Api → Api}/Site/streamingcommunity/util/ScrapeSerie.py +3 -3
- StreamingCommunity/{Src/Api → Api}/Template/Class/SearchType.py +101 -101
- StreamingCommunity/{Src/Api → Api}/Template/Util/__init__.py +4 -4
- StreamingCommunity/{Src/Api → Api}/Template/Util/get_domain.py +137 -137
- StreamingCommunity/{Src/Api → Api}/Template/Util/manage_ep.py +153 -153
- StreamingCommunity/{Src/Api → Api}/Template/Util/recall_search.py +37 -37
- StreamingCommunity/Api/Template/__init__.py +3 -0
- StreamingCommunity/{Src/Api → Api}/Template/site.py +87 -87
- StreamingCommunity/{Src/Lib → Lib}/Downloader/HLS/downloader.py +968 -968
- StreamingCommunity/{Src/Lib → Lib}/Downloader/HLS/proxyes.py +110 -110
- StreamingCommunity/{Src/Lib → Lib}/Downloader/HLS/segments.py +538 -540
- StreamingCommunity/{Src/Lib → Lib}/Downloader/MP4/downloader.py +156 -156
- StreamingCommunity/{Src/Lib → Lib}/Downloader/TOR/downloader.py +222 -222
- StreamingCommunity/{Src/Lib → Lib}/Downloader/__init__.py +4 -4
- StreamingCommunity/{Src/Lib → Lib}/Driver/driver_1.py +76 -76
- StreamingCommunity/{Src/Lib → Lib}/FFmpeg/__init__.py +4 -4
- StreamingCommunity/{Src/Lib → Lib}/FFmpeg/capture.py +170 -170
- StreamingCommunity/{Src/Lib → Lib}/FFmpeg/command.py +292 -292
- StreamingCommunity/{Src/Lib → Lib}/FFmpeg/util.py +241 -241
- StreamingCommunity/{Src/Lib → Lib}/M3U8/__init__.py +5 -5
- StreamingCommunity/{Src/Lib → Lib}/M3U8/decryptor.py +164 -129
- StreamingCommunity/{Src/Lib → Lib}/M3U8/estimator.py +175 -172
- StreamingCommunity/{Src/Lib → Lib}/M3U8/parser.py +666 -666
- StreamingCommunity/{Src/Lib → Lib}/M3U8/url_fixer.py +51 -51
- StreamingCommunity/Lib/TMBD/__init__.py +2 -0
- StreamingCommunity/{Src/Lib → Lib}/TMBD/obj_tmbd.py +39 -39
- StreamingCommunity/{Src/Lib → Lib}/TMBD/tmdb.py +345 -345
- StreamingCommunity/{Src/Upload → Upload}/update.py +68 -64
- StreamingCommunity/{Src/Upload → Upload}/version.py +5 -5
- StreamingCommunity/{Src/Util → Util}/_jsonConfig.py +204 -204
- StreamingCommunity/{Src/Util → Util}/call_stack.py +42 -42
- StreamingCommunity/{Src/Util → Util}/color.py +20 -20
- StreamingCommunity/{Src/Util → Util}/console.py +12 -12
- StreamingCommunity/Util/ffmpeg_installer.py +275 -0
- StreamingCommunity/{Src/Util → Util}/headers.py +147 -147
- StreamingCommunity/{Src/Util → Util}/logger.py +53 -53
- StreamingCommunity/{Src/Util → Util}/message.py +46 -46
- StreamingCommunity/{Src/Util → Util}/os.py +514 -417
- StreamingCommunity/{Src/Util → Util}/table.py +163 -163
- StreamingCommunity/run.py +202 -196
- {StreamingCommunity-1.7.6.dist-info → StreamingCommunity-1.9.1.dist-info}/METADATA +126 -60
- StreamingCommunity-1.9.1.dist-info/RECORD +95 -0
- {StreamingCommunity-1.7.6.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/Player/ScrapeSerie.py +0 -110
- StreamingCommunity/Src/Api/Template/__init__.py +0 -3
- StreamingCommunity/Src/Lib/TMBD/__init__.py +0 -2
- StreamingCommunity-1.7.6.dist-info/RECORD +0 -97
- {StreamingCommunity-1.7.6.dist-info → StreamingCommunity-1.9.1.dist-info}/LICENSE +0 -0
- {StreamingCommunity-1.7.6.dist-info → StreamingCommunity-1.9.1.dist-info}/entry_points.txt +0 -0
- {StreamingCommunity-1.7.6.dist-info → StreamingCommunity-1.9.1.dist-info}/top_level.txt +0 -0
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
# 20.03.24
|
|
2
|
-
|
|
3
|
-
import logging
|
|
4
|
-
from urllib.parse import urlparse, urljoin
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class M3U8_UrlFix:
|
|
8
|
-
def __init__(self, url: str = None) -> None:
|
|
9
|
-
"""
|
|
10
|
-
Initializes an M3U8_UrlFix object with the provided playlist URL.
|
|
11
|
-
|
|
12
|
-
Parameters:
|
|
13
|
-
- url (str, optional): The URL of the playlist. Defaults to None.
|
|
14
|
-
"""
|
|
15
|
-
self.url_playlist: str = url
|
|
16
|
-
|
|
17
|
-
def set_playlist(self, url: str) -> None:
|
|
18
|
-
"""
|
|
19
|
-
Set the M3U8 playlist URL.
|
|
20
|
-
|
|
21
|
-
Parameters:
|
|
22
|
-
- url (str): The M3U8 playlist URL.
|
|
23
|
-
"""
|
|
24
|
-
self.url_playlist = url
|
|
25
|
-
|
|
26
|
-
def generate_full_url(self, url_resource: str) -> str:
|
|
27
|
-
"""
|
|
28
|
-
Generate a full URL for a given resource using the base URL from the playlist.
|
|
29
|
-
|
|
30
|
-
Parameters:
|
|
31
|
-
- url_resource (str): The relative URL of the resource within the playlist.
|
|
32
|
-
|
|
33
|
-
Returns:
|
|
34
|
-
str: The full URL for the specified resource.
|
|
35
|
-
"""
|
|
36
|
-
|
|
37
|
-
# Check if m3u8 url playlist is present
|
|
38
|
-
if self.url_playlist == None:
|
|
39
|
-
logging.error("[M3U8_UrlFix] Cant generate full url, playlist not present")
|
|
40
|
-
raise
|
|
41
|
-
|
|
42
|
-
# Parse the playlist URL to extract the base URL components
|
|
43
|
-
parsed_playlist_url = urlparse(self.url_playlist)
|
|
44
|
-
|
|
45
|
-
# Construct the base URL using the scheme, netloc, and path from the playlist URL
|
|
46
|
-
base_url = f"{parsed_playlist_url.scheme}://{parsed_playlist_url.netloc}{parsed_playlist_url.path}"
|
|
47
|
-
|
|
48
|
-
# Join the base URL with the relative resource URL to get the full URL
|
|
49
|
-
full_url = urljoin(base_url, url_resource)
|
|
50
|
-
|
|
51
|
-
return full_url
|
|
1
|
+
# 20.03.24
|
|
2
|
+
|
|
3
|
+
import logging
|
|
4
|
+
from urllib.parse import urlparse, urljoin
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class M3U8_UrlFix:
|
|
8
|
+
def __init__(self, url: str = None) -> None:
|
|
9
|
+
"""
|
|
10
|
+
Initializes an M3U8_UrlFix object with the provided playlist URL.
|
|
11
|
+
|
|
12
|
+
Parameters:
|
|
13
|
+
- url (str, optional): The URL of the playlist. Defaults to None.
|
|
14
|
+
"""
|
|
15
|
+
self.url_playlist: str = url
|
|
16
|
+
|
|
17
|
+
def set_playlist(self, url: str) -> None:
|
|
18
|
+
"""
|
|
19
|
+
Set the M3U8 playlist URL.
|
|
20
|
+
|
|
21
|
+
Parameters:
|
|
22
|
+
- url (str): The M3U8 playlist URL.
|
|
23
|
+
"""
|
|
24
|
+
self.url_playlist = url
|
|
25
|
+
|
|
26
|
+
def generate_full_url(self, url_resource: str) -> str:
|
|
27
|
+
"""
|
|
28
|
+
Generate a full URL for a given resource using the base URL from the playlist.
|
|
29
|
+
|
|
30
|
+
Parameters:
|
|
31
|
+
- url_resource (str): The relative URL of the resource within the playlist.
|
|
32
|
+
|
|
33
|
+
Returns:
|
|
34
|
+
str: The full URL for the specified resource.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
# Check if m3u8 url playlist is present
|
|
38
|
+
if self.url_playlist == None:
|
|
39
|
+
logging.error("[M3U8_UrlFix] Cant generate full url, playlist not present")
|
|
40
|
+
raise
|
|
41
|
+
|
|
42
|
+
# Parse the playlist URL to extract the base URL components
|
|
43
|
+
parsed_playlist_url = urlparse(self.url_playlist)
|
|
44
|
+
|
|
45
|
+
# Construct the base URL using the scheme, netloc, and path from the playlist URL
|
|
46
|
+
base_url = f"{parsed_playlist_url.scheme}://{parsed_playlist_url.netloc}{parsed_playlist_url.path}"
|
|
47
|
+
|
|
48
|
+
# Join the base URL with the relative resource URL to get the full URL
|
|
49
|
+
full_url = urljoin(base_url, url_resource)
|
|
50
|
+
|
|
51
|
+
return full_url
|
|
52
52
|
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
# 17.09.24
|
|
2
|
-
|
|
3
|
-
from typing import Dict
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class Json_film:
|
|
7
|
-
def __init__(self, data: Dict):
|
|
8
|
-
self.adult = data.get('adult', False)
|
|
9
|
-
self.backdrop_path = data.get('backdrop_path')
|
|
10
|
-
self.budget = data.get('budget', 0)
|
|
11
|
-
self.homepage = data.get('homepage')
|
|
12
|
-
self.id = data.get('id', 0)
|
|
13
|
-
self.imdb_id = data.get('imdb_id')
|
|
14
|
-
self.origin_country = data.get('origin_country', [])
|
|
15
|
-
self.original_language = data.get('original_language')
|
|
16
|
-
self.original_title = data.get('original_title')
|
|
17
|
-
self.overview = data.get('overview')
|
|
18
|
-
self.popularity = data.get('popularity', 0.0)
|
|
19
|
-
self.poster_path = data.get('poster_path')
|
|
20
|
-
self.release_date = data.get('release_date')
|
|
21
|
-
self.revenue = data.get('revenue', 0)
|
|
22
|
-
self.runtime = data.get('runtime', 0)
|
|
23
|
-
self.status = data.get('status')
|
|
24
|
-
self.tagline = data.get('tagline')
|
|
25
|
-
self.title = data.get('title')
|
|
26
|
-
self.video = data.get('video', False)
|
|
27
|
-
self.vote_average = data.get('vote_average', 0.0)
|
|
28
|
-
self.vote_count = data.get('vote_count', 0)
|
|
29
|
-
|
|
30
|
-
def __repr__(self):
|
|
31
|
-
return (f"Film(adult={self.adult}, backdrop_path='{self.backdrop_path}', "
|
|
32
|
-
f"budget={self.budget}, "
|
|
33
|
-
f"homepage='{self.homepage}', id={self.id}, "
|
|
34
|
-
f"imdb_id='{self.imdb_id}', origin_country={self.origin_country}, "
|
|
35
|
-
f"original_language='{self.original_language}', original_title='{self.original_title}', "
|
|
36
|
-
f"overview='{self.overview}', popularity={self.popularity}, poster_path='{self.poster_path}', "
|
|
37
|
-
f"release_date='{self.release_date}', revenue={self.revenue}, runtime={self.runtime}, "
|
|
38
|
-
f"status='{self.status}', tagline='{self.tagline}', "
|
|
39
|
-
f"title='{self.title}', video={self.video}, vote_average={self.vote_average}, vote_count={self.vote_count})")
|
|
1
|
+
# 17.09.24
|
|
2
|
+
|
|
3
|
+
from typing import Dict
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Json_film:
|
|
7
|
+
def __init__(self, data: Dict):
|
|
8
|
+
self.adult = data.get('adult', False)
|
|
9
|
+
self.backdrop_path = data.get('backdrop_path')
|
|
10
|
+
self.budget = data.get('budget', 0)
|
|
11
|
+
self.homepage = data.get('homepage')
|
|
12
|
+
self.id = data.get('id', 0)
|
|
13
|
+
self.imdb_id = data.get('imdb_id')
|
|
14
|
+
self.origin_country = data.get('origin_country', [])
|
|
15
|
+
self.original_language = data.get('original_language')
|
|
16
|
+
self.original_title = data.get('original_title')
|
|
17
|
+
self.overview = data.get('overview')
|
|
18
|
+
self.popularity = data.get('popularity', 0.0)
|
|
19
|
+
self.poster_path = data.get('poster_path')
|
|
20
|
+
self.release_date = data.get('release_date')
|
|
21
|
+
self.revenue = data.get('revenue', 0)
|
|
22
|
+
self.runtime = data.get('runtime', 0)
|
|
23
|
+
self.status = data.get('status')
|
|
24
|
+
self.tagline = data.get('tagline')
|
|
25
|
+
self.title = data.get('title')
|
|
26
|
+
self.video = data.get('video', False)
|
|
27
|
+
self.vote_average = data.get('vote_average', 0.0)
|
|
28
|
+
self.vote_count = data.get('vote_count', 0)
|
|
29
|
+
|
|
30
|
+
def __repr__(self):
|
|
31
|
+
return (f"Film(adult={self.adult}, backdrop_path='{self.backdrop_path}', "
|
|
32
|
+
f"budget={self.budget}, "
|
|
33
|
+
f"homepage='{self.homepage}', id={self.id}, "
|
|
34
|
+
f"imdb_id='{self.imdb_id}', origin_country={self.origin_country}, "
|
|
35
|
+
f"original_language='{self.original_language}', original_title='{self.original_title}', "
|
|
36
|
+
f"overview='{self.overview}', popularity={self.popularity}, poster_path='{self.poster_path}', "
|
|
37
|
+
f"release_date='{self.release_date}', revenue={self.revenue}, runtime={self.runtime}, "
|
|
38
|
+
f"status='{self.status}', tagline='{self.tagline}', "
|
|
39
|
+
f"title='{self.title}', video={self.video}, vote_average={self.vote_average}, vote_count={self.vote_count})")
|