KekikStream 1.7.5__tar.gz → 1.7.6__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.
Files changed (91) hide show
  1. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/__init__.py +29 -16
  2. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream.egg-info/PKG-INFO +2 -2
  3. {kekikstream-1.7.5 → kekikstream-1.7.6}/PKG-INFO +2 -2
  4. {kekikstream-1.7.5 → kekikstream-1.7.6}/setup.py +2 -2
  5. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/CLI/__init__.py +0 -0
  6. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/CLI/pypi_kontrol.py +0 -0
  7. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Core/Extractor/ExtractorBase.py +0 -0
  8. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Core/Extractor/ExtractorLoader.py +0 -0
  9. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Core/Extractor/ExtractorManager.py +0 -0
  10. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Core/Extractor/ExtractorModels.py +0 -0
  11. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Core/Media/MediaHandler.py +0 -0
  12. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Core/Media/MediaManager.py +0 -0
  13. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Core/Plugin/PluginBase.py +0 -0
  14. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Core/Plugin/PluginLoader.py +0 -0
  15. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Core/Plugin/PluginManager.py +0 -0
  16. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Core/Plugin/PluginModels.py +0 -0
  17. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Core/UI/UIManager.py +0 -0
  18. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Core/__init__.py +0 -0
  19. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/CloseLoad.py +0 -0
  20. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/ContentX.py +0 -0
  21. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/DzenRu.py +0 -0
  22. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/ExPlay.py +0 -0
  23. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/FirePlayer.py +0 -0
  24. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/FourCX.py +0 -0
  25. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/FourPichive.py +0 -0
  26. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/FourPlayRu.py +0 -0
  27. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/HDPlayerSystem.py +0 -0
  28. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/HDStreamAble.py +0 -0
  29. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/Hotlinger.py +0 -0
  30. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/JetTv.py +0 -0
  31. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/MailRu.py +0 -0
  32. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/MixPlayHD.py +0 -0
  33. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/MixTiger.py +0 -0
  34. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/MolyStream.py +0 -0
  35. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/Odnoklassniki.py +0 -0
  36. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/OkRuHTTP.py +0 -0
  37. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/OkRuSSL.py +0 -0
  38. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/PeaceMakerst.py +0 -0
  39. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/Pichive.py +0 -0
  40. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/PixelDrain.py +0 -0
  41. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/PlayRu.py +0 -0
  42. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/PlayerFilmIzle.py +0 -0
  43. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/RapidVid.py +0 -0
  44. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/SetPlay.py +0 -0
  45. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/SetPrime.py +0 -0
  46. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/SibNet.py +0 -0
  47. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/Sobreatsesuyp.py +0 -0
  48. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/TRsTX.py +0 -0
  49. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/TauVideo.py +0 -0
  50. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/TurboImgz.py +0 -0
  51. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/TurkeyPlayer.py +0 -0
  52. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/VidHide.py +0 -0
  53. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/VidMoly.py +0 -0
  54. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/VidMolyMe.py +0 -0
  55. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/VidMoxy.py +0 -0
  56. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/VidPapi.py +0 -0
  57. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/VideoSeyred.py +0 -0
  58. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Extractors/YildizKisaFilm.py +0 -0
  59. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/DiziBox.py +0 -0
  60. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/DiziPal.py +0 -0
  61. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/DiziYou.py +0 -0
  62. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/Dizilla.py +0 -0
  63. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/FilmBip.py +0 -0
  64. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/FilmMakinesi.py +0 -0
  65. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/FilmModu.py +0 -0
  66. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/FullHDFilm.py +0 -0
  67. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/FullHDFilmizlesene.py +0 -0
  68. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/HDFilmCehennemi.py +0 -0
  69. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/JetFilmizle.py +0 -0
  70. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/KultFilmler.py +0 -0
  71. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/RecTV.py +0 -0
  72. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/RoketDizi.py +0 -0
  73. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/SelcukFlix.py +0 -0
  74. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/SezonlukDizi.py +0 -0
  75. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/SineWix.py +0 -0
  76. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/Sinefy.py +0 -0
  77. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/SinemaCX.py +0 -0
  78. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/Sinezy.py +0 -0
  79. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/SuperFilmGeldi.py +0 -0
  80. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/Plugins/UgurFilm.py +0 -0
  81. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/__main__.py +0 -0
  82. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream/requirements.txt +0 -0
  83. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream.egg-info/SOURCES.txt +0 -0
  84. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream.egg-info/dependency_links.txt +0 -0
  85. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream.egg-info/entry_points.txt +0 -0
  86. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream.egg-info/requires.txt +0 -0
  87. {kekikstream-1.7.5 → kekikstream-1.7.6}/KekikStream.egg-info/top_level.txt +0 -0
  88. {kekikstream-1.7.5 → kekikstream-1.7.6}/LICENSE +0 -0
  89. {kekikstream-1.7.5 → kekikstream-1.7.6}/MANIFEST.in +0 -0
  90. {kekikstream-1.7.5 → kekikstream-1.7.6}/README.md +0 -0
  91. {kekikstream-1.7.5 → kekikstream-1.7.6}/setup.cfg +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  from .CLI import konsol, cikis_yap, hata_yakala, pypi_kontrol_guncelle
4
4
  from .Core import PluginManager, ExtractorManager, UIManager, MediaManager, PluginBase, ExtractorBase, SeriesInfo
5
- from asyncio import run
5
+ from asyncio import run, TaskGroup, Semaphore
6
6
  from contextlib import suppress
7
7
 
8
8
  class KekikStream:
@@ -90,21 +90,34 @@ class KekikStream:
90
90
 
91
91
  query = await self.ui.prompt_text("Arama sorgusu:")
92
92
  all_results = []
93
-
94
- for name, plugin in self.plugin.plugins.items():
95
- if not isinstance(plugin, PluginBase) or name == "Shorten":
96
- continue
97
-
98
- konsol.log(f"[yellow][~] {name:<19} aranıyor...[/]")
99
- try:
100
- results = await plugin.search(query)
101
- if results:
102
- all_results.extend([
103
- {"plugin": name, "title": r.title, "url": r.url, "poster": r.poster}
104
- for r in results
105
- ])
106
- except Exception as e:
107
- konsol.print(f"[bold red]{name} hatası: {e}[/bold red]")
93
+
94
+ # Maksimum 5 eşzamanlı arama için semaphore
95
+ semaphore = Semaphore(5)
96
+
97
+ async def search_plugin(name: str, plugin: PluginBase):
98
+ """Tek bir plugin'de ara (semaphore ile sınırlandırılmış)"""
99
+ async with semaphore:
100
+ konsol.log(f"[yellow][~] {name:<19} aranıyor...[/]")
101
+ try:
102
+ results = await plugin.search(query)
103
+ if results:
104
+ return [
105
+ {"plugin": name, "title": r.title, "url": r.url, "poster": r.poster}
106
+ for r in results
107
+ ]
108
+ except Exception as e:
109
+ konsol.print(f"[bold red]{name} hatası: {e}[/bold red]")
110
+ return []
111
+
112
+ # Tüm plugin'leri paralel olarak ara
113
+ async with TaskGroup() as tg:
114
+ tasks = []
115
+ for name, plugin in self.plugin.plugins.items():
116
+ tasks.append(tg.create_task(search_plugin(name, plugin)))
117
+
118
+ # Sonuçları topla
119
+ for task in tasks:
120
+ all_results.extend(task.result())
108
121
 
109
122
  if not all_results:
110
123
  return await self.handle_no_results()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: KekikStream
3
- Version: 1.7.5
3
+ Version: 1.7.6
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
@@ -10,7 +10,7 @@ Keywords: KekikStream,KekikAkademi,keyiflerolsun
10
10
  Classifier: Development Status :: 5 - Production/Stable
11
11
  Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
12
12
  Classifier: Programming Language :: Python :: 3
13
- Requires-Python: >=3.10
13
+ Requires-Python: >=3.11
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: LICENSE
16
16
  Requires-Dist: setuptools
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: KekikStream
3
- Version: 1.7.5
3
+ Version: 1.7.6
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
@@ -10,7 +10,7 @@ Keywords: KekikStream,KekikAkademi,keyiflerolsun
10
10
  Classifier: Development Status :: 5 - Production/Stable
11
11
  Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
12
12
  Classifier: Programming Language :: Python :: 3
13
- Requires-Python: >=3.10
13
+ Requires-Python: >=3.11
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: LICENSE
16
16
  Requires-Dist: setuptools
@@ -6,7 +6,7 @@ from io import open
6
6
  setup(
7
7
  # ? Genel Bilgiler
8
8
  name = "KekikStream",
9
- version = "1.7.5",
9
+ version = "1.7.6",
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"],
@@ -23,7 +23,7 @@ setup(
23
23
 
24
24
  # ? Paket Bilgileri
25
25
  packages = ["KekikStream"],
26
- python_requires = ">=3.10",
26
+ python_requires = ">=3.11",
27
27
  install_requires = [
28
28
  "setuptools",
29
29
  "wheel",
File without changes
File without changes
File without changes
File without changes