KekikStream 2.1.5__py3-none-any.whl → 2.1.6__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.
@@ -34,6 +34,23 @@ class SetFilmIzle(PluginBase):
34
34
  f"{main_url}/tur/western/" : "Western"
35
35
  }
36
36
 
37
+ def _get_nonce(self, nonce_type: str = "video_nonce", referer: str = None) -> str:
38
+ """Site cache'lenmiş nonce'ları expire olabiliyor, fresh nonce al"""
39
+ try:
40
+ resp = self.cloudscraper.post(
41
+ f"{self.main_url}/wp-admin/admin-ajax.php",
42
+ headers = {
43
+ "Referer" : referer or self.main_url,
44
+ "Origin" : self.main_url,
45
+ "Content-Type" : "application/x-www-form-urlencoded",
46
+ },
47
+ data = "action=st_cache_refresh_nonces"
48
+ )
49
+ nonces = resp.json().get("data", {}).get("nonces", {})
50
+ return nonces.get(nonce_type, "")
51
+ except:
52
+ return ""
53
+
37
54
  async def get_main_page(self, page: int, url: str, category: str) -> list[MainPageResult]:
38
55
  istek = self.cloudscraper.get(url)
39
56
  secici = Selector(istek.text)
@@ -55,23 +72,7 @@ class SetFilmIzle(PluginBase):
55
72
  return results
56
73
 
57
74
  async def search(self, query: str) -> list[SearchResult]:
58
- # Ana sayfadan nonce değerini al
59
- main_resp = self.cloudscraper.get(self.main_url)
60
-
61
- # Birden fazla nonce pattern dene
62
- nonce = ""
63
- nonce_patterns = [
64
- r'nonces:\s*\{\s*search:\s*"([^"]+)"', # STMOVIE_AJAX.nonces.search
65
- r'"search":\s*"([a-zA-Z0-9]+)"', # JSON format
66
- r"nonce:\s*'([^']*)'",
67
- r'"nonce":"([^"]+)"',
68
- r'data-nonce="([^"]+)"',
69
- ]
70
- for pattern in nonce_patterns:
71
- match = re.search(pattern, main_resp.text)
72
- if match:
73
- nonce = match.group(1)
74
- break
75
+ nonce = self._get_nonce("search")
75
76
 
76
77
  search_resp = self.cloudscraper.post(
77
78
  f"{self.main_url}/wp-admin/admin-ajax.php",
@@ -197,7 +198,7 @@ class SetFilmIzle(PluginBase):
197
198
  istek = await self.httpx.get(url)
198
199
  secici = Selector(istek.text)
199
200
 
200
- nonce = secici.css("div#playex::attr(data-nonce)").get() or ""
201
+ nonce = self._get_nonce("video_nonce", referer=url)
201
202
 
202
203
  # partKey to dil label mapping
203
204
  part_key_labels = {
@@ -215,7 +216,6 @@ class SetFilmIzle(PluginBase):
215
216
  if not source_id or "event" in source_id or source_id == "":
216
217
  continue
217
218
 
218
- # Multipart form request
219
219
  try:
220
220
  resp = self.cloudscraper.post(
221
221
  f"{self.main_url}/wp-admin/admin-ajax.php",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: KekikStream
3
- Version: 2.1.5
3
+ Version: 2.1.6
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
@@ -64,7 +64,7 @@ KekikStream/Plugins/KultFilmler.py,sha256=H_U2uil9Z-aw10tZuSUB0dmMtQJrnckodGRhaA
64
64
  KekikStream/Plugins/RecTV.py,sha256=tzIVjBP4YKL4dBvjRNIuECrAfNw6F892Fw0pXvLutoU,7187
65
65
  KekikStream/Plugins/RoketDizi.py,sha256=hiqeFeARK9Gs2Ar933vVtCndrMXCqAkLIallxHsVw18,8544
66
66
  KekikStream/Plugins/SelcukFlix.py,sha256=LgE3mrGnU6HZLm4STVXDkS7jTYyMQmi_bZ1SdduEVAk,13577
67
- KekikStream/Plugins/SetFilmIzle.py,sha256=X31Xk1wTQgRDqFdyD9ZDQwa3LCr1dZ7aGpGfB8TDkDg,9991
67
+ KekikStream/Plugins/SetFilmIzle.py,sha256=3RhQ-CWeQwtM1wjOcy_n0-OhcVq8X1krymnxHVR9zzE,10089
68
68
  KekikStream/Plugins/SezonlukDizi.py,sha256=alCeuvS0X-9-3nejHkaAJPE-9WgCUX7Ly93WaW03BZE,7047
69
69
  KekikStream/Plugins/SineWix.py,sha256=3c1N5-2PshwnNZTE--SEzI77Yh_d30iCUZMYoT0tftA,7007
70
70
  KekikStream/Plugins/Sinefy.py,sha256=riB2lgSSG5MkgxnVtX1OlApBcHG6vVjfiHyJ6h8_6DM,9965
@@ -72,9 +72,9 @@ KekikStream/Plugins/SinemaCX.py,sha256=jrE7gkvJgPKjk8XymztyxYErZtPVF9onW48E22Us9
72
72
  KekikStream/Plugins/Sinezy.py,sha256=_iituEi6A7b-Y-wGcTkFknwFus-oAvZje2XKayzCZHY,6104
73
73
  KekikStream/Plugins/SuperFilmGeldi.py,sha256=O3f8jwnX-ihF49kmZ7g6IKU2HZLmLf_RCucplDSglN4,5347
74
74
  KekikStream/Plugins/UgurFilm.py,sha256=9vulu0uP0dWVVhWzDf-C7RQN_dLKB2AOJ2NoxU-YMlA,4672
75
- kekikstream-2.1.5.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
76
- kekikstream-2.1.5.dist-info/METADATA,sha256=rxrsSX45_EDmRQEeS2svd0xHv_SEw0Kff8wIPom9dYM,10230
77
- kekikstream-2.1.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
78
- kekikstream-2.1.5.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
79
- kekikstream-2.1.5.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
80
- kekikstream-2.1.5.dist-info/RECORD,,
75
+ kekikstream-2.1.6.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
76
+ kekikstream-2.1.6.dist-info/METADATA,sha256=-k1-5LUs-rtLI9ITV6CQ7sCzXkeYDbea_AF90yK1x1s,10230
77
+ kekikstream-2.1.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
78
+ kekikstream-2.1.6.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
79
+ kekikstream-2.1.6.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
80
+ kekikstream-2.1.6.dist-info/RECORD,,