KekikStream 2.1.2__tar.gz → 2.1.4__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 (86) hide show
  1. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/FilmMakinesi.py +9 -5
  2. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/HDFilmCehennemi.py +4 -14
  3. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream.egg-info/PKG-INFO +1 -1
  4. {kekikstream-2.1.2 → kekikstream-2.1.4}/PKG-INFO +1 -1
  5. {kekikstream-2.1.2 → kekikstream-2.1.4}/setup.py +1 -1
  6. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/CLI/__init__.py +0 -0
  7. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/CLI/pypi_kontrol.py +0 -0
  8. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Core/Extractor/ExtractorBase.py +0 -0
  9. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Core/Extractor/ExtractorLoader.py +0 -0
  10. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Core/Extractor/ExtractorManager.py +0 -0
  11. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Core/Extractor/ExtractorModels.py +0 -0
  12. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Core/Extractor/YTDLPCache.py +0 -0
  13. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Core/Media/MediaHandler.py +0 -0
  14. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Core/Media/MediaManager.py +0 -0
  15. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Core/Plugin/PluginBase.py +0 -0
  16. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Core/Plugin/PluginLoader.py +0 -0
  17. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Core/Plugin/PluginManager.py +0 -0
  18. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Core/Plugin/PluginModels.py +0 -0
  19. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Core/UI/UIManager.py +0 -0
  20. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Core/__init__.py +0 -0
  21. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/CloseLoad.py +0 -0
  22. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/ContentX.py +0 -0
  23. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/DonilasPlay.py +0 -0
  24. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/DzenRu.py +0 -0
  25. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/ExPlay.py +0 -0
  26. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/HDPlayerSystem.py +0 -0
  27. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/JetTv.py +0 -0
  28. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/MailRu.py +0 -0
  29. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/MixPlayHD.py +0 -0
  30. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/MixTiger.py +0 -0
  31. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/MolyStream.py +0 -0
  32. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/Odnoklassniki.py +0 -0
  33. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/PeaceMakerst.py +0 -0
  34. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/PixelDrain.py +0 -0
  35. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/PlayerFilmIzle.py +0 -0
  36. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/RapidVid.py +0 -0
  37. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/SetPlay.py +0 -0
  38. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/SetPrime.py +0 -0
  39. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/SibNet.py +0 -0
  40. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/Sobreatsesuyp.py +0 -0
  41. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/TRsTX.py +0 -0
  42. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/TauVideo.py +0 -0
  43. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/TurboImgz.py +0 -0
  44. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/TurkeyPlayer.py +0 -0
  45. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/VCTPlay.py +0 -0
  46. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/VidHide.py +0 -0
  47. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/VidMoly.py +0 -0
  48. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/VidMoxy.py +0 -0
  49. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/VidPapi.py +0 -0
  50. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/VideoSeyred.py +0 -0
  51. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/YTDLP.py +0 -0
  52. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Extractors/YildizKisaFilm.py +0 -0
  53. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/BelgeselX.py +0 -0
  54. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/DiziBox.py +0 -0
  55. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/DiziPal.py +0 -0
  56. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/DiziYou.py +0 -0
  57. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/Dizilla.py +0 -0
  58. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/FilmBip.py +0 -0
  59. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/FilmModu.py +0 -0
  60. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/FullHDFilm.py +0 -0
  61. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/FullHDFilmizlesene.py +0 -0
  62. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/JetFilmizle.py +0 -0
  63. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/KultFilmler.py +0 -0
  64. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/RecTV.py +0 -0
  65. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/RoketDizi.py +0 -0
  66. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/SelcukFlix.py +0 -0
  67. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/SetFilmIzle.py +0 -0
  68. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/SezonlukDizi.py +0 -0
  69. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/SineWix.py +0 -0
  70. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/Sinefy.py +0 -0
  71. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/SinemaCX.py +0 -0
  72. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/Sinezy.py +0 -0
  73. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/SuperFilmGeldi.py +0 -0
  74. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/Plugins/UgurFilm.py +0 -0
  75. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/__init__.py +0 -0
  76. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/__main__.py +0 -0
  77. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream/requirements.txt +0 -0
  78. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream.egg-info/SOURCES.txt +0 -0
  79. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream.egg-info/dependency_links.txt +0 -0
  80. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream.egg-info/entry_points.txt +0 -0
  81. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream.egg-info/requires.txt +0 -0
  82. {kekikstream-2.1.2 → kekikstream-2.1.4}/KekikStream.egg-info/top_level.txt +0 -0
  83. {kekikstream-2.1.2 → kekikstream-2.1.4}/LICENSE +0 -0
  84. {kekikstream-2.1.2 → kekikstream-2.1.4}/MANIFEST.in +0 -0
  85. {kekikstream-2.1.2 → kekikstream-2.1.4}/README.md +0 -0
  86. {kekikstream-2.1.2 → kekikstream-2.1.4}/setup.cfg +0 -0
@@ -75,18 +75,22 @@ class FilmMakinesi(PluginBase):
75
75
  istek = await self.httpx.get(url)
76
76
  secici = Selector(istek.text)
77
77
 
78
- title = secici.css("h1.title::text").get().strip()
79
- poster = secici.css("img.cover-img::attr(src)").get().strip()
80
- description = secici.css("div.info-description p::text").get().strip()
78
+ title = secici.css("h1.title::text").get()
79
+ title = title.strip() if title else ""
80
+ poster = secici.css("img.cover-img::attr(src)").get()
81
+ poster = poster.strip() if poster else ""
82
+ description = secici.css("div.info-description p::text").get()
83
+ description = description.strip() if description else ""
81
84
  rating = secici.css("div.score::text").get()
82
85
  if rating:
83
86
  rating = rating.strip().split()[0]
84
- year = secici.css("span.date a::text").get().strip()
87
+ year = secici.css("span.date a::text").get()
88
+ year = year.strip() if year else ""
85
89
  actors = secici.css("div.cast-name::text").getall()
86
90
  tags = secici.css("div.genre a::text").getall()
87
91
  duration = secici.css("div.time::text").get()
88
92
  if duration:
89
- duration = duration.split()[1].strip()
93
+ duration = duration.split()[1].strip() if len(duration.split()) > 1 else ""
90
94
 
91
95
  return MovieInfo(
92
96
  url = url,
@@ -144,16 +144,6 @@ class HDFilmCehennemi(PluginBase):
144
144
 
145
145
  return results
146
146
 
147
- def hdch_decode(self, value_parts: list[str]) -> str:
148
- """
149
- HDFilmCehennemi için özel decoder.
150
- StreamDecoder._brute_force ile 24 farklı permütasyonu dener.
151
- """
152
- try:
153
- return StreamDecoder._brute_force(value_parts) or ""
154
- except Exception:
155
- return ""
156
-
157
147
  def extract_hdch_url(self, unpacked: str) -> str:
158
148
  """HDFilmCehennemi unpacked script'ten video URL'sini çıkar"""
159
149
  # 1) Decode fonksiyonunun adını bul: function <NAME>(value_parts)
@@ -168,16 +158,16 @@ class HDFilmCehennemi(PluginBase):
168
158
  match_call = array_call_regex.search(unpacked)
169
159
  if not match_call:
170
160
  return ""
171
-
161
+
172
162
  array_body = match_call.group(1)
173
-
163
+
174
164
  # 3) Array içindeki string parçalarını topla
175
165
  parts = re.findall(r'["\']([^"\']+)["\']', array_body)
176
166
  if not parts:
177
167
  return ""
178
-
168
+
179
169
  # 4) Özel decoder ile çöz
180
- return self.hdch_decode(parts)
170
+ return StreamDecoder._brute_force(parts)
181
171
 
182
172
  async def invoke_local_source(self, iframe: str, source: str, url: str):
183
173
  self.httpx.headers.update({
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: KekikStream
3
- Version: 2.1.2
3
+ Version: 2.1.4
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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: KekikStream
3
- Version: 2.1.2
3
+ Version: 2.1.4
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 = "2.1.2",
9
+ version = "2.1.4",
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