KekikStream 1.2.1__tar.gz → 1.2.3__tar.gz

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.
Files changed (68) hide show
  1. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Plugins/DiziBox.py +51 -1
  2. kekikstream-1.2.1/KekikStream/Plugins/HdFilmCehennemi.py → kekikstream-1.2.3/KekikStream/Plugins/HDFilmCehennemi.py +52 -49
  3. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream.egg-info/PKG-INFO +1 -1
  4. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream.egg-info/SOURCES.txt +1 -1
  5. {kekikstream-1.2.1 → kekikstream-1.2.3}/PKG-INFO +1 -1
  6. {kekikstream-1.2.1 → kekikstream-1.2.3}/setup.py +1 -1
  7. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/CLI/__init__.py +0 -0
  8. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/CLI/pypi_kontrol.py +0 -0
  9. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Core/Extractor/ExtractorBase.py +0 -0
  10. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Core/Extractor/ExtractorLoader.py +0 -0
  11. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Core/Extractor/ExtractorManager.py +0 -0
  12. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Core/Extractor/ExtractorModels.py +0 -0
  13. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Core/Media/MediaHandler.py +0 -0
  14. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Core/Media/MediaManager.py +0 -0
  15. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Core/Plugin/PluginBase.py +0 -0
  16. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Core/Plugin/PluginLoader.py +0 -0
  17. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Core/Plugin/PluginManager.py +0 -0
  18. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Core/Plugin/PluginModels.py +0 -0
  19. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Core/UI/UIManager.py +0 -0
  20. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Core/__init__.py +0 -0
  21. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/CloseLoad.py +0 -0
  22. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/ContentX.py +0 -0
  23. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/FourCX.py +0 -0
  24. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/FourPichive.py +0 -0
  25. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/FourPlayRu.py +0 -0
  26. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/HDStreamAble.py +0 -0
  27. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/Hotlinger.py +0 -0
  28. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/MailRu.py +0 -0
  29. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/MixPlayHD.py +0 -0
  30. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/MolyStream.py +0 -0
  31. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/Odnoklassniki.py +0 -0
  32. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/OkRuHTTP.py +0 -0
  33. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/OkRuSSL.py +0 -0
  34. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/PeaceMakerst.py +0 -0
  35. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/Pichive.py +0 -0
  36. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/PixelDrain.py +0 -0
  37. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/PlayRu.py +0 -0
  38. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/RapidVid.py +0 -0
  39. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/SibNet.py +0 -0
  40. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/Sobreatsesuyp.py +0 -0
  41. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/TRsTX.py +0 -0
  42. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/TauVideo.py +0 -0
  43. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/TurboImgz.py +0 -0
  44. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/VidMoly.py +0 -0
  45. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/VidMolyMe.py +0 -0
  46. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/VidMoxy.py +0 -0
  47. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Extractors/VideoSeyred.py +0 -0
  48. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Plugins/DiziYou.py +0 -0
  49. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Plugins/Dizilla.py +0 -0
  50. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Plugins/FilmMakinesi.py +0 -0
  51. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Plugins/FullHDFilmizlesene.py +0 -0
  52. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Plugins/JetFilmizle.py +0 -0
  53. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Plugins/RecTV.py +0 -0
  54. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Plugins/SezonlukDizi.py +0 -0
  55. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Plugins/Shorten.py +0 -0
  56. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Plugins/SineWix.py +0 -0
  57. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/Plugins/UgurFilm.py +0 -0
  58. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/__init__.py +0 -0
  59. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/__main__.py +0 -0
  60. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream/requirements.txt +0 -0
  61. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream.egg-info/dependency_links.txt +0 -0
  62. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream.egg-info/entry_points.txt +0 -0
  63. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream.egg-info/requires.txt +0 -0
  64. {kekikstream-1.2.1 → kekikstream-1.2.3}/KekikStream.egg-info/top_level.txt +0 -0
  65. {kekikstream-1.2.1 → kekikstream-1.2.3}/LICENSE +0 -0
  66. {kekikstream-1.2.1 → kekikstream-1.2.3}/MANIFEST.in +0 -0
  67. {kekikstream-1.2.1 → kekikstream-1.2.3}/README.md +0 -0
  68. {kekikstream-1.2.1 → kekikstream-1.2.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
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 Kekik.Sifreleme import CryptoJS
5
5
  from parsel import Selector
6
6
  import re, urllib.parse, base64, contextlib, asyncio
@@ -9,6 +9,56 @@ class DiziBox(PluginBase):
9
9
  name = "DiziBox"
10
10
  main_url = "https://www.dizibox.live"
11
11
 
12
+ main_page = {
13
+ f"{main_url}/dizi-arsivi/page/SAYFA/?ulke[]=turkiye&yil=&imdb" : "Yerli",
14
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=aile&yil&imdb" : "Aile",
15
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=aksiyon&yil&imdb" : "Aksiyon",
16
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=animasyon&yil&imdb" : "Animasyon",
17
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=belgesel&yil&imdb" : "Belgesel",
18
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=bilimkurgu&yil&imdb" : "Bilimkurgu",
19
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=biyografi&yil&imdb" : "Biyografi",
20
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=dram&yil&imdb" : "Dram",
21
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=drama&yil&imdb" : "Drama",
22
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=fantastik&yil&imdb" : "Fantastik",
23
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=gerilim&yil&imdb" : "Gerilim",
24
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=gizem&yil&imdb" : "Gizem",
25
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=komedi&yil&imdb" : "Komedi",
26
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=korku&yil&imdb" : "Korku",
27
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=macera&yil&imdb" : "Macera",
28
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=muzik&yil&imdb" : "Müzik",
29
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=muzikal&yil&imdb" : "Müzikal",
30
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=reality-tv&yil&imdb" : "Reality TV",
31
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=romantik&yil&imdb" : "Romantik",
32
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=savas&yil&imdb" : "Savaş",
33
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=spor&yil&imdb" : "Spor",
34
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=suc&yil&imdb" : "Suç",
35
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=tarih&yil&imdb" : "Tarih",
36
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=western&yil&imdb" : "Western",
37
+ f"{main_url}/dizi-arsivi/page/SAYFA/?tur[0]=yarisma&yil&imdb" : "Yarışma"
38
+ }
39
+
40
+ async def get_main_page(self, page: int, url: str, category: str) -> list[MainPageResult]:
41
+ istek = await self.oturum.get(
42
+ url = f"{url.replace('SAYFA', str(page))}",
43
+ cookies = {
44
+ "LockUser" : "true",
45
+ "isTrustedUser" : "true",
46
+ "dbxu" : "1722403730363"
47
+ },
48
+ follow_redirects = True
49
+ )
50
+ secici = Selector(istek.text)
51
+
52
+ return [
53
+ MainPageResult(
54
+ category = category,
55
+ title = veri.css("h3 a::text").get(),
56
+ url = self.fix_url(veri.css("h3 a::attr(href)").get()),
57
+ poster = self.fix_url(veri.css("img::attr(src)").get()),
58
+ )
59
+ for veri in secici.css("article.detailed-article")
60
+ ]
61
+
12
62
  async def search(self, query: str) -> list[SearchResult]:
13
63
  self.oturum.cookies.update({
14
64
  "LockUser" : "true",
@@ -1,22 +1,22 @@
1
1
  # Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
2
2
 
3
3
  from KekikStream.Core import PluginBase, SearchResult, MovieInfo, ExtractResult, Subtitle
4
- from Kekik.Sifreleme import Packer, HexCodec
5
4
  from parsel import Selector
6
- import re, base64, random, string
5
+ import random, string
7
6
 
8
- class HdFilmCehennemi(PluginBase):
9
- name = "HdFilmCehennemi"
7
+ class HDFilmCehennemi(PluginBase):
8
+ name = "HDFilmCehennemi"
10
9
  main_url = "https://www.hdfilmcehennemi.nl"
11
-
12
10
 
13
11
  async def search(self, query: str) -> list[SearchResult]:
14
12
  istek = await self.oturum.get(
15
13
  url = f"{self.main_url}/search?q={query}",
16
- headers = {"Referer": f"{self.main_url}/", "X-Requested-With": "fetch", "authority": f"{self.main_url}"}
14
+ headers = {
15
+ "Referer" : f"{self.main_url}/",
16
+ "X-Requested-With" : "fetch",
17
+ "authority" : f"{self.main_url}"
18
+ }
17
19
  )
18
-
19
- secici = Selector(istek.text)
20
20
 
21
21
  results = []
22
22
  for veri in istek.json().get("results"):
@@ -48,13 +48,13 @@ class HdFilmCehennemi(PluginBase):
48
48
  year = secici.css("div.post-info-year-country a::text").get().strip()
49
49
  actors = secici.css("div.post-info-cast a > strong::text").getall()
50
50
  duration = secici.css("div.post-info-duration::text").get().replace("dakika", "").strip()
51
+
51
52
 
52
- duration_minutes = 0
53
53
  try:
54
- duration_minutes = int(duration[2:-1])
55
- except Exception as ex:
56
- pass
57
-
54
+ duration_minutes = int(duration[2:-1])
55
+ except Exception:
56
+ duration_minutes = 0
57
+
58
58
  return MovieInfo(
59
59
  url = url,
60
60
  poster = self.fix_url(poster),
@@ -68,7 +68,7 @@ class HdFilmCehennemi(PluginBase):
68
68
  )
69
69
 
70
70
  def generate_random_cookie(self):
71
- return ''.join(random.choices(string.ascii_letters + string.digits, k=16))
71
+ return "".join(random.choices(string.ascii_letters + string.digits, k=16))
72
72
 
73
73
  async def load_links(self, url: str) -> list[str]:
74
74
  self._data.clear()
@@ -77,78 +77,81 @@ class HdFilmCehennemi(PluginBase):
77
77
  secici = Selector(istek.text)
78
78
 
79
79
  lang_code = secici.css("div.alternative-links::attr(data-lang)").get().upper()
80
- buttons = secici.css("div.alternative-links > button")
81
-
80
+ buttons = secici.css("div.alternative-links > button")
81
+
82
82
  link_list = []
83
-
83
+
84
84
  for button in buttons:
85
- source = button.css("button.alternative-link::text").get().replace("(HDrip Xbet)", "").strip() + " " + lang_code
85
+ source = button.css("button.alternative-link::text").get().replace("(HDrip Xbet)", "").strip() + " " + lang_code
86
86
  video_id = button.css("button.alternative-link::attr(data-video)").get()
87
-
87
+
88
88
  istek = await self.oturum.get(
89
89
  url = f"{self.main_url}/video/{video_id}/",
90
- headers = {"Referer": f"{self.main_url}/",
91
- "X-Requested-With": "fetch",
92
- "authority": f"{self.main_url}"}
90
+ headers = {
91
+ "Referer" : f"{self.main_url}/",
92
+ "X-Requested-With" : "fetch",
93
+ "authority" : f"{self.main_url}"
94
+ }
93
95
  )
94
96
 
95
- data = istek.json().get("data")
96
- secici = Selector(data["html"])
97
+ data = istek.json().get("data")
98
+ secici = Selector(data["html"])
97
99
  iframe_url = secici.css("iframe::attr(src)").get() or secici.css("iframe::attr(data-src)").get()
98
-
100
+
99
101
  if "?rapidrame_id=" in iframe_url:
100
102
  # https://hdfilmcehennemi.mobi/video/embed/uQcCR9nhaNz/?rapidrame_id=j4b4kvc0s24l\
101
- video_id = iframe_url.split('=')[1]
103
+ video_id = iframe_url.split("=")[1]
102
104
  else:
103
105
  # https://www.hdfilmcehennemi.nl/rplayer/j4b4kvc0s24l/
104
- video_id = iframe_url.split('/')[-1]
105
-
106
- print(video_id)
106
+ video_id = iframe_url.split("/")[-1]
107
+
108
+ # print(video_id)
107
109
  if(video_id):
108
110
  break
109
111
 
110
112
  # selected_quality: low
111
- random_cookie = self.generate_random_cookie()
112
113
  istek = await self.oturum.post(
113
- url = f"https://cehennempass.pw/process_quality_selection.php",
114
- headers = {"Referer": f"https://cehennempass.pw/download/{video_id}",
115
- "X-Requested-With": "fetch",
116
- "authority": "cehennempass.pw",
117
- 'Cookie': f'PHPSESSID={random_cookie}'},
118
- data = {"video_id": video_id, "selected_quality": "low"},
119
- )
114
+ url = "https://cehennempass.pw/process_quality_selection.php",
115
+ headers = {
116
+ "Referer" : f"https://cehennempass.pw/download/{video_id}",
117
+ "X-Requested-With" : "fetch",
118
+ "authority" : "cehennempass.pw",
119
+ "Cookie" : f"PHPSESSID={self.generate_random_cookie()}"
120
+ },
121
+ data = {"video_id": video_id, "selected_quality": "low"},
122
+ )
120
123
 
121
124
  video_url = istek.json().get("download_link")
122
125
  # print(video_url)
123
126
 
124
127
  self._data[self.fix_url(video_url)] = {
125
- "ext_name" : self.name,
128
+ "ext_name" : f"{self.name} | Düşük Kalite",
126
129
  "name" : "Düşük Kalite",
127
130
  "referer" : f"https://cehennempass.pw/download/{video_id}",
128
131
  "subtitles" : []
129
132
  }
130
133
 
131
134
  # selected_quality: high
132
- random_cookie = self.generate_random_cookie()
133
135
  istek = await self.oturum.post(
134
- url = f"https://cehennempass.pw/process_quality_selection.php",
135
- headers = {"Referer": f"https://cehennempass.pw/download/{video_id}",
136
- "X-Requested-With": "fetch",
137
- "authority": "cehennempass.pw",
138
- 'Cookie': f'PHPSESSID={random_cookie}'},
139
- data = {"video_id": video_id, "selected_quality": "high"},
140
- )
136
+ url = "https://cehennempass.pw/process_quality_selection.php",
137
+ headers = {
138
+ "Referer" : f"https://cehennempass.pw/download/{video_id}",
139
+ "X-Requested-With" : "fetch",
140
+ "authority" : "cehennempass.pw",
141
+ "Cookie" : f"PHPSESSID={self.generate_random_cookie()}"
142
+ },
143
+ data = {"video_id": video_id, "selected_quality": "high"},
144
+ )
141
145
 
142
146
  video_url = istek.json().get("download_link")
143
- # print(video_url)
144
147
 
145
148
  self._data[self.fix_url(video_url)] = {
146
- "ext_name" : self.name,
149
+ "ext_name" : f"{self.name} | Yüksek Kalite",
147
150
  "name" : "Yüksek Kalite",
148
151
  "referer" : f"https://cehennempass.pw/download/{video_id}",
149
152
  "subtitles" : []
150
153
  }
151
-
154
+
152
155
  return list(self._data.keys())
153
156
 
154
157
  async def play(self, name: str, url: str, referer: str, subtitles: list[Subtitle]):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: KekikStream
3
- Version: 1.2.1
3
+ Version: 1.2.3
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
@@ -57,7 +57,7 @@ KekikStream/Plugins/DiziYou.py
57
57
  KekikStream/Plugins/Dizilla.py
58
58
  KekikStream/Plugins/FilmMakinesi.py
59
59
  KekikStream/Plugins/FullHDFilmizlesene.py
60
- KekikStream/Plugins/HdFilmCehennemi.py
60
+ KekikStream/Plugins/HDFilmCehennemi.py
61
61
  KekikStream/Plugins/JetFilmizle.py
62
62
  KekikStream/Plugins/RecTV.py
63
63
  KekikStream/Plugins/SezonlukDizi.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: KekikStream
3
- Version: 1.2.1
3
+ Version: 1.2.3
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
@@ -6,7 +6,7 @@ from io import open
6
6
  setup(
7
7
  # ? Genel Bilgiler
8
8
  name = "KekikStream",
9
- version = "1.2.1",
9
+ version = "1.2.3",
10
10
  url = "https://github.com/keyiflerolsun/KekikStream",
11
11
  description = "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ı",
12
12
  keywords = ["KekikStream", "KekikAkademi", "keyiflerolsun"],
File without changes
File without changes
File without changes
File without changes