KekikStream 2.5.1__py3-none-any.whl → 2.5.2__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/Extractor/ExtractorLoader.py +8 -14
- KekikStream/Core/Plugin/PluginLoader.py +9 -12
- {kekikstream-2.5.1.dist-info → kekikstream-2.5.2.dist-info}/METADATA +1 -1
- {kekikstream-2.5.1.dist-info → kekikstream-2.5.2.dist-info}/RECORD +8 -8
- {kekikstream-2.5.1.dist-info → kekikstream-2.5.2.dist-info}/WHEEL +0 -0
- {kekikstream-2.5.1.dist-info → kekikstream-2.5.2.dist-info}/entry_points.txt +0 -0
- {kekikstream-2.5.1.dist-info → kekikstream-2.5.2.dist-info}/licenses/LICENSE +0 -0
- {kekikstream-2.5.1.dist-info → kekikstream-2.5.2.dist-info}/top_level.txt +0 -0
|
@@ -9,7 +9,7 @@ class ExtractorLoader:
|
|
|
9
9
|
def __init__(self, extractors_dir: str):
|
|
10
10
|
# Yerel ve global çıkarıcı dizinlerini ayarla
|
|
11
11
|
self.local_extractors_dir = Path(extractors_dir)
|
|
12
|
-
self.global_extractors_dir = Path(__file__).parent.parent.parent /
|
|
12
|
+
self.global_extractors_dir = Path(__file__).parent.parent.parent / "Extractors"
|
|
13
13
|
|
|
14
14
|
# Dizin kontrolü
|
|
15
15
|
if not self.local_extractors_dir.exists() and not self.global_extractors_dir.exists():
|
|
@@ -19,22 +19,16 @@ class ExtractorLoader:
|
|
|
19
19
|
def load_all(self) -> list[ExtractorBase]:
|
|
20
20
|
extractors = []
|
|
21
21
|
|
|
22
|
-
#
|
|
23
|
-
|
|
22
|
+
# Yerel Extractor'lar varsa önce onları yükle (ek/öncelikli yetenekler)
|
|
23
|
+
# Eğer yerel dizin global dizinle aynıysa (örn: doğrudan core'da çalışırken) tekrar yükleme yapma
|
|
24
|
+
if self.local_extractors_dir.exists() and self.local_extractors_dir.resolve() != self.global_extractors_dir.resolve():
|
|
24
25
|
# konsol.log(f"[green][*] Yerel Extractor dizininden yükleniyor: {self.local_extractors_dir}[/green]")
|
|
25
|
-
|
|
26
|
-
# konsol.log(f"[green]Yerel Extractor'lar: {[e.__name__ for e in local_extractors]}[/green]")
|
|
26
|
+
extractors.extend(self._load_from_directory(self.local_extractors_dir))
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
extractors.extend(local_extractors)
|
|
31
|
-
|
|
32
|
-
# Yerel dizinde Extractor yoksa, global'leri yükle
|
|
33
|
-
if not extractors and self.global_extractors_dir.exists():
|
|
28
|
+
# Global Extractor'ları her zaman yükle (temel yetenekler)
|
|
29
|
+
if self.global_extractors_dir.exists():
|
|
34
30
|
# konsol.log(f"[green][*] Global Extractor dizininden yükleniyor: {self.global_extractors_dir}[/green]")
|
|
35
|
-
|
|
36
|
-
# konsol.log(f"[green]Global Extractor'lar: {[e.__name__ for e in global_extractors]}[/green]")
|
|
37
|
-
extractors.extend(global_extractors)
|
|
31
|
+
extractors.extend(self._load_from_directory(self.global_extractors_dir))
|
|
38
32
|
|
|
39
33
|
# Benzersizliği sağlama (modül adı + sınıf adı bazında)
|
|
40
34
|
unique_extractors = []
|
|
@@ -10,7 +10,7 @@ class PluginLoader:
|
|
|
10
10
|
# Yerel ve global eklenti dizinlerini ayarla
|
|
11
11
|
self.proxy = proxy
|
|
12
12
|
self.local_plugins_dir = Path(plugins_dir).resolve()
|
|
13
|
-
self.global_plugins_dir = Path(__file__).parent.parent.parent /
|
|
13
|
+
self.global_plugins_dir = Path(__file__).parent.parent.parent / "Plugins"
|
|
14
14
|
|
|
15
15
|
# Dizin kontrolü
|
|
16
16
|
if not self.local_plugins_dir.exists() and not self.global_plugins_dir.exists():
|
|
@@ -18,19 +18,16 @@ class PluginLoader:
|
|
|
18
18
|
cikis_yap(False)
|
|
19
19
|
|
|
20
20
|
def load_all(self) -> dict[str, PluginBase]:
|
|
21
|
-
plugins
|
|
21
|
+
plugins = {}
|
|
22
|
+
local_dir_exists = self.local_plugins_dir.exists() and self.local_plugins_dir.resolve() != self.global_plugins_dir.resolve()
|
|
22
23
|
|
|
23
|
-
# Eğer yerel
|
|
24
|
-
if
|
|
24
|
+
# Eğer yerel dizin varsa, sadece oradan yükle (eklenti geliştirme/yayınlama modu)
|
|
25
|
+
if local_dir_exists:
|
|
25
26
|
# konsol.log(f"[green][*] Yerel Eklenti dizininden yükleniyor: {self.local_plugins_dir}[/green]")
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
plugins |= local_plugins
|
|
31
|
-
|
|
32
|
-
# Yerel dizinde Plugin yoksa, global'leri yükle
|
|
33
|
-
if not plugins and self.global_plugins_dir.exists():
|
|
27
|
+
plugins |= self._load_from_directory(self.local_plugins_dir)
|
|
28
|
+
|
|
29
|
+
# Yerel dizin yoksa (veya core ile aynı yerse), global'leri yükle
|
|
30
|
+
else:
|
|
34
31
|
# konsol.log(f"[green][*] Global Eklenti dizininden yükleniyor: {self.global_plugins_dir}[/green]")
|
|
35
32
|
plugins |= self._load_from_directory(self.global_plugins_dir)
|
|
36
33
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: KekikStream
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.2
|
|
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,14 +6,14 @@ KekikStream/CLI/pypi_kontrol.py,sha256=q6fNs6EKJDc5VuUFig9DBzLzNPp_kMD1vOVgLElci
|
|
|
6
6
|
KekikStream/Core/HTMLHelper.py,sha256=jhRZc6ENhCjSY7X9IEo10WDKfmb-CPb8de_EICHIXQ0,8697
|
|
7
7
|
KekikStream/Core/__init__.py,sha256=sk2pWup1_jsGB43HJzbbqgQYFDZpf2TquEBYUhqOdN4,807
|
|
8
8
|
KekikStream/Core/Extractor/ExtractorBase.py,sha256=9Q79wULey2Nl254MUkiulhxZzGyb2C1H3mOUh4t0MN0,2077
|
|
9
|
-
KekikStream/Core/Extractor/ExtractorLoader.py,sha256=
|
|
9
|
+
KekikStream/Core/Extractor/ExtractorLoader.py,sha256=vMakgaGlcrpw5VMNMgmudTr9KRHorUlbjjTaOngXsJo,4484
|
|
10
10
|
KekikStream/Core/Extractor/ExtractorManager.py,sha256=VYkj4CCE5Puqsr6PCeN8i_OS0hfYKI4NScj98BLO39o,2644
|
|
11
11
|
KekikStream/Core/Extractor/ExtractorModels.py,sha256=Qj_gbIeGRewaZXNfYkTi4FFRRq6XBOc0HS0tXGDwajI,445
|
|
12
12
|
KekikStream/Core/Extractor/YTDLPCache.py,sha256=sRg5kwFxkRXA_8iRwsV29E51g9qQJvg8dWUnzfr7EwA,984
|
|
13
13
|
KekikStream/Core/Media/MediaHandler.py,sha256=MEn3spPAThVloN3WcoCwWhpoyMA7tAZvcwYjmjJsX3U,7678
|
|
14
14
|
KekikStream/Core/Media/MediaManager.py,sha256=AaUq2D7JSJIphjoAj2fjLOJjswm7Qf5hjYCbBdrbnDU,438
|
|
15
15
|
KekikStream/Core/Plugin/PluginBase.py,sha256=t6zaDlwDfnevIu-NLUgmQkBnw0mcRisb3jnUWlcv5tU,7335
|
|
16
|
-
KekikStream/Core/Plugin/PluginLoader.py,sha256=
|
|
16
|
+
KekikStream/Core/Plugin/PluginLoader.py,sha256=6itvniiXF4y9f1pQR4w-PWtBC8PP5zrbnuO1IUJ16LA,3669
|
|
17
17
|
KekikStream/Core/Plugin/PluginManager.py,sha256=6a0Q2mHtzIpx1ttdSTsVHg2HfLJIO0r_iHjK3Kui1Rw,939
|
|
18
18
|
KekikStream/Core/Plugin/PluginModels.py,sha256=7g1uHjJstfnrdTabDgyrBnu1ojIQ025hsmw85cDXFS8,2353
|
|
19
19
|
KekikStream/Core/UI/UIManager.py,sha256=T4V_kdTTWa-UDamgLSKa__dWJuzcvRK9NuwBlzU9Bzc,1693
|
|
@@ -91,9 +91,9 @@ KekikStream/Plugins/SuperFilmGeldi.py,sha256=hXhYYuQkVbYJ07P8y5QjY5iR3rVgUfAWc_M
|
|
|
91
91
|
KekikStream/Plugins/UgurFilm.py,sha256=2U3-rC9JzwDoF1c8t3VyE3jMcz-SB51uxFX-8DqrQ7M,6778
|
|
92
92
|
KekikStream/Plugins/Watch32.py,sha256=wAw-glE9bQNsyfzhv1zlFIjYAhSvK58mUri-XGytuHs,7318
|
|
93
93
|
KekikStream/Plugins/YabanciDizi.py,sha256=aqdPLQ3Oajs32JNkgIPeqHuYgcM8K2jGHT0Ikw8Q6jY,10582
|
|
94
|
-
kekikstream-2.5.
|
|
95
|
-
kekikstream-2.5.
|
|
96
|
-
kekikstream-2.5.
|
|
97
|
-
kekikstream-2.5.
|
|
98
|
-
kekikstream-2.5.
|
|
99
|
-
kekikstream-2.5.
|
|
94
|
+
kekikstream-2.5.2.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
95
|
+
kekikstream-2.5.2.dist-info/METADATA,sha256=HrYKAjQtnk3v29idmfEAGrQW8_jPmbf_jBhy3wBi-mU,10761
|
|
96
|
+
kekikstream-2.5.2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
97
|
+
kekikstream-2.5.2.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
|
|
98
|
+
kekikstream-2.5.2.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
|
|
99
|
+
kekikstream-2.5.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|