KekikStream 2.5.7__py3-none-any.whl → 2.5.8__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.
- KekikStream/Extractors/HotStream.py +7 -2
- KekikStream/Plugins/RealFilmIzle.py +94 -0
- {kekikstream-2.5.7.dist-info → kekikstream-2.5.8.dist-info}/METADATA +1 -1
- {kekikstream-2.5.7.dist-info → kekikstream-2.5.8.dist-info}/RECORD +8 -7
- {kekikstream-2.5.7.dist-info → kekikstream-2.5.8.dist-info}/WHEEL +0 -0
- {kekikstream-2.5.7.dist-info → kekikstream-2.5.8.dist-info}/entry_points.txt +0 -0
- {kekikstream-2.5.7.dist-info → kekikstream-2.5.8.dist-info}/licenses/LICENSE +0 -0
- {kekikstream-2.5.7.dist-info → kekikstream-2.5.8.dist-info}/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
|
2
2
|
|
|
3
3
|
from KekikStream.Core import ExtractorBase, ExtractResult, HTMLHelper
|
|
4
|
-
from Kekik.Sifreleme
|
|
4
|
+
from Kekik.Sifreleme import AESManager
|
|
5
5
|
import contextlib
|
|
6
6
|
|
|
7
7
|
class HotStream(ExtractorBase):
|
|
@@ -24,4 +24,9 @@ class HotStream(ExtractorBase):
|
|
|
24
24
|
if not m3u8_url:
|
|
25
25
|
raise ValueError(f"HotStream: Video linki bulunamadı. {url}")
|
|
26
26
|
|
|
27
|
-
return ExtractResult(
|
|
27
|
+
return ExtractResult(
|
|
28
|
+
name = self.name,
|
|
29
|
+
url = self.fix_url(m3u8_url),
|
|
30
|
+
referer = url,
|
|
31
|
+
user_agent = self.httpx.headers.get("User-Agent")
|
|
32
|
+
)
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
|
2
|
+
|
|
3
|
+
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, MovieInfo, ExtractResult, HTMLHelper
|
|
4
|
+
|
|
5
|
+
class RealFilmIzle(PluginBase):
|
|
6
|
+
name = "RealFilmIzle"
|
|
7
|
+
language = "tr"
|
|
8
|
+
main_url = "https://realfilmizle.com"
|
|
9
|
+
favicon = f"https://www.google.com/s2/favicons?domain={main_url}&sz=64"
|
|
10
|
+
description = "realfilmizle.com, sinemayı seven kullanıcılar için hazırlanmış, zengin içerik yapısına sahip bir online film izleme sitesidir."
|
|
11
|
+
|
|
12
|
+
main_page = {
|
|
13
|
+
f"{main_url}/dizi/aile-filmleri/page" : "Aile",
|
|
14
|
+
f"{main_url}/dizi/aksiyon-filmleri/page" : "Aksiyon",
|
|
15
|
+
f"{main_url}/dizi/animasyon-filmleri/page" : "Animasyon",
|
|
16
|
+
f"{main_url}/dizi/anime-filmleri/page" : "Anime",
|
|
17
|
+
f"{main_url}/dizi/belgeseler-filmleri/page" : "Belgeseler",
|
|
18
|
+
f"{main_url}/dizi/bilim-kurgu-filmleri/page" : "Bilim-Kurgu",
|
|
19
|
+
f"{main_url}/dizi/biyografi-filmleri/page" : "Biyoğrafi",
|
|
20
|
+
f"{main_url}/dizi/dram-filmleri/page" : "Dram",
|
|
21
|
+
f"{main_url}/dizi/erotik-filmleri/page" : "Erotik",
|
|
22
|
+
f"{main_url}/dizi/fantastik-filmleri/page" : "Fantastik",
|
|
23
|
+
f"{main_url}/dizi/gerilim-filmleri/page" : "Gerilim",
|
|
24
|
+
f"{main_url}/dizi/gizem-filmleri/page" : "Gizem",
|
|
25
|
+
f"{main_url}/dizi/hint-filmleri/page" : "Hint",
|
|
26
|
+
f"{main_url}/dizi/komedi-filmleri/page" : "Komedi",
|
|
27
|
+
f"{main_url}/dizi/korku-filmleri/page" : "Korku",
|
|
28
|
+
f"{main_url}/dizi/macera-filmleri/page" : "Macera",
|
|
29
|
+
f"{main_url}/dizi/muzikal-filmleri/page" : "Müzikal",
|
|
30
|
+
f"{main_url}/dizi/netflix-filmleri/page" : "Netflix",
|
|
31
|
+
f"{main_url}/dizi/romantik-filmleri/page" : "Romantik",
|
|
32
|
+
f"{main_url}/dizi/savas-filmleri/page" : "Savaş",
|
|
33
|
+
f"{main_url}/dizi/spor-filmleri/page" : "Spor",
|
|
34
|
+
f"{main_url}/dizi/suc-filmleri/page" : "Suç",
|
|
35
|
+
f"{main_url}/dizi/tarihi-filmleri/page" : "Tarihi",
|
|
36
|
+
f"{main_url}/dizi/western-filmleri/page" : "Western",
|
|
37
|
+
f"{main_url}/dizi/yerli-filmleri/page" : "Yerli",
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
async def get_articles(self, secici: HTMLHelper) -> list[dict]:
|
|
41
|
+
articles = []
|
|
42
|
+
for veri in secici.select("article.movie-box"):
|
|
43
|
+
title = secici.select_text("div.name a", veri)
|
|
44
|
+
href = secici.select_attr("div.name a", "href", veri)
|
|
45
|
+
poster = secici.select_poster("img", veri)
|
|
46
|
+
|
|
47
|
+
articles.append({
|
|
48
|
+
"title" : self.clean_title(title),
|
|
49
|
+
"url" : self.fix_url(href),
|
|
50
|
+
"poster": self.fix_url(poster),
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
return articles
|
|
54
|
+
|
|
55
|
+
async def get_main_page(self, page: int, url: str, category: str) -> list[MainPageResult]:
|
|
56
|
+
istek = await self.httpx.get(f"{url}/{page}")
|
|
57
|
+
secici = HTMLHelper(istek.text)
|
|
58
|
+
veriler = await self.get_articles(secici)
|
|
59
|
+
|
|
60
|
+
return [MainPageResult(**veri, category=category) for veri in veriler if veri]
|
|
61
|
+
|
|
62
|
+
async def search(self, query: str) -> list[SearchResult]:
|
|
63
|
+
istek = await self.httpx.get(f"{self.main_url}/?s={query}")
|
|
64
|
+
secici = HTMLHelper(istek.text)
|
|
65
|
+
veriler = await self.get_articles(secici)
|
|
66
|
+
|
|
67
|
+
return [SearchResult(**veri) for veri in veriler if veri]
|
|
68
|
+
|
|
69
|
+
async def load_item(self, url: str) -> MovieInfo:
|
|
70
|
+
istek = await self.httpx.get(url)
|
|
71
|
+
secici = HTMLHelper(istek.text)
|
|
72
|
+
|
|
73
|
+
title = self.clean_title(secici.select_text("div.film h1"))
|
|
74
|
+
poster = secici.select_poster("div.poster img")
|
|
75
|
+
description = secici.select_direct_text("div.description")
|
|
76
|
+
tags = secici.select_texts("ol.scheme-breadcrumbs li a")
|
|
77
|
+
tags = [tag.replace("✅ ", "").replace(" Filmleri", "") for tag in tags if tag != "Film izle"]
|
|
78
|
+
|
|
79
|
+
return MovieInfo(
|
|
80
|
+
url = url,
|
|
81
|
+
poster = self.fix_url(poster),
|
|
82
|
+
title = self.clean_title(title),
|
|
83
|
+
description = description,
|
|
84
|
+
tags = tags
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
async def load_links(self, url: str) -> list[ExtractResult]:
|
|
88
|
+
istek = await self.httpx.get(url)
|
|
89
|
+
secici = HTMLHelper(istek.text)
|
|
90
|
+
|
|
91
|
+
iframe = secici.select_attr("div.video-content iframe", "src")
|
|
92
|
+
result = await self.extract(iframe)
|
|
93
|
+
|
|
94
|
+
return [result] if result else []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: KekikStream
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.8
|
|
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
|
|
@@ -26,7 +26,7 @@ KekikStream/Extractors/ExPlay.py,sha256=hrG31pRFD5s_0wNls0fF8AdMn6ve5OD-mOAV32_1
|
|
|
26
26
|
KekikStream/Extractors/Filemoon.py,sha256=bdPKk58_HXgRL_ysNcpuESXrijTxKMETyBnXdmR0b_0,2289
|
|
27
27
|
KekikStream/Extractors/HDMomPlayer.py,sha256=ui8aH9sc3NDlN2uKlhJiySUHA__mpSSvAPHRzde6F2k,1177
|
|
28
28
|
KekikStream/Extractors/HDPlayerSystem.py,sha256=hoPN7fqVRBK97BnQ7vF_5TlEO28BD3DrsngDW48rw5E,936
|
|
29
|
-
KekikStream/Extractors/HotStream.py,sha256=
|
|
29
|
+
KekikStream/Extractors/HotStream.py,sha256=qHk5qD7HK4A6LCV2A9UFp7weT60BjjZRj-TBp3-Jl7Q,1210
|
|
30
30
|
KekikStream/Extractors/JFVid.py,sha256=rdy0bmqZIruejn1G1YNxVM3wlqxkdFRd4zunxxZlev4,746
|
|
31
31
|
KekikStream/Extractors/JetTv.py,sha256=Cdx1XZEtQZkrmOdZdgM9E1iBkCNzVTExjrI_F-3Nv-I,1176
|
|
32
32
|
KekikStream/Extractors/JetV.py,sha256=knyDiOCSBMC1eQHo5LRFx5apn3NQflKY3xyloLDGkaI,2069
|
|
@@ -79,6 +79,7 @@ KekikStream/Plugins/HDFilm.py,sha256=m6tjV1O1l5U_jqkGKizi62GOdSMd5osyOS2_9jehS-w
|
|
|
79
79
|
KekikStream/Plugins/HDFilmCehennemi.py,sha256=h3FTKN-psrzvN0Juw8Am83MV8QL9aX-RSWhYqXRQU-E,17368
|
|
80
80
|
KekikStream/Plugins/JetFilmizle.py,sha256=zvjO18atPLJtdDRsY_yr0s9YKcHpePWhdp2PMuI7nIs,10275
|
|
81
81
|
KekikStream/Plugins/KultFilmler.py,sha256=D5aAFrv0ACtSBinwHTfNvP1Jp0W8W7-mwUsju_YPilk,10841
|
|
82
|
+
KekikStream/Plugins/RealFilmIzle.py,sha256=3XgOInKUMFc9eSo-e-ACKmd9eZrP1VKiicfmupFm_Pw,4459
|
|
82
83
|
KekikStream/Plugins/RecTV.py,sha256=6rYxZV6J84rr2CZKTmP_0raYVp4pa5EMXQD6mMbZHbE,7315
|
|
83
84
|
KekikStream/Plugins/RoketDizi.py,sha256=TnupXb3cRJMDJAA7hclOPwECgOt5mOJx1hYEL_oK6rk,8488
|
|
84
85
|
KekikStream/Plugins/SelcukFlix.py,sha256=8jr-HxAIXVILMUykPJRC7yD9AT1q0JU-vBwoYGxkFiM,14484
|
|
@@ -92,9 +93,9 @@ KekikStream/Plugins/SuperFilmIzle.py,sha256=iN-kTGHxA1t6QcCtCuN-g00THNWTf1fiBPyd
|
|
|
92
93
|
KekikStream/Plugins/UgurFilm.py,sha256=pS5xGwiN_5cut4JIfpz3R-mHCvIZJS4S_DpMRI_Cw-Y,6762
|
|
93
94
|
KekikStream/Plugins/Watch32.py,sha256=wAw-glE9bQNsyfzhv1zlFIjYAhSvK58mUri-XGytuHs,7318
|
|
94
95
|
KekikStream/Plugins/YabanciDizi.py,sha256=aqdPLQ3Oajs32JNkgIPeqHuYgcM8K2jGHT0Ikw8Q6jY,10582
|
|
95
|
-
kekikstream-2.5.
|
|
96
|
-
kekikstream-2.5.
|
|
97
|
-
kekikstream-2.5.
|
|
98
|
-
kekikstream-2.5.
|
|
99
|
-
kekikstream-2.5.
|
|
100
|
-
kekikstream-2.5.
|
|
96
|
+
kekikstream-2.5.8.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
97
|
+
kekikstream-2.5.8.dist-info/METADATA,sha256=u-rJ1nXVB1KC_lLatAWd_gFwia7Xgef8484i3p1n3Fo,10761
|
|
98
|
+
kekikstream-2.5.8.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
99
|
+
kekikstream-2.5.8.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
|
|
100
|
+
kekikstream-2.5.8.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
|
|
101
|
+
kekikstream-2.5.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|