KekikStream 1.2.5__py3-none-any.whl → 1.2.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,11 +12,18 @@ class PluginBase(ABC):
12
12
  name = "Plugin"
13
13
  language = "tr"
14
14
  main_url = "https://example.com"
15
- description = "No description provided."
16
15
  favicon = f"https://www.google.com/s2/favicons?domain={main_url}&sz=64"
16
+ description = "No description provided."
17
+
17
18
  main_page = {}
19
+
18
20
  _data = {}
19
21
 
22
+ async def url_update(self, new_url: str):
23
+ self.favicon = self.favicon.replace(self.main_url, new_url)
24
+ self.main_page = {url.replace(self.main_url, new_url): category for url, category in self.main_page.items()}
25
+ self.main_url = new_url
26
+
20
27
  def __init__(self):
21
28
  self.httpx = AsyncClient(
22
29
  headers = {
@@ -12,7 +12,7 @@ class DiziBox(PluginBase):
12
12
  favicon = f"https://www.google.com/s2/favicons?domain={main_url}&sz=64"
13
13
  description = "Yabancı Dizi izle, Tüm yabancı dizilerin yeni ve eski sezonlarını full hd izleyebileceğiniz elit site."
14
14
 
15
- main_page = {
15
+ main_page = {
16
16
  f"{main_url}/dizi-arsivi/page/SAYFA/?ulke[]=turkiye&yil=&imdb" : "Yerli",
17
17
  f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=aile&yil&imdb" : "Aile",
18
18
  f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=aksiyon&yil&imdb" : "Aksiyon",
@@ -1,13 +1,68 @@
1
1
  # Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
2
2
 
3
- from KekikStream.Core import PluginBase, SearchResult, SeriesInfo, Episode
3
+ from KekikStream.Core import PluginBase, MainPageResult, SearchResult, SeriesInfo, Episode
4
4
  from parsel import Selector
5
5
  from json import loads
6
6
  from urllib.parse import urlparse, urlunparse
7
7
 
8
8
  class Dizilla(PluginBase):
9
- name = "Dizilla"
10
- main_url = "https://dizilla.club"
9
+ name = "Dizilla"
10
+ language = "tr"
11
+ main_url = "https://dizilla.club"
12
+ favicon = f"https://www.google.com/s2/favicons?domain={main_url}&sz=64"
13
+ description = "Dizilla tüm yabancı dizileri ücretsiz olarak Türkçe Dublaj ve altyazılı seçenekleri ile 1080P kalite izleyebileceğiniz yeni nesil yabancı dizi izleme siteniz."
14
+
15
+ main_page = {
16
+ f"{main_url}/tum-bolumler" : "Altyazılı Bölümler",
17
+ f"{main_url}/dublaj-bolumler" : "Dublaj Bölümler",
18
+ f"{main_url}/dizi-turu/aile" : "Aile",
19
+ f"{main_url}/dizi-turu/aksiyon" : "Aksiyon",
20
+ f"{main_url}/dizi-turu/bilim-kurgu" : "Bilim Kurgu",
21
+ f"{main_url}/dizi-turu/romantik" : "Romantik",
22
+ f"{main_url}/dizi-turu/komedi" : "Komedi"
23
+ }
24
+
25
+ async def get_main_page(self, page: int, url: str, category: str) -> list[MainPageResult]:
26
+ istek = await self.httpx.get(url)
27
+ secici = Selector(istek.text)
28
+
29
+ ana_sayfa = []
30
+
31
+ if "dizi-turu" in url:
32
+ ana_sayfa.extend([
33
+ MainPageResult(
34
+ category = category,
35
+ title = veri.css("h2::text").get(),
36
+ url = self.fix_url(veri.css("::attr(href)").get()),
37
+ poster = self.fix_url(veri.css("img::attr(src)").get() or veri.css("img::attr(data-src)").get())
38
+ )
39
+ for veri in secici.css("div.grid-cols-3 a")
40
+ ])
41
+ else:
42
+ for veri in secici.css("div.grid a"):
43
+ name = veri.css("h2::text").get()
44
+ ep_name = veri.css("div.opacity-80::text").get()
45
+ if not ep_name:
46
+ continue
47
+
48
+ ep_name = ep_name.replace(". Sezon", "x").replace(". Bölüm", "").replace("x ", "x")
49
+ title = f"{name} - {ep_name}"
50
+
51
+ ep_req = await self.httpx.get(veri.css("::attr(href)").get())
52
+ ep_secici = Selector(ep_req.text)
53
+ href = self.fix_url(ep_secici.css("a.relative::attr(href)").get())
54
+ poster = self.fix_url(ep_secici.css("img.imgt::attr(onerror)").get().split("= '")[-1].split("';")[0])
55
+
56
+ ana_sayfa.append(
57
+ MainPageResult(
58
+ category = category,
59
+ title = title,
60
+ url = href,
61
+ poster = poster
62
+ )
63
+ )
64
+
65
+ return ana_sayfa
11
66
 
12
67
  async def search(self, query: str) -> list[SearchResult]:
13
68
  ilk_istek = await self.httpx.get(self.main_url)
@@ -9,7 +9,7 @@ class SineWix(PluginBase):
9
9
  favicon = f"https://www.google.com/s2/favicons?domain={main_url}&sz=64"
10
10
  description = "Sinewix | Ücretsiz Film - Dizi - Anime İzleme Uygulaması"
11
11
 
12
- main_page = {
12
+ main_page = {
13
13
  f"{main_url}/sinewix/movies" : "Filmler",
14
14
  f"{main_url}/sinewix/series" : "Diziler",
15
15
  f"{main_url}/sinewix/animes" : "Animeler",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: KekikStream
3
- Version: 1.2.5
3
+ Version: 1.2.7
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
@@ -10,7 +10,7 @@ KekikStream/Core/Extractor/ExtractorManager.py,sha256=4L1H3jiTnf0kTq4W6uS7n95bBY
10
10
  KekikStream/Core/Extractor/ExtractorModels.py,sha256=huIcPQ5VIRfMx0LcL5SS1u4dldZbHjzHKEdSEtOPlc0,456
11
11
  KekikStream/Core/Media/MediaHandler.py,sha256=AJNPTXgxWykfDMyZIyGSjWl3Vp0salT8lKDrfAwaga4,6936
12
12
  KekikStream/Core/Media/MediaManager.py,sha256=9ItiUguOkk3wg3YY5uf3mrjfwLPCvggnP8QviX0uiuE,526
13
- KekikStream/Core/Plugin/PluginBase.py,sha256=RtIskTR2N05cBE5ivLb8jUX5XftNLTMEnc_KXWNEKco,2910
13
+ KekikStream/Core/Plugin/PluginBase.py,sha256=gXD6a0__rAVBv1hbV7qtt4Ot5Wdx15JhF02TMd2QJd0,3179
14
14
  KekikStream/Core/Plugin/PluginLoader.py,sha256=2UM3gNcEgd7k-FxG-JB5nTIS0K_clzvFtzGjMA_Sx7Q,3379
15
15
  KekikStream/Core/Plugin/PluginManager.py,sha256=CZVg1eegi8vfMfccx0DRV0Box8kXz-aoULTQLgbPbvM,893
16
16
  KekikStream/Core/Plugin/PluginModels.py,sha256=ZZJUXbC0G2k0DU7Wpbf0rwjn7spywpiaLIHE7kLajhk,2533
@@ -42,9 +42,9 @@ KekikStream/Extractors/VidMoly.py,sha256=O6F_82E-LeFVOgSw-ot91B1ZP8pqqt1jZ5pmkwk
42
42
  KekikStream/Extractors/VidMolyMe.py,sha256=ogLiFUJVqFbhtzQrZ1gSB9me85DiHvntjWtSvidYVS8,218
43
43
  KekikStream/Extractors/VidMoxy.py,sha256=T1iqfyOasRxoepmuWAmXeVW6E7M1O18KG3264KUSzc0,1798
44
44
  KekikStream/Extractors/VideoSeyred.py,sha256=M6QPZ_isX9vM_7LPo-2I_8Cf1vB9awHw8vvzBODtoiQ,1977
45
- KekikStream/Plugins/DiziBox.py,sha256=YkBlrKRI3PhLCqzMe-pyJxUEdnzNga8YqZ8Eef7v7XA,9335
45
+ KekikStream/Plugins/DiziBox.py,sha256=9sz8j49y7PugiTVXkBqoBTJJpfRePxL_7UVGMIVDu14,9337
46
46
  KekikStream/Plugins/DiziYou.py,sha256=1e-NTWgg-yP2lDFzYLevKNMX8Da5pScKyIWRiO2fMb0,5666
47
- KekikStream/Plugins/Dizilla.py,sha256=xDd3xxXFeY-k1L0sYSZIJB6RSrMEckuu8wIfbNdYLJA,4250
47
+ KekikStream/Plugins/Dizilla.py,sha256=s-qhYUzpRazDC-ENUs_acsGhq292LOShZgS24I35cWY,6746
48
48
  KekikStream/Plugins/FilmMakinesi.py,sha256=nDmUk-yVlP_F8r7rYtOGq5zMJrdZCCC_KO5K-edJsKA,2819
49
49
  KekikStream/Plugins/FullHDFilmizlesene.py,sha256=cOl7HVl4pNgHX8IS7ZkAJE6KFiYOQw4MppaAwBTwQlo,3077
50
50
  KekikStream/Plugins/HDFilmCehennemi.py,sha256=xpMwoCqG-HwtAdP3j4DsudqjUuEuAbxZp8fwXWZNn5o,6670
@@ -52,11 +52,11 @@ KekikStream/Plugins/JetFilmizle.py,sha256=vXt0AIs1XMqxIlD_BnoTxQse2fzVROpdplQCtb
52
52
  KekikStream/Plugins/RecTV.py,sha256=TYpV6T7U8TkkHYB3XK0xqar0pKlULXdztvK4TDc9734,5106
53
53
  KekikStream/Plugins/SezonlukDizi.py,sha256=hKzO0Y0ypHEutmUM9c91x8e8vzRQ_zxpnwY0rhswxxI,4437
54
54
  KekikStream/Plugins/Shorten.py,sha256=arakUY8ampyA408MYzikPp0VSYUvI8scPEkuZefEnyE,8852
55
- KekikStream/Plugins/SineWix.py,sha256=0zBKxcAJA4XELVwcIz2YFyDWO5i62Q4ZuuwI754r_9c,7023
55
+ KekikStream/Plugins/SineWix.py,sha256=yJzIhmWIgX0Bb7F5Q64MFKulLxq7HRy2Ytq2DwJYOYU,7025
56
56
  KekikStream/Plugins/UgurFilm.py,sha256=C9ZIUNBJJfBwgeS5-b7o-Dn07M8aXiNrNzutH6biTXw,2925
57
- kekikstream-1.2.5.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
58
- kekikstream-1.2.5.dist-info/METADATA,sha256=neoAIwAKReCXuvjwJVGRfM4wCqk8jodEPZEnxcd4pp4,4508
59
- kekikstream-1.2.5.dist-info/WHEEL,sha256=nn6H5-ilmfVryoAQl3ZQ2l8SH5imPWFpm1A5FgEuFV4,91
60
- kekikstream-1.2.5.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
61
- kekikstream-1.2.5.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
62
- kekikstream-1.2.5.dist-info/RECORD,,
57
+ kekikstream-1.2.7.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
58
+ kekikstream-1.2.7.dist-info/METADATA,sha256=kibK5hNrYl4c_7P1mZwpRrffgFtgXmXvPGujf6X6LQM,4508
59
+ kekikstream-1.2.7.dist-info/WHEEL,sha256=nn6H5-ilmfVryoAQl3ZQ2l8SH5imPWFpm1A5FgEuFV4,91
60
+ kekikstream-1.2.7.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
61
+ kekikstream-1.2.7.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
62
+ kekikstream-1.2.7.dist-info/RECORD,,