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.

@@ -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" : f"https://api.ramsan.tr/shorten/m3u/proxy/?{token}",
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" : 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 = veri.get("hls")
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.8.8
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=SJPSs6mpBWIz8k5EjdKNKKukisQu3zG6-sjRA9P3ZF4,8310
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.8.8.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
55
- KekikStream-0.8.8.dist-info/METADATA,sha256=zQo6L3ERTB8Cz9JBcoVSWd4RI9kzyC4QXBGwZraPPD0,4226
56
- KekikStream-0.8.8.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
57
- KekikStream-0.8.8.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
58
- KekikStream-0.8.8.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
59
- KekikStream-0.8.8.dist-info/RECORD,,
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,,