KekikStream 1.9.3__tar.gz → 1.9.5__tar.gz
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-1.9.3 → kekikstream-1.9.5}/KekikStream/Core/Extractor/ExtractorManager.py +26 -3
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream.egg-info/PKG-INFO +1 -1
- {kekikstream-1.9.3 → kekikstream-1.9.5}/PKG-INFO +1 -1
- {kekikstream-1.9.3 → kekikstream-1.9.5}/setup.py +1 -1
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/CLI/__init__.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/CLI/pypi_kontrol.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Core/Extractor/ExtractorBase.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Core/Extractor/ExtractorLoader.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Core/Extractor/ExtractorModels.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Core/Media/MediaHandler.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Core/Media/MediaManager.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Core/Plugin/PluginBase.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Core/Plugin/PluginLoader.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Core/Plugin/PluginManager.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Core/Plugin/PluginModels.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Core/UI/UIManager.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Core/__init__.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/CloseLoad.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/ContentX.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/DzenRu.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/ExPlay.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/FirePlayer.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/FourCX.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/FourPichive.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/FourPlayRu.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/HDPlayerSystem.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/HDStreamAble.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/Hotlinger.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/JetTv.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/MailRu.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/MixPlayHD.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/MixTiger.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/MolyStream.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/Odnoklassniki.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/OkRuHTTP.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/OkRuSSL.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/PeaceMakerst.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/Pichive.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/PixelDrain.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/PlayRu.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/PlayerFilmIzle.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/RapidVid.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/SetPlay.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/SetPrime.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/SibNet.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/Sobreatsesuyp.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/TRsTX.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/TauVideo.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/TurboImgz.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/TurkeyPlayer.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/VidHide.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/VidMoly.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/VidMolyMe.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/VidMoxy.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/VidPapi.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/VideoSeyred.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/YTDLP.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Extractors/YildizKisaFilm.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/DiziBox.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/DiziPal.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/DiziYou.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/Dizilla.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/FilmBip.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/FilmMakinesi.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/FilmModu.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/FullHDFilm.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/FullHDFilmizlesene.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/HDFilmCehennemi.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/JetFilmizle.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/KultFilmler.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/RecTV.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/RoketDizi.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/SelcukFlix.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/SezonlukDizi.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/SineWix.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/Sinefy.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/SinemaCX.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/Sinezy.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/SuperFilmGeldi.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/Plugins/UgurFilm.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/__init__.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/__main__.py +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream/requirements.txt +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream.egg-info/SOURCES.txt +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream.egg-info/dependency_links.txt +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream.egg-info/entry_points.txt +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream.egg-info/requires.txt +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/KekikStream.egg-info/top_level.txt +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/LICENSE +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/MANIFEST.in +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/README.md +0 -0
- {kekikstream-1.9.3 → kekikstream-1.9.5}/setup.cfg +0 -0
|
@@ -7,12 +7,27 @@ class ExtractorManager:
|
|
|
7
7
|
def __init__(self, extractor_dir="Extractors"):
|
|
8
8
|
# Çıkarıcı yükleyiciyi başlat ve tüm çıkarıcıları yükle
|
|
9
9
|
self.extractor_loader = ExtractorLoader(extractor_dir)
|
|
10
|
-
self.extractors = self.extractor_loader.load_all()
|
|
10
|
+
self.extractors = self.extractor_loader.load_all() # Sadece class'lar
|
|
11
11
|
|
|
12
|
-
#
|
|
13
|
-
self._extractor_instances =
|
|
12
|
+
# Lazy loading: Instance'lar ilk kullanımda oluşturulacak
|
|
13
|
+
self._extractor_instances = None # None = henüz oluşturulmadı
|
|
14
14
|
self._ytdlp_extractor = None
|
|
15
|
+
self._initialized = False
|
|
16
|
+
|
|
17
|
+
def _ensure_initialized(self):
|
|
18
|
+
"""
|
|
19
|
+
Lazy initialization: İlk kullanımda TÜM extractorları initialize et
|
|
20
|
+
|
|
21
|
+
Startup'ta sadece class'ları yükledik (hızlı).
|
|
22
|
+
Şimdi instance'ları oluştur ve cache'le (bir kere).
|
|
23
|
+
"""
|
|
24
|
+
if self._initialized:
|
|
25
|
+
return
|
|
15
26
|
|
|
27
|
+
# Instance listesi oluştur
|
|
28
|
+
self._extractor_instances = []
|
|
29
|
+
|
|
30
|
+
# TÜM extractorları instance'la
|
|
16
31
|
for extractor_cls in self.extractors:
|
|
17
32
|
instance = extractor_cls()
|
|
18
33
|
|
|
@@ -26,10 +41,15 @@ class ExtractorManager:
|
|
|
26
41
|
if self._ytdlp_extractor:
|
|
27
42
|
self._extractor_instances.insert(0, self._ytdlp_extractor)
|
|
28
43
|
|
|
44
|
+
self._initialized = True
|
|
45
|
+
|
|
29
46
|
def find_extractor(self, link) -> ExtractorBase:
|
|
30
47
|
"""
|
|
31
48
|
Verilen bağlantıyı işleyebilecek çıkarıcıyı bul
|
|
32
49
|
"""
|
|
50
|
+
# Lazy loading: İlk kullanımda extractorları initialize et
|
|
51
|
+
self._ensure_initialized()
|
|
52
|
+
|
|
33
53
|
# Cached instance'ları kullan
|
|
34
54
|
for extractor in self._extractor_instances:
|
|
35
55
|
if extractor.can_handle_url(link):
|
|
@@ -41,6 +61,9 @@ class ExtractorManager:
|
|
|
41
61
|
"""
|
|
42
62
|
Bağlantıları uygun çıkarıcılarla eşleştir
|
|
43
63
|
"""
|
|
64
|
+
# Lazy loading: İlk kullanımda extractorları initialize et
|
|
65
|
+
self._ensure_initialized()
|
|
66
|
+
|
|
44
67
|
mapping = {}
|
|
45
68
|
for link in links:
|
|
46
69
|
# Cached instance'ları kullan
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: KekikStream
|
|
3
|
-
Version: 1.9.
|
|
3
|
+
Version: 1.9.5
|
|
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,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: KekikStream
|
|
3
|
-
Version: 1.9.
|
|
3
|
+
Version: 1.9.5
|
|
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,7 +6,7 @@ from io import open
|
|
|
6
6
|
setup(
|
|
7
7
|
# ? Genel Bilgiler
|
|
8
8
|
name = "KekikStream",
|
|
9
|
-
version = "1.9.
|
|
9
|
+
version = "1.9.5",
|
|
10
10
|
url = "https://github.com/keyiflerolsun/KekikStream",
|
|
11
11
|
description = "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ı",
|
|
12
12
|
keywords = ["KekikStream", "KekikAkademi", "keyiflerolsun"],
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|