KekikStream 0.7.14__py3-none-any.whl → 0.8.1__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/Core/{ExtractorLoader.py → Extractor/ExtractorLoader.py} +2 -2
- KekikStream/{Managers → Core/Extractor}/ExtractorManager.py +2 -1
- KekikStream/Core/{MediaHandler.py → Media/MediaHandler.py} +2 -2
- KekikStream/{Managers → Core/Media}/MediaManager.py +1 -1
- KekikStream/Core/{PluginBase.py → Plugin/PluginBase.py} +6 -6
- KekikStream/Core/{PluginLoader.py → Plugin/PluginLoader.py} +3 -3
- KekikStream/{Managers → Core/Plugin}/PluginManager.py +2 -1
- KekikStream/{Managers → Core/UI}/UIManager.py +1 -1
- KekikStream/Core/__init__.py +14 -7
- KekikStream/Plugins/RecTV.py +7 -7
- KekikStream/Plugins/SineWix.py +1 -2
- KekikStream/__init__.py +2 -3
- {KekikStream-0.7.14.dist-info → KekikStream-0.8.1.dist-info}/METADATA +1 -1
- {KekikStream-0.7.14.dist-info → KekikStream-0.8.1.dist-info}/RECORD +21 -22
- KekikStream/Managers/__init__.py +0 -6
- /KekikStream/Core/{ExtractorBase.py → Extractor/ExtractorBase.py} +0 -0
- /KekikStream/Core/{ExtractorModels.py → Extractor/ExtractorModels.py} +0 -0
- /KekikStream/Core/{PluginModels.py → Plugin/PluginModels.py} +0 -0
- {KekikStream-0.7.14.dist-info → KekikStream-0.8.1.dist-info}/LICENSE +0 -0
- {KekikStream-0.7.14.dist-info → KekikStream-0.8.1.dist-info}/WHEEL +0 -0
- {KekikStream-0.7.14.dist-info → KekikStream-0.8.1.dist-info}/entry_points.txt +0 -0
- {KekikStream-0.7.14.dist-info → KekikStream-0.8.1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
|
-
from
|
3
|
+
from ...CLI import konsol, cikis_yap
|
4
4
|
from .ExtractorBase import ExtractorBase
|
5
5
|
from pathlib import Path
|
6
6
|
import os, importlib.util
|
@@ -8,7 +8,7 @@ import os, importlib.util
|
|
8
8
|
class ExtractorLoader:
|
9
9
|
def __init__(self, extractors_dir: str):
|
10
10
|
self.local_extractors_dir = Path(extractors_dir)
|
11
|
-
self.global_extractors_dir = Path(__file__).parent.parent / extractors_dir
|
11
|
+
self.global_extractors_dir = Path(__file__).parent.parent.parent / extractors_dir
|
12
12
|
if not self.local_extractors_dir.exists() and not self.global_extractors_dir.exists():
|
13
13
|
konsol.log(f"[red][!] Extractor dizini bulunamadı: {self.global_extractors_dir}[/red]")
|
14
14
|
cikis_yap(False)
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
|
-
from
|
3
|
+
from .ExtractorLoader import ExtractorLoader
|
4
|
+
from .ExtractorBase import ExtractorBase
|
4
5
|
|
5
6
|
class ExtractorManager:
|
6
7
|
def __init__(self, extractor_dir="Extractors"):
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
|
-
from
|
4
|
-
from .ExtractorModels import ExtractResult
|
3
|
+
from ...CLI import konsol
|
4
|
+
from ..Extractor.ExtractorModels import ExtractResult
|
5
5
|
import subprocess, os
|
6
6
|
|
7
7
|
class MediaHandler:
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
|
-
from abc
|
4
|
-
from httpx
|
5
|
-
from cloudscraper
|
6
|
-
from .PluginModels
|
7
|
-
from .MediaHandler import MediaHandler
|
8
|
-
from urllib.parse
|
3
|
+
from abc import ABC, abstractmethod
|
4
|
+
from httpx import AsyncClient, Timeout
|
5
|
+
from cloudscraper import CloudScraper
|
6
|
+
from .PluginModels import SearchResult, MovieInfo
|
7
|
+
from ..Media.MediaHandler import MediaHandler
|
8
|
+
from urllib.parse import urljoin
|
9
9
|
import re
|
10
10
|
|
11
11
|
class PluginBase(ABC):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
|
-
from
|
3
|
+
from ...CLI import konsol, cikis_yap
|
4
4
|
from .PluginBase import PluginBase
|
5
5
|
from pathlib import Path
|
6
6
|
import os, importlib.util, traceback
|
@@ -8,9 +8,9 @@ import os, importlib.util, traceback
|
|
8
8
|
class PluginLoader:
|
9
9
|
def __init__(self, plugins_dir: str):
|
10
10
|
self.local_plugins_dir = Path(plugins_dir).resolve()
|
11
|
-
self.global_plugins_dir = Path(__file__).parent.parent / plugins_dir
|
11
|
+
self.global_plugins_dir = Path(__file__).parent.parent.parent / plugins_dir
|
12
12
|
if not self.local_plugins_dir.exists() and not self.global_plugins_dir.exists():
|
13
|
-
konsol.log(f"[red][!] Extractor dizini bulunamadı: {
|
13
|
+
konsol.log(f"[red][!] Extractor dizini bulunamadı: {plugins_dir}[/red]")
|
14
14
|
cikis_yap(False)
|
15
15
|
|
16
16
|
def load_all(self) -> dict[str, PluginBase]:
|
KekikStream/Core/__init__.py
CHANGED
@@ -1,9 +1,16 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
|
-
from .
|
4
|
-
|
5
|
-
from .
|
6
|
-
from .
|
7
|
-
from .
|
8
|
-
from .
|
9
|
-
|
3
|
+
from .UI.UIManager import UIManager
|
4
|
+
|
5
|
+
from .Plugin.PluginManager import PluginManager
|
6
|
+
from .Plugin.PluginBase import PluginBase
|
7
|
+
from .Plugin.PluginLoader import PluginLoader
|
8
|
+
from .Plugin.PluginModels import SearchResult, MovieInfo, Episode, SeriesInfo
|
9
|
+
|
10
|
+
from .Extractor.ExtractorManager import ExtractorManager
|
11
|
+
from .Extractor.ExtractorBase import ExtractorBase
|
12
|
+
from .Extractor.ExtractorLoader import ExtractorLoader
|
13
|
+
from .Extractor.ExtractorModels import ExtractResult, Subtitle
|
14
|
+
|
15
|
+
from .Media.MediaManager import MediaManager
|
16
|
+
from .Media.MediaHandler import MediaHandler
|
KekikStream/Plugins/RecTV.py
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
|
-
from KekikStream.CLI
|
4
|
-
from KekikStream.Core
|
5
|
-
from
|
6
|
-
from
|
7
|
-
from json import dumps, loads
|
3
|
+
from KekikStream.CLI import konsol
|
4
|
+
from KekikStream.Core import PluginBase, SearchResult, MovieInfo, Episode, SeriesInfo, ExtractResult, Subtitle
|
5
|
+
from httpx import AsyncClient
|
6
|
+
from json import dumps, loads
|
8
7
|
import re
|
9
8
|
|
10
9
|
|
@@ -17,6 +16,8 @@ class RecTV(PluginBase):
|
|
17
16
|
http2.headers.update({"user-agent": "okhttp/4.12.0"})
|
18
17
|
|
19
18
|
async def search(self, query: str) -> list[SearchResult]:
|
19
|
+
self.media_handler.headers.update({"User-Agent": "googleusercontent"})
|
20
|
+
|
20
21
|
istek = await self.http2.get(f"{self.main_url}/api/search/{query}/{self.sw_key}/")
|
21
22
|
|
22
23
|
kanallar = istek.json().get("channels")
|
@@ -48,7 +49,7 @@ class RecTV(PluginBase):
|
|
48
49
|
ep_model = Episode(
|
49
50
|
season = int(re.search(r"(\d+)\.S", season.get("title")).group(1)) if re.search(r"(\d+)\.S", season.get("title")) else 1,
|
50
51
|
episode = int(re.search(r"Bölüm (\d+)", episode.get("title")).group(1)) if re.search(r"Bölüm (\d+)", episode.get("title")) else 1,
|
51
|
-
title =
|
52
|
+
title = season.get("title"),
|
52
53
|
url = self.fix_url(episode.get("sources")[0].get("url")),
|
53
54
|
)
|
54
55
|
|
@@ -105,7 +106,6 @@ class RecTV(PluginBase):
|
|
105
106
|
}
|
106
107
|
videolar.append(video_link)
|
107
108
|
|
108
|
-
self.media_handler.headers.update({"User-Agent": "googleusercontent"})
|
109
109
|
return videolar
|
110
110
|
|
111
111
|
async def play(self, name: str, url: str, referer: str, subtitles: list[Subtitle]):
|
KekikStream/Plugins/SineWix.py
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
|
-
from KekikStream.Core
|
4
|
-
from KekikStream.Core.ExtractorModels import ExtractResult, Subtitle
|
3
|
+
from KekikStream.Core import PluginBase, SearchResult, MovieInfo, Episode, SeriesInfo, ExtractResult, Subtitle
|
5
4
|
|
6
5
|
class SineWix(PluginBase):
|
7
6
|
name = "SineWix"
|
KekikStream/__init__.py
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
3
|
from .CLI import konsol, cikis_yap, hata_yakala, pypi_kontrol_guncelle
|
4
|
-
from .
|
5
|
-
from .Core import PluginBase, ExtractorBase, SeriesInfo
|
4
|
+
from .Core import PluginManager, ExtractorManager, UIManager, MediaManager, PluginBase, ExtractorBase, SeriesInfo
|
6
5
|
from asyncio import run
|
7
6
|
from contextlib import suppress
|
8
7
|
|
@@ -180,7 +179,7 @@ class KekikStream:
|
|
180
179
|
if not haritalama:
|
181
180
|
secilen_link = await self.arayuz_yonetici.select_from_list(
|
182
181
|
message = "Doğrudan oynatmak için bir bağlantı seçin:",
|
183
|
-
choices = [{"name": value["ext_name"], "value": key} for key, value in self.suanki_eklenti._data.items()]
|
182
|
+
choices = [{"name": value["ext_name"], "value": key} for key, value in self.suanki_eklenti._data.items() if key in baglantilar]
|
184
183
|
)
|
185
184
|
if secilen_link:
|
186
185
|
await self.medya_oynat(secilen_link)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: KekikStream
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.8.1
|
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,16 +1,20 @@
|
|
1
|
-
KekikStream/__init__.py,sha256=
|
1
|
+
KekikStream/__init__.py,sha256=5hWi3i_D7qy-2re_9wn4cUMRPAf-uk8MVvw-PyNb-CY,10871
|
2
2
|
KekikStream/__main__.py,sha256=B81dQoeGEb-T5Sycs3eNAmW7unvx0Mef0syCjs4nPds,137
|
3
3
|
KekikStream/requirements.txt,sha256=QWCXrrmKodIm7mGtIz9cWr9sks-lmL_TilKMrruWJn0,77
|
4
4
|
KekikStream/CLI/__init__.py,sha256=U6oLq_O7u5y2eHhBnmfhZNns_EqHHJXJmzl8jvZFUNY,230
|
5
5
|
KekikStream/CLI/pypi_kontrol.py,sha256=MchatOwCWCpFBtgt09yag9Rjal9XFyh2W_oVs2p7SNg,1518
|
6
|
-
KekikStream/Core/
|
7
|
-
KekikStream/Core/
|
8
|
-
KekikStream/Core/
|
9
|
-
KekikStream/Core/
|
10
|
-
KekikStream/Core/
|
11
|
-
KekikStream/Core/
|
12
|
-
KekikStream/Core/
|
13
|
-
KekikStream/Core/
|
6
|
+
KekikStream/Core/__init__.py,sha256=2N0VFP4QsyDWn4pV77JX_5_XachD5qKzhuDor3klj58,657
|
7
|
+
KekikStream/Core/Extractor/ExtractorBase.py,sha256=wmGl-Xiem4s5M7baVOxYLba7UdygCDAXggo6Up8pFJE,1409
|
8
|
+
KekikStream/Core/Extractor/ExtractorLoader.py,sha256=QZqaZs8u2YWlY_cUkJKSKt6xV8FjDuU9up_VjyTNUqE,3922
|
9
|
+
KekikStream/Core/Extractor/ExtractorManager.py,sha256=K11ESoZEc7oJyPb5uEGwfaANYJTU-e9qyzIMj4H8lT0,1014
|
10
|
+
KekikStream/Core/Extractor/ExtractorModels.py,sha256=huIcPQ5VIRfMx0LcL5SS1u4dldZbHjzHKEdSEtOPlc0,456
|
11
|
+
KekikStream/Core/Media/MediaHandler.py,sha256=JEwAvLyQKAAys6_E97bHePxf7rYqDglowGEqUPhq35s,5961
|
12
|
+
KekikStream/Core/Media/MediaManager.py,sha256=9ItiUguOkk3wg3YY5uf3mrjfwLPCvggnP8QviX0uiuE,526
|
13
|
+
KekikStream/Core/Plugin/PluginBase.py,sha256=KuR89bkrChPAct4-PMjxbK4i6busXMMFeZjv-x4F1CQ,2521
|
14
|
+
KekikStream/Core/Plugin/PluginLoader.py,sha256=o8m5U75HQvCi-lmsivqWvb6qyfifInEguqrD3R0bHQA,2576
|
15
|
+
KekikStream/Core/Plugin/PluginManager.py,sha256=nKvglAYTKfEwGnc7rf5cOMXfYoy3MGJoWBPLhRE4ll8,669
|
16
|
+
KekikStream/Core/Plugin/PluginModels.py,sha256=q8tjkt_-uiJ7uNxOThYR0FgTQLZglVAOAaM0Kske-28,2063
|
17
|
+
KekikStream/Core/UI/UIManager.py,sha256=T4V_kdTTWa-UDamgLSKa__dWJuzcvRK9NuwBlzU9Bzc,1693
|
14
18
|
KekikStream/Extractors/CloseLoad.py,sha256=YmDB3YvuDaCUbQ0T_tmhnkEsC5mSdEN6GNoAR662fl8,990
|
15
19
|
KekikStream/Extractors/ContentX.py,sha256=XPoAuA95LOTgCUGyioXxOFWR0nNKWWOHLkYMlzguIIE,2980
|
16
20
|
KekikStream/Extractors/FourCX.py,sha256=4FrMj1IZBBpN_g1P6S3A-8eUu7QFwlt4fJXzJ7vfe0Q,221
|
@@ -36,24 +40,19 @@ KekikStream/Extractors/TurboImgz.py,sha256=VXx9vZZRTdQiVNER0LcXm2nsv2OaXnxuPpslG
|
|
36
40
|
KekikStream/Extractors/VidMoly.py,sha256=BKJgk60GomFYiLFsRQSR2sOYP105Aix5y5XLazBNWmw,3368
|
37
41
|
KekikStream/Extractors/VidMoxy.py,sha256=_K6BA7Uo59DA3ty_tsayCUZjXmRoDBTghekVNXiuZ7g,1800
|
38
42
|
KekikStream/Extractors/VideoSeyred.py,sha256=otyGi1zdY_JPrXJjoZjesCQDiOkxFdaWiXQ9mOmrygA,1780
|
39
|
-
KekikStream/Managers/ExtractorManager.py,sha256=9rGlUsnedJ7fwIeObN5Vsm8H5VLal0ODO7F93dDRx8w,976
|
40
|
-
KekikStream/Managers/MediaManager.py,sha256=SPO85LchT7bJKSecmXd1FzCjg0rUT8s3B1wulPa4SMw,519
|
41
|
-
KekikStream/Managers/PluginManager.py,sha256=YDBLHB_Fh79A3Pei0ny2KLVY4VSihdNiKBh_w5tBl-0,637
|
42
|
-
KekikStream/Managers/UIManager.py,sha256=e89u_QgmxL85zGAYyYsQp6b3E5y7fHGteLt2OYHHbD8,1693
|
43
|
-
KekikStream/Managers/__init__.py,sha256=3085I_9Sa2L_Vq6Z-QvYUYn1BapkN4sQqBo8ITZoD_4,251
|
44
43
|
KekikStream/Plugins/DiziBox.py,sha256=i_73VNXk2eM7xTg-6a0Xk2Yts2c9grWbRVVHhxFgoic,5935
|
45
44
|
KekikStream/Plugins/DiziYou.py,sha256=kpRY3U6lqaZKgn9ED2TprwU7qfLxuC2ZZmrRemegryo,5382
|
46
45
|
KekikStream/Plugins/Dizilla.py,sha256=evWYvETw1c4RY0GB5P20cB_I_U7ZxzzvnG7RLNGJRPs,4258
|
47
46
|
KekikStream/Plugins/FilmMakinesi.py,sha256=rz8TQeL41PJbeEmksgPHIhp6J-4vbSCBTeEH0ukExz4,2822
|
48
47
|
KekikStream/Plugins/FullHDFilmizlesene.py,sha256=Fa0gRP_NoMfPC8HIKRxERjQVOv8Fyb-ayMJ2EooZ7BE,3080
|
49
48
|
KekikStream/Plugins/JetFilmizle.py,sha256=FXkMSQtjYoxwIonjRENFa91rC42L_8SYRhjhuSgsu60,3919
|
50
|
-
KekikStream/Plugins/RecTV.py,sha256=
|
49
|
+
KekikStream/Plugins/RecTV.py,sha256=Pt2IQ2jLsQp7Mo85uM_ml3nxOR0uirX7vXOnE10CPm0,4886
|
51
50
|
KekikStream/Plugins/SezonlukDizi.py,sha256=5BZVzQ2eQtymHxO0bzjA2ho4FFNahPFQly4hoHuH8lo,4441
|
52
|
-
KekikStream/Plugins/SineWix.py,sha256=
|
51
|
+
KekikStream/Plugins/SineWix.py,sha256=VvFeAS2-Y-KJ1Od16yZjUJLiESwsBBGb2GNG3BLLupU,4806
|
53
52
|
KekikStream/Plugins/UgurFilm.py,sha256=yYXee5uxwNnPqFJZ6s6cRkmUyqS3Vv8x-iesPalc4j4,2930
|
54
|
-
KekikStream-0.
|
55
|
-
KekikStream-0.
|
56
|
-
KekikStream-0.
|
57
|
-
KekikStream-0.
|
58
|
-
KekikStream-0.
|
59
|
-
KekikStream-0.
|
53
|
+
KekikStream-0.8.1.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
54
|
+
KekikStream-0.8.1.dist-info/METADATA,sha256=tlrqj-FYr_tnPCeorPhZz8WleOkVjgQ_A14oo_5jRqc,4226
|
55
|
+
KekikStream-0.8.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
56
|
+
KekikStream-0.8.1.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
|
57
|
+
KekikStream-0.8.1.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
|
58
|
+
KekikStream-0.8.1.dist-info/RECORD,,
|
KekikStream/Managers/__init__.py
DELETED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|