StreamingCommunity 2.9.0__tar.gz → 2.9.1__tar.gz

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.

Files changed (81) hide show
  1. {StreamingCommunity-2.9.0/StreamingCommunity.egg-info → StreamingCommunity-2.9.1}/PKG-INFO +1 -1
  2. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Player/supervideo.py +5 -14
  3. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/1337xx/site.py +1 -1
  4. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/animeunity/site.py +1 -1
  5. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/cb01new/site.py +1 -1
  6. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/ddlstreamitaly/site.py +1 -1
  7. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/guardaserie/site.py +1 -1
  8. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/streamingcommunity/site.py +1 -1
  9. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Template/Util/get_domain.py +3 -2
  10. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/Downloader/MP4/downloader.py +13 -17
  11. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Upload/version.py +1 -1
  12. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1/StreamingCommunity.egg-info}/PKG-INFO +1 -1
  13. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/setup.py +1 -1
  14. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/LICENSE +0 -0
  15. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/MANIFEST.in +0 -0
  16. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/README.md +0 -0
  17. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Player/Helper/Vixcloud/js_parser.py +0 -0
  18. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Player/Helper/Vixcloud/util.py +0 -0
  19. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Player/ddl.py +0 -0
  20. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Player/maxstream.py +0 -0
  21. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Player/vixcloud.py +0 -0
  22. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/1337xx/__init__.py +0 -0
  23. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/1337xx/title.py +0 -0
  24. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/animeunity/__init__.py +0 -0
  25. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/animeunity/film_serie.py +0 -0
  26. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py +0 -0
  27. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/cb01new/__init__.py +0 -0
  28. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/cb01new/film.py +0 -0
  29. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/ddlstreamitaly/__init__.py +0 -0
  30. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/ddlstreamitaly/series.py +0 -0
  31. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/ddlstreamitaly/util/ScrapeSerie.py +0 -0
  32. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/guardaserie/__init__.py +0 -0
  33. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/guardaserie/series.py +0 -0
  34. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py +0 -0
  35. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/mostraguarda/__init__.py +0 -0
  36. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/mostraguarda/film.py +0 -0
  37. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/streamingcommunity/__init__.py +0 -0
  38. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/streamingcommunity/film.py +0 -0
  39. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/streamingcommunity/series.py +0 -0
  40. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py +0 -0
  41. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Template/Class/SearchType.py +0 -0
  42. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Template/Util/__init__.py +0 -0
  43. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Template/Util/manage_ep.py +0 -0
  44. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Template/__init__.py +0 -0
  45. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Template/config_loader.py +0 -0
  46. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Api/Template/site.py +0 -0
  47. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/Downloader/HLS/downloader.py +0 -0
  48. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/Downloader/HLS/segments.py +0 -0
  49. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/Downloader/TOR/downloader.py +0 -0
  50. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/Downloader/__init__.py +0 -0
  51. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/FFmpeg/__init__.py +0 -0
  52. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/FFmpeg/capture.py +0 -0
  53. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/FFmpeg/command.py +0 -0
  54. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/FFmpeg/util.py +0 -0
  55. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/M3U8/__init__.py +0 -0
  56. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/M3U8/decryptor.py +0 -0
  57. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/M3U8/estimator.py +0 -0
  58. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/M3U8/parser.py +0 -0
  59. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/M3U8/url_fixer.py +0 -0
  60. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/TMBD/__init__.py +0 -0
  61. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/TMBD/obj_tmbd.py +0 -0
  62. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Lib/TMBD/tmdb.py +0 -0
  63. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/TelegramHelp/__init__.py +0 -0
  64. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/TelegramHelp/telegram_bot.py +0 -0
  65. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Upload/update.py +0 -0
  66. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Util/color.py +0 -0
  67. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Util/config_json.py +0 -0
  68. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Util/ffmpeg_installer.py +0 -0
  69. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Util/headers.py +0 -0
  70. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Util/logger.py +0 -0
  71. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Util/message.py +0 -0
  72. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Util/os.py +0 -0
  73. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/Util/table.py +0 -0
  74. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/__init__.py +0 -0
  75. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity/run.py +0 -0
  76. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity.egg-info/SOURCES.txt +0 -0
  77. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity.egg-info/dependency_links.txt +0 -0
  78. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity.egg-info/entry_points.txt +0 -0
  79. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity.egg-info/requires.txt +0 -0
  80. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/StreamingCommunity.egg-info/top_level.txt +0 -0
  81. {StreamingCommunity-2.9.0 → StreamingCommunity-2.9.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: StreamingCommunity
3
- Version: 2.9.0
3
+ Version: 2.9.1
4
4
  Home-page: https://github.com/Lovi-0/StreamingCommunity
5
5
  Author: Lovi-0
6
6
  Project-URL: Bug Reports, https://github.com/Lovi-0/StreamingCommunity/issues
@@ -12,7 +12,7 @@ from bs4 import BeautifulSoup
12
12
 
13
13
  # Internal utilities
14
14
  from StreamingCommunity.Util.config_json import config_manager
15
- from StreamingCommunity.Util.headers import get_userAgent
15
+ from StreamingCommunity.Util.headers import get_headers
16
16
 
17
17
 
18
18
  # Variable
@@ -27,11 +27,7 @@ class VideoSource:
27
27
  Attributes:
28
28
  - url (str): The URL of the video source.
29
29
  """
30
- self.headers = {
31
- 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
32
- 'accept-language': 'it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7',
33
- 'User-Agent': get_userAgent()
34
- }
30
+ self.headers = get_headers()
35
31
  self.client = httpx.Client()
36
32
  self.url = url
37
33
 
@@ -66,7 +62,7 @@ class VideoSource:
66
62
  """
67
63
  iframes = soup.find_all("iframe")
68
64
  if iframes and len(iframes) > 1:
69
- return iframes[1].get("src")
65
+ return iframes[0].get("src") or iframes[0].get("data-src")
70
66
 
71
67
  return None
72
68
 
@@ -115,13 +111,8 @@ class VideoSource:
115
111
  logging.error("Failed to fetch HTML content.")
116
112
  return None
117
113
 
118
- soup = BeautifulSoup(html_content, "html.parser")
119
- if not soup:
120
- logging.error("Failed to parse HTML content.")
121
- return None
122
-
123
114
  # Find master playlist
124
- data_js = self.get_result_node_js(soup)
115
+ data_js = self.get_result_node_js(BeautifulSoup(html_content, "html.parser"))
125
116
 
126
117
  if data_js is not None:
127
118
  match = re.search(r'sources:\s*\[\{\s*file:\s*"([^"]+)"', data_js)
@@ -131,7 +122,7 @@ class VideoSource:
131
122
 
132
123
  else:
133
124
 
134
- iframe_src = self.get_iframe(soup)
125
+ iframe_src = self.get_iframe(BeautifulSoup(html_content, "html.parser"))
135
126
  if not iframe_src:
136
127
  logging.error("No iframe found.")
137
128
  return None
@@ -41,7 +41,7 @@ def title_search(word_to_search: str) -> int:
41
41
  table_show_manager.clear()
42
42
 
43
43
  # Check if domain is working
44
- domain_to_use, base_url = search_domain(site_constant.SITE_NAME, site_constant.FULL_URL)
44
+ domain_to_use, base_url = search_domain(site_constant.FULL_URL)
45
45
 
46
46
  if domain_to_use is None or base_url is None:
47
47
  console.log("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
@@ -111,7 +111,7 @@ def title_search(title: str) -> int:
111
111
  table_show_manager.clear()
112
112
 
113
113
  # Check if domain is working
114
- domain_to_use, base_url = search_domain(site_constant.SITE_NAME, site_constant.FULL_URL)
114
+ domain_to_use, base_url = search_domain(site_constant.FULL_URL)
115
115
 
116
116
  if domain_to_use is None or base_url is None:
117
117
  console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
@@ -42,7 +42,7 @@ def title_search(word_to_search: str) -> int:
42
42
  table_show_manager.clear()
43
43
 
44
44
  # Check if domain is working
45
- domain_to_use, base_url = search_domain(site_constant.SITE_NAME, site_constant.FULL_URL)
45
+ domain_to_use, base_url = search_domain(site_constant.FULL_URL)
46
46
 
47
47
  if domain_to_use is None or base_url is None:
48
48
  console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
@@ -43,7 +43,7 @@ def title_search(word_to_search: str) -> int:
43
43
  table_show_manager.clear()
44
44
 
45
45
  # Check if domain is working
46
- domain_to_use, base_url = search_domain(site_constant.SITE_NAME, site_constant.FULL_URL)
46
+ domain_to_use, base_url = search_domain(site_constant.FULL_URL)
47
47
 
48
48
  if domain_to_use is None or base_url is None:
49
49
  console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
@@ -42,7 +42,7 @@ def title_search(word_to_search: str) -> int:
42
42
  table_show_manager.clear()
43
43
 
44
44
  # Check if domain is working
45
- domain_to_use, base_url = search_domain(site_constant.SITE_NAME, site_constant.FULL_URL)
45
+ domain_to_use, base_url = search_domain(site_constant.FULL_URL)
46
46
 
47
47
  if domain_to_use is None or base_url is None:
48
48
  console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
@@ -38,7 +38,7 @@ def title_search(title_search: str) -> int:
38
38
  Returns:
39
39
  int: The number of titles found.
40
40
  """
41
- domain_to_use, base_url = search_domain(site_constant.SITE_NAME, site_constant.FULL_URL)
41
+ domain_to_use, base_url = search_domain(site_constant.FULL_URL)
42
42
 
43
43
  if domain_to_use is None or base_url is None:
44
44
  console.print("[bold red]Error: Unable to determine valid domain or base URL.[/bold red]")
@@ -67,7 +67,8 @@ def validate_url(url, base_url):
67
67
  return False, None
68
68
 
69
69
  client = httpx.Client(
70
- verify=VERIFY,
70
+ http1=True,
71
+ verify=certifi.where(),
71
72
  headers=get_headers(),
72
73
  timeout=MAX_TIMEOUT
73
74
  )
@@ -82,7 +83,7 @@ def validate_url(url, base_url):
82
83
 
83
84
  return True, base_domain
84
85
 
85
- def search_domain(site_name: str, base_url: str, get_first: bool = False):
86
+ def search_domain(base_url: str):
86
87
  """Search for valid domain matching site name and base URL."""
87
88
  try:
88
89
  is_correct, redirect_tld = validate_url(base_url, base_url)
@@ -84,7 +84,7 @@ def MP4_downloader(url: str, path: str, referer: str = None, headers_: dict = No
84
84
  console.log("[red]Output file already exists.")
85
85
  if TELEGRAM_BOT:
86
86
  bot.send_message(f"Contenuto già scaricato!", None)
87
- return 400
87
+ return None, False
88
88
 
89
89
  if GET_ONLY_LINK:
90
90
  return {'path': path, 'url': url}
@@ -92,23 +92,19 @@ def MP4_downloader(url: str, path: str, referer: str = None, headers_: dict = No
92
92
  if not (url.lower().startswith('http://') or url.lower().startswith('https://')):
93
93
  logging.error(f"Invalid URL: {url}")
94
94
  console.print(f"[bold red]Invalid URL: {url}[/bold red]")
95
- return None
95
+ return None, False
96
96
 
97
- try:
98
- headers = {}
99
- if referer:
100
- headers['Referer'] = referer
101
-
102
- if headers_:
103
- headers.update(headers_)
104
- else:
105
- headers['User-Agent'] = get_userAgent()
106
-
107
- except Exception as header_err:
108
- logging.error(f"Error preparing headers: {header_err}")
109
- console.print(f"[bold red]Error preparing headers: {header_err}[/bold red]")
110
- return None
97
+ # Set headers
98
+ headers = {}
99
+ if referer:
100
+ headers['Referer'] = referer
111
101
 
102
+ if headers_:
103
+ headers.update(headers_)
104
+ else:
105
+ headers['User-Agent'] = get_userAgent()
106
+
107
+ # Set interrupt handler
112
108
  temp_path = f"{path}.temp"
113
109
  interrupt_handler = InterruptHandler()
114
110
  original_handler = signal.signal(signal.SIGINT, partial(signal_handler, interrupt_handler=interrupt_handler, original_handler=signal.getsignal(signal.SIGINT)))
@@ -123,7 +119,7 @@ def MP4_downloader(url: str, path: str, referer: str = None, headers_: dict = No
123
119
 
124
120
  if total == 0:
125
121
  console.print("[bold red]No video stream found.[/bold red]")
126
- return None
122
+ return None, False
127
123
 
128
124
  progress_bar = tqdm(
129
125
  total=total,
@@ -1,5 +1,5 @@
1
1
  __title__ = 'StreamingCommunity'
2
- __version__ = '2.9.0'
2
+ __version__ = '2.9.1'
3
3
  __author__ = 'Arrowar'
4
4
  __description__ = 'A command-line program to download film'
5
5
  __copyright__ = 'Copyright 2024'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: StreamingCommunity
3
- Version: 2.9.0
3
+ Version: 2.9.1
4
4
  Home-page: https://github.com/Lovi-0/StreamingCommunity
5
5
  Author: Lovi-0
6
6
  Project-URL: Bug Reports, https://github.com/Lovi-0/StreamingCommunity/issues
@@ -10,7 +10,7 @@ with open("requirements.txt", "r", encoding="utf-8-sig") as f:
10
10
 
11
11
  setup(
12
12
  name="StreamingCommunity",
13
- version="2.9.0",
13
+ version="2.9.1",
14
14
  long_description=read_readme(),
15
15
  long_description_content_type="text/markdown",
16
16
  author="Lovi-0",