KekikStream 1.9.2__py3-none-any.whl → 1.9.4__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.
@@ -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
- # Extractor instance'larını cache'le
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
26
+
27
+ # Instance listesi oluştur
28
+ self._extractor_instances = []
15
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,13 @@ 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
+ self._ensure_initialized()
33
51
  # Cached instance'ları kullan
34
52
  for extractor in self._extractor_instances:
35
53
  if extractor.can_handle_url(link):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: KekikStream
3
- Version: 1.9.2
3
+ Version: 1.9.4
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
@@ -92,13 +92,6 @@ pip install -U KekikStream
92
92
  KekikStream
93
93
  ```
94
94
 
95
- **Kütüphane (örnek arama):**
96
- ```python
97
- from KekikStream import Manager
98
- results = Manager().search("vikings")
99
- print(results[0].title)
100
- ```
101
-
102
95
  ---
103
96
 
104
97
  ## ✨ Özellikler
@@ -139,11 +132,11 @@ class MyPlugin(PluginBase):
139
132
 
140
133
  ### 🎬 Oynatıcı Desteği
141
134
 
142
- | Oynatıcı | Platform | Özellikler |
143
- |----------|----------|------------|
144
- | **VLC** | Desktop | Custom headers, subtitles, varsayılan |
145
- | **MPV** | Desktop | Custom headers, subtitles |
146
- | **MX Player** | Android | ADB üzerinden |
135
+ | Oynatıcı | Platform | Özellikler |
136
+ |---------------|----------|---------------------------|
137
+ | **MPV** | Desktop | Custom headers, subtitles |
138
+ | **VLC** | Desktop | Custom headers, subtitles |
139
+ | **MX Player** | Android | ADB üzerinden |
147
140
 
148
141
  > Özel durumlar için (Google Drive vb.) arka planda otomatik olarak yt-dlp devreye girer.
149
142
 
@@ -175,8 +168,8 @@ graph TB
175
168
  end
176
169
 
177
170
  subgraph Players
178
- VLC[🎥 VLC]
179
171
  MPV[🎥 MPV]
172
+ VLC[🎥 VLC]
180
173
  MX[🎥 MX Player]
181
174
  end
182
175
 
@@ -246,13 +239,13 @@ KekikStream/
246
239
 
247
240
  ## 📊 Performans
248
241
 
249
- | Metrik | Değer |
250
- |--------|-------|
251
- | Plugin Sayısı | 20+ |
252
- | Extractor Sayısı | 40+ |
242
+ | Metrik | Değer |
243
+ |----------------------|------------------|
244
+ | Plugin Sayısı | 20+ |
245
+ | Extractor Sayısı | 40+ |
253
246
  | Desteklenen Platform | Desktop, Android |
254
- | Async Arama | ✅ |
255
- | Cache Desteği | ✅ |
247
+ | Async Arama | ✅ |
248
+ | Cache Desteği | ✅ |
256
249
 
257
250
  ---
258
251
 
@@ -6,7 +6,7 @@ KekikStream/CLI/pypi_kontrol.py,sha256=q6fNs6EKJDc5VuUFig9DBzLzNPp_kMD1vOVgLElci
6
6
  KekikStream/Core/__init__.py,sha256=ar2MZQF83ryfLfydEXcfjdwNe4Too_HT6bP-D_4TopA,710
7
7
  KekikStream/Core/Extractor/ExtractorBase.py,sha256=Yj7CGvm2ZKxlvuUkZu0X1Pl0JMH250W7hyqv09duTmE,1637
8
8
  KekikStream/Core/Extractor/ExtractorLoader.py,sha256=7uxUXTAuF65KKkmbI6iRiCiUhx-IqrronB7ixhchcTU,4289
9
- KekikStream/Core/Extractor/ExtractorManager.py,sha256=HNWiaNCVQH_nztYMas2Z57BGxlEv4OAyE6TiMAUV-98,1850
9
+ KekikStream/Core/Extractor/ExtractorManager.py,sha256=MTgZJe2YJhr7fY1fAGgNI_MWLPVyLlWEkXblEz-zD6E,2467
10
10
  KekikStream/Core/Extractor/ExtractorModels.py,sha256=Qj_gbIeGRewaZXNfYkTi4FFRRq6XBOc0HS0tXGDwajI,445
11
11
  KekikStream/Core/Media/MediaHandler.py,sha256=MEn3spPAThVloN3WcoCwWhpoyMA7tAZvcwYjmjJsX3U,7678
12
12
  KekikStream/Core/Media/MediaManager.py,sha256=AaUq2D7JSJIphjoAj2fjLOJjswm7Qf5hjYCbBdrbnDU,438
@@ -78,9 +78,9 @@ KekikStream/Plugins/SinemaCX.py,sha256=DUvYa7J4a2D5ivLO_sQiaStoV5FDxmz8onJyFwAid
78
78
  KekikStream/Plugins/Sinezy.py,sha256=EttAZogKoKMP8RP_X1fSfi8vVxA2RWizwgnLkmnhERQ,5675
79
79
  KekikStream/Plugins/SuperFilmGeldi.py,sha256=Ohm21BPsJH_S1tx5i2APEgAOD25k2NiwRP7rSgAKvRs,5289
80
80
  KekikStream/Plugins/UgurFilm.py,sha256=eKGzmSi8k_QbXnYPWXZRdmCxxc32zZh4rynmdxCbm1o,4832
81
- kekikstream-1.9.2.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
82
- kekikstream-1.9.2.dist-info/METADATA,sha256=oSVDCg2TGVoevF_FSpN__QE-U8ulNJa2vsHnr-nRwrY,9035
83
- kekikstream-1.9.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
84
- kekikstream-1.9.2.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
85
- kekikstream-1.9.2.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
86
- kekikstream-1.9.2.dist-info/RECORD,,
81
+ kekikstream-1.9.4.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
82
+ kekikstream-1.9.4.dist-info/METADATA,sha256=RvKMeLPHAc7LHybDrg88zz4KhxZN1on4gh2ysJVv5fs,9079
83
+ kekikstream-1.9.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
84
+ kekikstream-1.9.4.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
85
+ kekikstream-1.9.4.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
86
+ kekikstream-1.9.4.dist-info/RECORD,,