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.
@@ -1,6 +1,6 @@
1
1
  # Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
2
2
 
3
- from ..CLI import konsol, cikis_yap
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 ..Core import ExtractorLoader, ExtractorBase
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 ..CLI import konsol
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,6 +1,6 @@
1
1
  # Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
2
2
 
3
- from ..Core import MediaHandler
3
+ from .MediaHandler import MediaHandler
4
4
 
5
5
  class MediaManager:
6
6
  def __init__(self):
@@ -1,11 +1,11 @@
1
1
  # Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
2
2
 
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 .MediaHandler import MediaHandler
8
- from urllib.parse import urljoin
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 ..CLI import konsol, cikis_yap
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ı: {self.plugins_dir}[/red]")
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]:
@@ -1,6 +1,7 @@
1
1
  # Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
2
2
 
3
- from ..Core import PluginLoader, PluginBase
3
+ from .PluginLoader import PluginLoader
4
+ from .PluginBase import PluginBase
4
5
 
5
6
  class PluginManager:
6
7
  def __init__(self, plugin_dir="Plugins"):
@@ -1,6 +1,6 @@
1
1
  # Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
2
2
 
3
- from ..CLI import konsol
3
+ from ...CLI import konsol
4
4
  from rich.panel import Panel
5
5
  from rich.table import Table
6
6
  from InquirerPy import inquirer
@@ -1,9 +1,16 @@
1
1
  # Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
2
2
 
3
- from .PluginBase import PluginBase
4
- from .PluginLoader import PluginLoader
5
- from .PluginModels import SearchResult, MovieInfo, Episode, SeriesInfo
6
- from .ExtractorBase import ExtractorBase
7
- from .ExtractorLoader import ExtractorLoader
8
- from .ExtractorModels import ExtractResult, Subtitle
9
- from .MediaHandler import MediaHandler
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
@@ -1,10 +1,9 @@
1
1
  # Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
2
2
 
3
- from KekikStream.CLI import konsol
4
- from KekikStream.Core import PluginBase, SearchResult, MovieInfo, Episode, SeriesInfo
5
- from KekikStream.Core.ExtractorModels import ExtractResult, Subtitle
6
- from httpx import AsyncClient
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 = episode.get("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]):
@@ -1,7 +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, MovieInfo, Episode, SeriesInfo
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 .Managers import PluginManager, ExtractorManager, UIManager, MediaManager
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.7.14
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=3BywClBNdEdeyr1s42HgypajAOccIPAbVBQlOkpkW2Q,10871
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/ExtractorBase.py,sha256=wmGl-Xiem4s5M7baVOxYLba7UdygCDAXggo6Up8pFJE,1409
7
- KekikStream/Core/ExtractorLoader.py,sha256=rrll3F2CyVmx3foa57PG0FocQMrFuMpdlG0Uf0-2Fz4,3915
8
- KekikStream/Core/ExtractorModels.py,sha256=huIcPQ5VIRfMx0LcL5SS1u4dldZbHjzHKEdSEtOPlc0,456
9
- KekikStream/Core/MediaHandler.py,sha256=DFw2Npd9fantyERjnUzr3jU7F283tVC7qA3j-zznzAA,5939
10
- KekikStream/Core/PluginBase.py,sha256=ZQx6adxOKuX50TPN5pxE8oG9FD-ZjPXSHpSiW086QPQ,2479
11
- KekikStream/Core/PluginLoader.py,sha256=5HQF8Em1TjvqMBPLKB7M_i2y6zPH6JZao-uekeacoSs,2574
12
- KekikStream/Core/PluginModels.py,sha256=q8tjkt_-uiJ7uNxOThYR0FgTQLZglVAOAaM0Kske-28,2063
13
- KekikStream/Core/__init__.py,sha256=HZpXs3MKy4joO0sDpIGcZ2DrUKwK49IKG-GQgKbO2jk,416
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=FstAfQUU9BUgWxGLIxdb_TmpBHf8NHGJA7FLuJX708g,4994
49
+ KekikStream/Plugins/RecTV.py,sha256=Pt2IQ2jLsQp7Mo85uM_ml3nxOR0uirX7vXOnE10CPm0,4886
51
50
  KekikStream/Plugins/SezonlukDizi.py,sha256=5BZVzQ2eQtymHxO0bzjA2ho4FFNahPFQly4hoHuH8lo,4441
52
- KekikStream/Plugins/SineWix.py,sha256=P_ujixGubpsJzAdbRUzVy5ziRGYfSEDc90RMXie6VyE,4866
51
+ KekikStream/Plugins/SineWix.py,sha256=VvFeAS2-Y-KJ1Od16yZjUJLiESwsBBGb2GNG3BLLupU,4806
53
52
  KekikStream/Plugins/UgurFilm.py,sha256=yYXee5uxwNnPqFJZ6s6cRkmUyqS3Vv8x-iesPalc4j4,2930
54
- KekikStream-0.7.14.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
55
- KekikStream-0.7.14.dist-info/METADATA,sha256=3813bEyHnZcAIuPhAl1QkT42KpRykrfAiAQxtcYtJhE,4227
56
- KekikStream-0.7.14.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
57
- KekikStream-0.7.14.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
58
- KekikStream-0.7.14.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
59
- KekikStream-0.7.14.dist-info/RECORD,,
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,,
@@ -1,6 +0,0 @@
1
- # Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
2
-
3
- from .PluginManager import PluginManager
4
- from .ExtractorManager import ExtractorManager
5
- from .UIManager import UIManager
6
- from .MediaManager import MediaManager