KekikStream 1.0.8__py3-none-any.whl → 1.1.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,17 +1,24 @@
1
1
  # ! Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
2
2
 
3
3
  from KekikStream.Core import ExtractorBase, ExtractResult, Subtitle
4
- import json
4
+ import json, re
5
5
 
6
6
  class VideoSeyred(ExtractorBase):
7
7
  name = "VideoSeyred"
8
8
  main_url = "https://videoseyred.in"
9
9
 
10
10
  async def extract(self, url, referer=None) -> ExtractResult:
11
+ print(url)
11
12
  if referer:
12
13
  self.oturum.headers.update({"Referer": referer})
13
14
 
14
15
  video_id = url.split("embed/")[1].split("?")[0]
16
+ if len(video_id) > 10:
17
+ kontrol = await self.oturum.get(url)
18
+ kontrol.raise_for_status()
19
+
20
+ video_id = re.search(r"playlist\/(.*)\.json", kontrol.text)[1]
21
+
15
22
  video_url = f"{self.main_url}/playlist/{video_id}.json"
16
23
 
17
24
  response = await self.oturum.get(video_url)
@@ -71,7 +71,8 @@ class DiziYou(PluginBase):
71
71
  istek = await self.oturum.get(url)
72
72
  secici = Selector(istek.text)
73
73
 
74
- item_title = secici.css("div.title h1::text").get().strip()
74
+ item_title = secici.css("div.title h1::text").get()
75
+ ep_name = secici.css("div#bolum-ismi::text").get().strip()
75
76
  item_id = secici.css("iframe#diziyouPlayer::attr(src)").get().split("/")[-1].replace(".html", "")
76
77
 
77
78
  subtitles = []
@@ -114,7 +115,7 @@ class DiziYou(PluginBase):
114
115
  for stream in stream_urls:
115
116
  self._data[stream.get("url")] = {
116
117
  "ext_name" : f"{self.name} | {stream.get('dil')}",
117
- "name" : f"{self.name} | {stream.get('dil')} | {item_title}",
118
+ "name" : f"{self.name} | {stream.get('dil')} | {item_title} - {ep_name}",
118
119
  "referer" : url,
119
120
  "subtitles" : subtitles
120
121
  }
@@ -124,4 +125,7 @@ class DiziYou(PluginBase):
124
125
  async def play(self, name: str, url: str, referer: str, subtitles: list[Subtitle]):
125
126
  extract_result = ExtractResult(name=name, url=url, referer=referer, subtitles=subtitles)
126
127
  self.media_handler.title = name
128
+ if self.name not in self.media_handler.title:
129
+ self.media_handler.title = f"{self.name} | {self.media_handler.title}"
130
+
127
131
  self.media_handler.play_media(extract_result)
KekikStream/__init__.py CHANGED
@@ -17,6 +17,7 @@ class KekikStream:
17
17
  self.suanki_eklenti: PluginBase = None
18
18
  self.secilen_sonuc = None
19
19
  self.dizi = False
20
+ self.bolum_baslik = ""
20
21
 
21
22
  async def _temizle_ve_baslik_goster(self, baslik: str):
22
23
  """
@@ -218,14 +219,19 @@ class KekikStream:
218
219
  self.dizi = True
219
220
  await self.dizi_bolum_secimi(medya_bilgi)
220
221
  else:
221
- self.dizi = False
222
- baglantilar = await self.suanki_eklenti.load_links(medya_bilgi.url)
222
+ self.dizi = False
223
+ self.bolum_baslik = ""
224
+ baglantilar = await self.suanki_eklenti.load_links(medya_bilgi.url)
223
225
  await self.baglanti_secenekleri_goster(baglantilar)
224
226
 
225
227
  async def dizi_bolum_secimi(self, medya_bilgi: SeriesInfo):
226
228
  """
227
229
  Dizi içeriği için bölüm seçimi yapar ve seçilen bölümün bağlantılarını yükler.
228
230
  """
231
+ bolumler = {
232
+ bolum.url: f"{bolum.season}. Sezon {bolum.episode}. Bölüm" + (f" - {bolum.title}" if bolum.title else "")
233
+ for bolum in medya_bilgi.episodes
234
+ }
229
235
  secilen_bolum = await self.arayuz_yonetici.select_from_fuzzy(
230
236
  message = "İzlemek istediğiniz bölümü seçin:",
231
237
  choices = [
@@ -234,6 +240,8 @@ class KekikStream:
234
240
  ]
235
241
  )
236
242
  if secilen_bolum:
243
+ self.bolum_baslik = bolumler[secilen_bolum]
244
+
237
245
  baglantilar = await self.suanki_eklenti.load_links(secilen_bolum)
238
246
  await self.baglanti_secenekleri_goster(baglantilar)
239
247
 
@@ -351,6 +359,9 @@ class KekikStream:
351
359
  if self.suanki_eklenti.name not in self.medya_yonetici.get_title():
352
360
  self.medya_yonetici.set_title(f"{self.suanki_eklenti.name} | {self.medya_yonetici.get_title()}")
353
361
 
362
+ if self.bolum_baslik:
363
+ self.medya_yonetici.set_title(f"{self.medya_yonetici.get_title()} | {self.bolum_baslik}")
364
+
354
365
  if secilen_data.name not in self.medya_yonetici.get_title():
355
366
  self.medya_yonetici.set_title(f"{self.medya_yonetici.get_title()} | {secilen_data.name}")
356
367
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: KekikStream
3
- Version: 1.0.8
3
+ Version: 1.1.0
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
@@ -1,4 +1,4 @@
1
- KekikStream/__init__.py,sha256=HyZqqyZ1vnDQ8cjByG1GrfyfWwJ0EQf5BkaMmBpnPO8,14994
1
+ KekikStream/__init__.py,sha256=T6b93GPnam4ww2tOU2dZaS-WHKwCEXqNAaRh6Lrg4Kw,15477
2
2
  KekikStream/__main__.py,sha256=B81dQoeGEb-T5Sycs3eNAmW7unvx0Mef0syCjs4nPds,137
3
3
  KekikStream/requirements.txt,sha256=QWCXrrmKodIm7mGtIz9cWr9sks-lmL_TilKMrruWJn0,77
4
4
  KekikStream/CLI/__init__.py,sha256=U6oLq_O7u5y2eHhBnmfhZNns_EqHHJXJmzl8jvZFUNY,230
@@ -41,9 +41,9 @@ KekikStream/Extractors/TurboImgz.py,sha256=VXx9vZZRTdQiVNER0LcXm2nsv2OaXnxuPpslG
41
41
  KekikStream/Extractors/VidMoly.py,sha256=jYvFSzE46mStArVEQedkvqUUIPwi1LS47qRk0YntAQU,3529
42
42
  KekikStream/Extractors/VidMolyMe.py,sha256=ogLiFUJVqFbhtzQrZ1gSB9me85DiHvntjWtSvidYVS8,218
43
43
  KekikStream/Extractors/VidMoxy.py,sha256=_K6BA7Uo59DA3ty_tsayCUZjXmRoDBTghekVNXiuZ7g,1800
44
- KekikStream/Extractors/VideoSeyred.py,sha256=otyGi1zdY_JPrXJjoZjesCQDiOkxFdaWiXQ9mOmrygA,1780
44
+ KekikStream/Extractors/VideoSeyred.py,sha256=2X3GCZggIh52L0Pk-diIX2DwxdTm00rNOg0V3lpopgI,1999
45
45
  KekikStream/Plugins/DiziBox.py,sha256=hDkIbZ2aoG0WoQyYc_168WpB3CaTYs7ArGBfgvUY7s4,6095
46
- KekikStream/Plugins/DiziYou.py,sha256=tqTZUGJhXg5FBmCBmjw4JqyyQ5irXs3WnfKFDTkiHoY,5457
46
+ KekikStream/Plugins/DiziYou.py,sha256=2WaQZKa8NlBiuGWu3jUTPslXD2l5ALCAY5qnXwozpes,5669
47
47
  KekikStream/Plugins/Dizilla.py,sha256=evWYvETw1c4RY0GB5P20cB_I_U7ZxzzvnG7RLNGJRPs,4258
48
48
  KekikStream/Plugins/FilmMakinesi.py,sha256=rz8TQeL41PJbeEmksgPHIhp6J-4vbSCBTeEH0ukExz4,2822
49
49
  KekikStream/Plugins/FullHDFilmizlesene.py,sha256=Fa0gRP_NoMfPC8HIKRxERjQVOv8Fyb-ayMJ2EooZ7BE,3080
@@ -53,9 +53,9 @@ KekikStream/Plugins/SezonlukDizi.py,sha256=VUyKAu2SlUCV4uTQfIr2BLLTus2-LOXPFF4rD
53
53
  KekikStream/Plugins/Shorten.py,sha256=kDQGmj7qvfdDyDkU__QGjx-FoGSgCOPxcA3veM2BGPk,8858
54
54
  KekikStream/Plugins/SineWix.py,sha256=EqezB8Fism2dugptFgCEpeauqsbvSEDRNozHxDIZNrQ,4997
55
55
  KekikStream/Plugins/UgurFilm.py,sha256=rp6M7yjVljVWbGEAC9BB96W1wBsM-PdFbh5tcZ2ZhzI,2930
56
- KekikStream-1.0.8.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
57
- KekikStream-1.0.8.dist-info/METADATA,sha256=vJxNy46bB--29WtSkN4Hijr4NzOXRAxjjJymGcgdM0U,4508
58
- KekikStream-1.0.8.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
59
- KekikStream-1.0.8.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
60
- KekikStream-1.0.8.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
61
- KekikStream-1.0.8.dist-info/RECORD,,
56
+ KekikStream-1.1.0.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
57
+ KekikStream-1.1.0.dist-info/METADATA,sha256=Vq9pFkVQB9zzJSuWlcMbvRxg1VAI439gbtT55MESkFI,4508
58
+ KekikStream-1.1.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
59
+ KekikStream-1.1.0.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
60
+ KekikStream-1.1.0.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
61
+ KekikStream-1.1.0.dist-info/RECORD,,