23
23
24
24
25
25
class VideoSource :
26
- def __init__ (self , site_name : str , is_series : bool ):
26
+ def __init__ (self , url : str , is_series : bool ):
27
27
"""
28
28
Initialize video source for streaming site.
29
29
30
30
Args:
31
- site_name (str): Name of streaming site
32
- is_series (bool): Flag for series or movie content
31
+ - url (str): The URL of the streaming site.
32
+ - is_series (bool): Flag for series or movie content
33
33
"""
34
34
self .headers = {'user-agent' : get_headers ()}
35
- self .base_name = site_name
36
- self .domain = config_manager .get_dict ('SITE' , self .base_name )['domain' ]
35
+ self .url = url
37
36
self .is_series = is_series
38
37
39
38
def setup (self , media_id : int ):
@@ -64,7 +63,7 @@ def get_iframe(self, episode_id: int) -> None:
64
63
65
64
# Make a request to get iframe source
66
65
response = httpx .get (
67
- url = f"https:// { self .base_name } . { self . domain } /iframe/{ self .media_id } " ,
66
+ url = f"{ self .url } /iframe/{ self .media_id } " ,
68
67
params = params ,
69
68
timeout = max_timeout
70
69
)
@@ -185,7 +184,7 @@ def get_mp4(self, url_to_download: str, scws_id: str) -> list:
185
184
}
186
185
187
186
# API request to get video details
188
- video_api_url = f'https:// { self .base_name } . { self . domain } /api/video/{ scws_id } '
187
+ video_api_url = f'{ self .url } /api/video/{ scws_id } '
189
188
response = httpx .get (video_api_url , headers = headers )
190
189
191
190
if response .status_code == 200 :
@@ -197,7 +196,7 @@ def get_mp4(self, url_to_download: str, scws_id: str) -> list:
197
196
198
197
# Request download link generation for each track
199
198
download_response = httpx .post (
200
- url = f'https:// { self .base_name } . { self . domain } /api/download/generate_link?scws_id={ track ["video_id" ]} &rendition={ track ["quality" ]} ' ,
199
+ url = f'{ self .url } /api/download/generate_link?scws_id={ track ["video_id" ]} &rendition={ track ["quality" ]} ' ,
201
200
headers = {
202
201
'referer' : url_to_download ,
203
202
'user-agent' : get_headers (),
@@ -220,18 +219,17 @@ def get_mp4(self, url_to_download: str, scws_id: str) -> list:
220
219
221
220
222
221
class VideoSourceAnime (VideoSource ):
223
- def __init__ (self , site_name : str ):
222
+ def __init__ (self , url : str ):
224
223
"""
225
224
Initialize anime-specific video source.
226
225
227
226
Args:
228
- site_name (str): Name of anime streaming site
227
+ - url (str): The URL of the streaming site.
229
228
230
229
Extends base VideoSource with anime-specific initialization
231
230
"""
232
231
self .headers = {'user-agent' : get_headers ()}
233
- self .base_name = site_name
234
- self .domain = config_manager .get_dict ('SITE' , self .base_name )['domain' ]
232
+ self .url = url
235
233
self .src_mp4 = None
236
234
237
235
def get_embed (self , episode_id : int ):
@@ -247,7 +245,7 @@ def get_embed(self, episode_id: int):
247
245
try :
248
246
249
247
response = httpx .get (
250
- url = f"https://www. { self .base_name } . { self . domain } /embed-url/{ episode_id } " ,
248
+ url = f"{ self .url } /embed-url/{ episode_id } " ,
251
249
headers = self .headers ,
252
250
timeout = max_timeout
253
251
)
0 commit comments