StreamingCommunity 2.8.0__tar.gz → 2.9.0__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.8.0/StreamingCommunity.egg-info → StreamingCommunity-2.9.0}/PKG-INFO +1 -1
  2. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/cb01new/film.py +3 -5
  3. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/guardaserie/series.py +4 -7
  4. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/mostraguarda/film.py +3 -5
  5. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/streamingcommunity/film.py +3 -5
  6. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/streamingcommunity/series.py +3 -5
  7. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/Downloader/HLS/downloader.py +5 -1
  8. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/M3U8/parser.py +24 -10
  9. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Upload/version.py +1 -1
  10. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0/StreamingCommunity.egg-info}/PKG-INFO +1 -1
  11. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/setup.py +1 -1
  12. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/LICENSE +0 -0
  13. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/MANIFEST.in +0 -0
  14. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/README.md +0 -0
  15. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Player/Helper/Vixcloud/js_parser.py +0 -0
  16. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Player/Helper/Vixcloud/util.py +0 -0
  17. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Player/ddl.py +0 -0
  18. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Player/maxstream.py +0 -0
  19. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Player/supervideo.py +0 -0
  20. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Player/vixcloud.py +0 -0
  21. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/1337xx/__init__.py +0 -0
  22. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/1337xx/site.py +0 -0
  23. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/1337xx/title.py +0 -0
  24. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/animeunity/__init__.py +0 -0
  25. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/animeunity/film_serie.py +0 -0
  26. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/animeunity/site.py +0 -0
  27. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py +0 -0
  28. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/cb01new/__init__.py +0 -0
  29. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/cb01new/site.py +0 -0
  30. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/ddlstreamitaly/__init__.py +0 -0
  31. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/ddlstreamitaly/series.py +0 -0
  32. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/ddlstreamitaly/site.py +0 -0
  33. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/ddlstreamitaly/util/ScrapeSerie.py +0 -0
  34. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/guardaserie/__init__.py +0 -0
  35. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/guardaserie/site.py +0 -0
  36. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py +0 -0
  37. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/mostraguarda/__init__.py +0 -0
  38. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/streamingcommunity/__init__.py +0 -0
  39. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/streamingcommunity/site.py +0 -0
  40. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py +0 -0
  41. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Template/Class/SearchType.py +0 -0
  42. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Template/Util/__init__.py +0 -0
  43. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Template/Util/get_domain.py +0 -0
  44. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Template/Util/manage_ep.py +0 -0
  45. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Template/__init__.py +0 -0
  46. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Template/config_loader.py +0 -0
  47. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Api/Template/site.py +0 -0
  48. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/Downloader/HLS/segments.py +0 -0
  49. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/Downloader/MP4/downloader.py +0 -0
  50. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/Downloader/TOR/downloader.py +0 -0
  51. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/Downloader/__init__.py +0 -0
  52. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/FFmpeg/__init__.py +0 -0
  53. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/FFmpeg/capture.py +0 -0
  54. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/FFmpeg/command.py +0 -0
  55. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/FFmpeg/util.py +0 -0
  56. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/M3U8/__init__.py +0 -0
  57. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/M3U8/decryptor.py +0 -0
  58. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/M3U8/estimator.py +0 -0
  59. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/M3U8/url_fixer.py +0 -0
  60. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/TMBD/__init__.py +0 -0
  61. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/TMBD/obj_tmbd.py +0 -0
  62. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Lib/TMBD/tmdb.py +0 -0
  63. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/TelegramHelp/__init__.py +0 -0
  64. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/TelegramHelp/telegram_bot.py +0 -0
  65. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Upload/update.py +0 -0
  66. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Util/color.py +0 -0
  67. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Util/config_json.py +0 -0
  68. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Util/ffmpeg_installer.py +0 -0
  69. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Util/headers.py +0 -0
  70. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Util/logger.py +0 -0
  71. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Util/message.py +0 -0
  72. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Util/os.py +0 -0
  73. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/Util/table.py +0 -0
  74. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/__init__.py +0 -0
  75. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity/run.py +0 -0
  76. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity.egg-info/SOURCES.txt +0 -0
  77. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity.egg-info/dependency_links.txt +0 -0
  78. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity.egg-info/entry_points.txt +0 -0
  79. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity.egg-info/requires.txt +0 -0
  80. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/StreamingCommunity.egg-info/top_level.txt +0 -0
  81. {StreamingCommunity-2.8.0 → StreamingCommunity-2.9.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: StreamingCommunity
3
- Version: 2.8.0
3
+ Version: 2.9.0
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
@@ -55,10 +55,8 @@ def download_film(select_title: MediaItem) -> str:
55
55
  output_path=os.path.join(mp4_path, title_name)
56
56
  ).start()
57
57
 
58
- if "error" in r_proc.keys():
59
- try:
60
- os.remove(r_proc['path'])
61
- except:
62
- pass
58
+ if r_proc['error'] is not None:
59
+ try: os.remove(r_proc['path'])
60
+ except: pass
63
61
 
64
62
  return r_proc['path']
@@ -72,13 +72,10 @@ def download_video(index_season_selected: int, index_episode_selected: int, scap
72
72
  m3u8_url=master_playlist,
73
73
  output_path=os.path.join(mp4_path, mp4_name)
74
74
  ).start()
75
-
76
-
77
- if "error" in r_proc.keys():
78
- try:
79
- os.remove(r_proc['path'])
80
- except:
81
- pass
75
+
76
+ if r_proc['error'] is not None:
77
+ try: os.remove(r_proc['path'])
78
+ except: pass
82
79
 
83
80
  return r_proc['path'], r_proc['stopped']
84
81
 
@@ -86,10 +86,8 @@ def download_film(movie_details: Json_film) -> str:
86
86
  output_path=os.path.join(mp4_path, title_name)
87
87
  ).start()
88
88
 
89
- if "error" in r_proc.keys():
90
- try:
91
- os.remove(r_proc['path'])
92
- except:
93
- pass
89
+ if r_proc['error'] is not None:
90
+ try: os.remove(r_proc['path'])
91
+ except: pass
94
92
 
95
93
  return r_proc['path']
@@ -80,10 +80,8 @@ def download_film(select_title: MediaItem) -> str:
80
80
  if script_id != "unknown":
81
81
  TelegramSession.deleteScriptId(script_id)
82
82
 
83
- if "error" in r_proc.keys():
84
- try:
85
- os.remove(r_proc['path'])
86
- except:
87
- pass
83
+ if r_proc['error'] is not None:
84
+ try: os.remove(r_proc['path'])
85
+ except: pass
88
86
 
89
87
  return r_proc['path']
@@ -86,11 +86,9 @@ def download_video(index_season_selected: int, index_episode_selected: int, scra
86
86
  output_path=os.path.join(mp4_path, mp4_name)
87
87
  ).start()
88
88
 
89
- if "error" in r_proc.keys():
90
- try:
91
- os.remove(r_proc['path'])
92
- except:
93
- pass
89
+ if r_proc['error'] is not None:
90
+ try: os.remove(r_proc['path'])
91
+ except: pass
94
92
 
95
93
  return r_proc['path'], r_proc['stopped']
96
94
 
@@ -429,7 +429,8 @@ class HLS_Downloader:
429
429
  'path': self.path_manager.output_path,
430
430
  'url': self.m3u8_url,
431
431
  'is_master': False,
432
- 'error': 'File already exists',
432
+ 'msg': 'File already exists',
433
+ 'error': None,
433
434
  'stopped': False
434
435
  }
435
436
  if TELEGRAM_BOT:
@@ -473,6 +474,8 @@ class HLS_Downloader:
473
474
  'path': self.path_manager.output_path,
474
475
  'url': self.m3u8_url,
475
476
  'is_master': self.m3u8_manager.is_master,
477
+ 'msg': None,
478
+ 'error': None,
476
479
  'stopped': download_stopped
477
480
  }
478
481
 
@@ -485,6 +488,7 @@ class HLS_Downloader:
485
488
  'path': None,
486
489
  'url': self.m3u8_url,
487
490
  'is_master': getattr(self.m3u8_manager, 'is_master', None),
491
+ 'msg': None,
488
492
  'error': error_msg,
489
493
  'stopped': False
490
494
  }
@@ -503,25 +503,35 @@ class M3U8_Parser:
503
503
  except Exception as e:
504
504
  logging.error(f"Error parsing video info: {e}")
505
505
 
506
- def __parse_encryption_keys__(self, m3u8_obj) -> None:
506
+ def __parse_encryption_keys__(self, obj) -> None:
507
507
  """
508
- Extracts encryption keys from the M3U8 object.
508
+ Extracts encryption keys either from the M3U8 object or from individual segments.
509
509
 
510
510
  Parameters:
511
- - m3u8_obj: The M3U8 object containing encryption keys.
511
+ - obj: Either the main M3U8 object or an individual segment.
512
512
  """
513
513
  try:
514
- if m3u8_obj.key is not None:
514
+ if hasattr(obj, 'key') and obj.key is not None:
515
+ key_info = {
516
+ 'method': obj.key.method,
517
+ 'iv': obj.key.iv,
518
+ 'uri': obj.key.uri
519
+ }
520
+
515
521
  if self.keys is None:
516
- self.keys = {
517
- 'method': m3u8_obj.key.method,
518
- 'iv': m3u8_obj.key.iv,
519
- 'uri': m3u8_obj.key.uri
520
- }
522
+ self.keys = key_info
523
+
524
+ """
525
+ elif obj.key.uri not in self.keys:
526
+ if isinstance(self.keys, dict):
527
+ self.keys[obj.key.uri] = key_info
528
+ else:
529
+ old_key = self.keys
530
+ self.keys = {'default': old_key, obj.key.uri: key_info}
531
+ """
521
532
 
522
533
  except Exception as e:
523
534
  logging.error(f"Error parsing encryption keys: {e}")
524
- sys.exit(0)
525
535
  pass
526
536
 
527
537
  def __parse_subtitles_and_audio__(self, m3u8_obj) -> None:
@@ -574,6 +584,10 @@ class M3U8_Parser:
574
584
  self.segments.append(segment.uri)
575
585
  else:
576
586
  self.subtitle.append(segment.uri)
587
+
588
+ # Second check if there is key in main m3u8 obj
589
+ if self.keys is None:
590
+ self.__parse_encryption_keys__(m3u8_obj)
577
591
 
578
592
  except Exception as e:
579
593
  logging.error(f"Error parsing segments: {e}")
@@ -1,5 +1,5 @@
1
1
  __title__ = 'StreamingCommunity'
2
- __version__ = '2.8.0'
2
+ __version__ = '2.9.0'
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.8.0
3
+ Version: 2.9.0
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.8.0",
13
+ version="2.9.0",
14
14
  long_description=read_readme(),
15
15
  long_description_content_type="text/markdown",
16
16
  author="Lovi-0",