Skip to content

Commit 8b677d8

Browse files
committed
Bump v3.5.5
1 parent cdac45d commit 8b677d8

File tree

12 files changed

+48
-23
lines changed

12 files changed

+48
-23
lines changed

StreamingCommunity/Api/Service/streamingcommunity/film.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# Internal utilities
1111
from StreamingCommunity.Util import os_manager, config_manager, start_message
1212
from StreamingCommunity.Api.Template import site_constants, MediaItem
13-
from StreamingCommunity.Lib.TMDB.tmdb import tmdb
13+
from StreamingCommunity.Lib.TMDB import tmdb
1414
from StreamingCommunity.Lib.HLS import HLS_Downloader
1515

1616

StreamingCommunity/Api/Service/streamingcommunity/series.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# Internal utilities
1313
from StreamingCommunity.Util import config_manager, start_message
1414
from StreamingCommunity.Api.Template import site_constants, MediaItem
15-
from StreamingCommunity.Lib.TMDB.tmdb import tmdb
15+
from StreamingCommunity.Lib.TMDB import tmdb
1616
from StreamingCommunity.Api.Template.episode_manager import (
1717
manage_selection,
1818
map_episode_title,

StreamingCommunity/Lib/DASH/extractor/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,10 @@
22

33
from .ex_widevine import get_widevine_keys
44
from .ex_playready import get_playready_keys
5-
from .ex_clearkey import ClearKey
65
from .util import map_keys_to_representations
76

87
__all__ = [
98
'get_widevine_keys',
109
'get_playready_keys',
11-
'ClearKey',
1210
'map_keys_to_representations'
1311
]

StreamingCommunity/Lib/DASH/segments.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ async def _concatenate_segments_in_order(self, temp_dir, concat_path, total_segm
517517
is_mp4_segments = seg_type == "mp4" and self._has_varying_segment_urls(self.selected_representation.get('segment_urls', []))
518518

519519
if is_mp4_segments:
520-
console.print("[yellow]Concatenating MP4 segments with moof/mdat extraction...")
520+
console.print("[yellow]Concatenating MP4 with moof/mdat ...")
521521

522522
# Write VIDEO0.mp4 fully, then only moof/mdat from VIDEO1+.mp4
523523
with open(concat_path, 'wb') as outfile:
@@ -539,7 +539,7 @@ async def _concatenate_segments_in_order(self, temp_dir, concat_path, total_segm
539539
outfile.write(atom)
540540

541541
else:
542-
console.print("[yellow]Concatenating m4s segments...")
542+
console.print("[yellow]Concatenating m4s ...")
543543
with open(concat_path, 'ab') as outfile:
544544
for idx in range(total_segments):
545545
temp_file = os.path.join(temp_dir, f"seg_{idx:06d}.tmp")

StreamingCommunity/Lib/DASH/extractor/ex_clearkey.py renamed to StreamingCommunity/Lib/HLS/decrypt.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727

2828

29-
class ClearKey:
29+
class M3U8_Decryption:
3030
def __init__(self, key: bytes, iv: bytes, method: str, pssh: bytes = None) -> None:
3131
"""
3232
Initialize the M3U8_Decryption object.
@@ -76,6 +76,6 @@ def decrypt(self, ciphertext: bytes) -> bytes:
7676
elif self.method == "AES-128-CTR":
7777
decrypted_content = self.cipher.decrypt(ciphertext)
7878
else:
79-
raise ValueError("Invalid or unsupported method: {}".format(self.method))
79+
raise ValueError(f"Invalid or unsupported method: {self.method}")
8080

8181
return decrypted_content

StreamingCommunity/Lib/HLS/segments.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424

2525
# Logic class
26-
from ..DASH.extractor import ClearKey
26+
from .decrypt import M3U8_Decryption
2727
from .estimator import M3U8_Ts_Estimator
2828
from .parser import M3U8_Parser
2929
from .url_fixer import M3U8_UrlFix
@@ -68,7 +68,7 @@ def __init__(self, url: str, tmp_folder: str, license_url: Optional[str] = None,
6868
self.enable_retry = ENABLE_RETRY
6969

7070
# Util class
71-
self.decryption: ClearKey = None
71+
self.decryption: M3U8_Decryption = None
7272
self.class_ts_estimator = M3U8_Ts_Estimator(0, self)
7373
self.class_url_fixer = M3U8_UrlFix(url)
7474

@@ -118,7 +118,7 @@ def parse_data(self, m3u8_content: str) -> None:
118118

119119
if m3u8_parser.keys:
120120
key = self.__get_key__(m3u8_parser)
121-
self.decryption = ClearKey(key, m3u8_parser.keys.get('iv'), m3u8_parser.keys.get('method'), m3u8_parser.keys.get('pssh'))
121+
self.decryption = M3U8_Decryption(key, m3u8_parser.keys.get('iv'), m3u8_parser.keys.get('method'), m3u8_parser.keys.get('pssh'))
122122

123123
segments = [
124124
self.class_url_fixer.generate_full_url(seg) if "http" not in seg else seg
@@ -127,7 +127,7 @@ def parse_data(self, m3u8_content: str) -> None:
127127
self.segments = segments
128128
self.stream_type = self.get_type_stream(self.segments)
129129
self.class_ts_estimator.total_segments = len(self.segments)
130-
console.log(f"[cyan]Detected stream type: [green]{self.stream_type}")
130+
console.log(f"[cyan]Detected stream type: [green]{str(self.stream_type).upper()}")
131131

132132
def get_segments_count(self) -> int:
133133
"""
@@ -350,6 +350,7 @@ async def _concatenate_segments(self, output_path: str, temp_dir: str):
350350
"""
351351
Concatenate all segment files in order to the final output file.
352352
"""
353+
console.print("\n[yellow]Concatenating TS ...")
353354
with open(output_path, 'ab') as outfile:
354355
for idx in range(len(self.segments)):
355356
temp_file = self._get_temp_segment_path(temp_dir, idx)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# 31.12.25
2+
3+
from .tmdb_api import tmdb
4+
5+
__all__ = ['tmdb']

StreamingCommunity/Upload/update.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,5 @@ def update():
9999
f"[yellow]donation[magenta]. Thank you!"
100100
)
101101

102-
if str(current_version).replace('v', '') != str(last_version).replace('v', ''):
103-
console.print(f"\n[cyan]New version available: [yellow]{last_version}")
104-
105-
time.sleep(0.75)
102+
if str(current_version).lower().replace("v.", "").replace("v", "") != str(last_version).lower().replace("v.", "").replace("v", ""):
103+
console.print(f"\n[cyan]New version available: [yellow]{last_version}")
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
__title__ = 'StreamingCommunity'
2-
__version__ = '3.5.4'
2+
__version__ = '3.5.5'
33
__author__ = 'Arrowar'
44
__description__ = 'A command-line program to download film'
55
__copyright__ = 'Copyright 2025'

0 commit comments

Comments
 (0)