KekikStream 0.8.8__py3-none-any.whl → 0.9.1__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of KekikStream might be problematic. Click here for more details.
- KekikStream/Plugins/Shorten.py +23 -15
- {KekikStream-0.8.8.dist-info → KekikStream-0.9.1.dist-info}/METADATA +1 -1
- {KekikStream-0.8.8.dist-info → KekikStream-0.9.1.dist-info}/RECORD +7 -7
- {KekikStream-0.8.8.dist-info → KekikStream-0.9.1.dist-info}/LICENSE +0 -0
- {KekikStream-0.8.8.dist-info → KekikStream-0.9.1.dist-info}/WHEEL +0 -0
- {KekikStream-0.8.8.dist-info → KekikStream-0.9.1.dist-info}/entry_points.txt +0 -0
- {KekikStream-0.8.8.dist-info → KekikStream-0.9.1.dist-info}/top_level.txt +0 -0
KekikStream/Plugins/Shorten.py
CHANGED
@@ -104,6 +104,23 @@ class Shorten(PluginBase):
|
|
104
104
|
} for veri in veriler.get("episodes")
|
105
105
|
]
|
106
106
|
|
107
|
+
async def hls_decode_video(self, token):
|
108
|
+
token = base64.b64decode(token).decode("utf-8")
|
109
|
+
token = json.loads(token).get("GetPlayInfoToken")
|
110
|
+
|
111
|
+
istek = self.cloudscraper.get(
|
112
|
+
url = f"https://vod.byteplusapi.com/?{token}",
|
113
|
+
headers = {
|
114
|
+
"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36",
|
115
|
+
"Content-Type" : "application/json",
|
116
|
+
"Origin" : "https://vod.byteplusapi.com",
|
117
|
+
"Referer" : "https://shorten.com/",
|
118
|
+
}
|
119
|
+
)
|
120
|
+
|
121
|
+
veriler = istek.json()
|
122
|
+
return veriler["Result"]["PlayInfoList"][-1]["MainPlayUrl"]
|
123
|
+
|
107
124
|
async def bolumler(self, slug):
|
108
125
|
if not self.token:
|
109
126
|
await self.__giris()
|
@@ -125,12 +142,10 @@ class Shorten(PluginBase):
|
|
125
142
|
del sub[sil]
|
126
143
|
sub["url"] = f"https://cdn.shorten.watch/{sub['url']}"
|
127
144
|
|
128
|
-
token = base64.b64decode(video["hashHls"]).decode("utf-8")
|
129
|
-
token = json.loads(token).get("GetPlayInfoToken")
|
130
145
|
veriler["data"]["episodes"][index] = {
|
131
146
|
"number" : copy.get("number"),
|
132
147
|
"image" : copy.get("cover_image"),
|
133
|
-
"hls" :
|
148
|
+
"hls" : video["hashHls"],
|
134
149
|
"subtitles" : copy.get("subtitles")
|
135
150
|
}
|
136
151
|
|
@@ -158,29 +173,22 @@ class Shorten(PluginBase):
|
|
158
173
|
|
159
174
|
episodes = []
|
160
175
|
for episode in veri.get("episodes"):
|
161
|
-
episode["name"] = veri["title"]
|
176
|
+
episode["name"] = veri["title"] + f" | {episode.get('number')}. Bölüm"
|
177
|
+
episode["subtitles"] = [subtitle for subtitle in episode["subtitles"] if subtitle.get("code").lower() in ["tr", "en"]]
|
162
178
|
|
163
179
|
ep_model = Episode(
|
164
180
|
season = 1,
|
165
181
|
episode = episode.get("number"),
|
166
182
|
title = f"{episode.get('number')}. Bölüm",
|
167
|
-
url = json.dumps(episode),
|
183
|
+
url = json.dumps(episode, indent=2, ensure_ascii=False, sort_keys=False),
|
168
184
|
)
|
169
185
|
|
170
186
|
episodes.append(ep_model)
|
171
|
-
subtitles = [
|
172
|
-
Subtitle(
|
173
|
-
name = subtitle.get("language"),
|
174
|
-
url = subtitle.get("url"),
|
175
|
-
)
|
176
|
-
for subtitle in episode.get("subtitles")
|
177
|
-
]
|
178
|
-
|
179
187
|
self._data[ep_model.url] = {
|
180
188
|
"ext_name" : self.name,
|
181
189
|
"name" : f"{ep_model.title}",
|
182
190
|
"referer" : "https://shorten.com/tr",
|
183
|
-
"subtitles" :
|
191
|
+
"subtitles" : []
|
184
192
|
}
|
185
193
|
|
186
194
|
return SeriesInfo(
|
@@ -201,7 +209,7 @@ class Shorten(PluginBase):
|
|
201
209
|
async def play(self, name: str, url: str, referer: str, subtitles: list[Subtitle]):
|
202
210
|
veri = json.loads(url)
|
203
211
|
name = veri.get("name")
|
204
|
-
url
|
212
|
+
url = await self.hls_decode_video(veri.get("hls"))
|
205
213
|
subtitles = [
|
206
214
|
Subtitle(
|
207
215
|
name = subtitle.get("language"),
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: KekikStream
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.9.1
|
4
4
|
Summary: terminal üzerinden medya içeriği aramanızı ve VLC/MPV gibi popüler medya oynatıcılar aracılığıyla doğrudan izlemenizi sağlayan modüler ve genişletilebilir bir bıdı bıdı
|
5
5
|
Home-page: https://github.com/keyiflerolsun/KekikStream
|
6
6
|
Author: keyiflerolsun
|
@@ -48,12 +48,12 @@ KekikStream/Plugins/FullHDFilmizlesene.py,sha256=Fa0gRP_NoMfPC8HIKRxERjQVOv8Fyb-
|
|
48
48
|
KekikStream/Plugins/JetFilmizle.py,sha256=Gu4Ums-88x7jNKAtKkdSXyMaOyLv0_Kb6jnomhAWhM0,3916
|
49
49
|
KekikStream/Plugins/RecTV.py,sha256=7hxlt3Rvm1gV2lF6dFLOxiK_CjNng_7a02l0YkMuNZc,4886
|
50
50
|
KekikStream/Plugins/SezonlukDizi.py,sha256=5BZVzQ2eQtymHxO0bzjA2ho4FFNahPFQly4hoHuH8lo,4441
|
51
|
-
KekikStream/Plugins/Shorten.py,sha256=
|
51
|
+
KekikStream/Plugins/Shorten.py,sha256=x-XhJxu4VIA2XJL4KJTY_fFNcnepMHsn5OTz-OeyaFU,8870
|
52
52
|
KekikStream/Plugins/SineWix.py,sha256=WxlGoE8GMWr7S7Htu_Bh_OP4qIav1igHLJ3GWzP8ttQ,4859
|
53
53
|
KekikStream/Plugins/UgurFilm.py,sha256=yYXee5uxwNnPqFJZ6s6cRkmUyqS3Vv8x-iesPalc4j4,2930
|
54
|
-
KekikStream-0.
|
55
|
-
KekikStream-0.
|
56
|
-
KekikStream-0.
|
57
|
-
KekikStream-0.
|
58
|
-
KekikStream-0.
|
59
|
-
KekikStream-0.
|
54
|
+
KekikStream-0.9.1.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
55
|
+
KekikStream-0.9.1.dist-info/METADATA,sha256=cn0p3q3dP3LsLSTkAxwKzxfucpHzsHQeCPc9bMjp52I,4226
|
56
|
+
KekikStream-0.9.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
57
|
+
KekikStream-0.9.1.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
|
58
|
+
KekikStream-0.9.1.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
|
59
|
+
KekikStream-0.9.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|