KekikStream 2.3.2__tar.gz → 2.3.3__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 (88) hide show
  1. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/FullHDFilm.py +23 -6
  2. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream.egg-info/PKG-INFO +1 -1
  3. {kekikstream-2.3.2 → kekikstream-2.3.3}/PKG-INFO +1 -1
  4. {kekikstream-2.3.2 → kekikstream-2.3.3}/setup.py +1 -1
  5. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/CLI/__init__.py +0 -0
  6. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/CLI/pypi_kontrol.py +0 -0
  7. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Core/Extractor/ExtractorBase.py +0 -0
  8. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Core/Extractor/ExtractorLoader.py +0 -0
  9. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Core/Extractor/ExtractorManager.py +0 -0
  10. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Core/Extractor/ExtractorModels.py +0 -0
  11. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Core/Extractor/YTDLPCache.py +0 -0
  12. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Core/Media/MediaHandler.py +0 -0
  13. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Core/Media/MediaManager.py +0 -0
  14. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Core/Plugin/PluginBase.py +0 -0
  15. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Core/Plugin/PluginLoader.py +0 -0
  16. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Core/Plugin/PluginManager.py +0 -0
  17. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Core/Plugin/PluginModels.py +0 -0
  18. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Core/UI/UIManager.py +0 -0
  19. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Core/__init__.py +0 -0
  20. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/CloseLoad.py +0 -0
  21. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/ContentX.py +0 -0
  22. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/DonilasPlay.py +0 -0
  23. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/DzenRu.py +0 -0
  24. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/ExPlay.py +0 -0
  25. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/Filemoon.py +0 -0
  26. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/HDPlayerSystem.py +0 -0
  27. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/JFVid.py +0 -0
  28. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/JetTv.py +0 -0
  29. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/MailRu.py +0 -0
  30. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/MixPlayHD.py +0 -0
  31. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/MixTiger.py +0 -0
  32. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/MolyStream.py +0 -0
  33. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/Odnoklassniki.py +0 -0
  34. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/PeaceMakerst.py +0 -0
  35. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/PixelDrain.py +0 -0
  36. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/PlayerFilmIzle.py +0 -0
  37. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/RapidVid.py +0 -0
  38. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/SetPlay.py +0 -0
  39. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/SetPrime.py +0 -0
  40. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/SibNet.py +0 -0
  41. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/Sobreatsesuyp.py +0 -0
  42. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/TRsTX.py +0 -0
  43. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/TauVideo.py +0 -0
  44. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/TurboImgz.py +0 -0
  45. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/TurkeyPlayer.py +0 -0
  46. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/VCTPlay.py +0 -0
  47. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/VidHide.py +0 -0
  48. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/VidMoly.py +0 -0
  49. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/VidMoxy.py +0 -0
  50. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/VidPapi.py +0 -0
  51. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/VideoSeyred.py +0 -0
  52. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/YTDLP.py +0 -0
  53. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Extractors/YildizKisaFilm.py +0 -0
  54. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/BelgeselX.py +0 -0
  55. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/DiziBox.py +0 -0
  56. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/DiziPal.py +0 -0
  57. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/DiziYou.py +0 -0
  58. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/Dizilla.py +0 -0
  59. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/FilmBip.py +0 -0
  60. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/FilmMakinesi.py +0 -0
  61. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/FilmModu.py +0 -0
  62. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/FullHDFilmizlesene.py +0 -0
  63. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/HDFilmCehennemi.py +0 -0
  64. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/JetFilmizle.py +0 -0
  65. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/KultFilmler.py +0 -0
  66. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/RecTV.py +0 -0
  67. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/RoketDizi.py +0 -0
  68. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/SelcukFlix.py +0 -0
  69. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/SetFilmIzle.py +0 -0
  70. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/SezonlukDizi.py +0 -0
  71. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/SineWix.py +0 -0
  72. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/Sinefy.py +0 -0
  73. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/SinemaCX.py +0 -0
  74. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/Sinezy.py +0 -0
  75. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/SuperFilmGeldi.py +0 -0
  76. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/Plugins/UgurFilm.py +0 -0
  77. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/__init__.py +0 -0
  78. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/__main__.py +0 -0
  79. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream/requirements.txt +0 -0
  80. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream.egg-info/SOURCES.txt +0 -0
  81. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream.egg-info/dependency_links.txt +0 -0
  82. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream.egg-info/entry_points.txt +0 -0
  83. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream.egg-info/requires.txt +0 -0
  84. {kekikstream-2.3.2 → kekikstream-2.3.3}/KekikStream.egg-info/top_level.txt +0 -0
  85. {kekikstream-2.3.2 → kekikstream-2.3.3}/LICENSE +0 -0
  86. {kekikstream-2.3.2 → kekikstream-2.3.3}/MANIFEST.in +0 -0
  87. {kekikstream-2.3.2 → kekikstream-2.3.3}/README.md +0 -0
  88. {kekikstream-2.3.2 → kekikstream-2.3.3}/setup.cfg +0 -0
@@ -110,11 +110,23 @@ class FullHDFilm(PluginBase):
110
110
  actors_text = actors_text.replace("Oyuncular:", "").strip()
111
111
  actors = [a.strip() for a in actors_text.split(",")]
112
112
 
113
- # Year: re_first ile regex
113
+ # Year: önce div.yayin-tarihi.info dene
114
+ year = None
114
115
  year_el = secici.css_first("div.yayin-tarihi.info")
115
- year_text = year_el.text(strip=True) if year_el else ""
116
- year_match = re.search(r"(\d{4})", year_text)
117
- year = year_match.group(1) if year_match else None
116
+ if year_el:
117
+ year_text = year_el.text(strip=True)
118
+ year_match = re.search(r"(\d{4})", year_text)
119
+ if year_match:
120
+ year = year_match.group(1)
121
+
122
+ # Fallback: h1'in parent'ından (2019) formatında ara
123
+ if not year and title_el:
124
+ parent = title_el.parent
125
+ if parent:
126
+ parent_text = parent.text(strip=True)
127
+ year_match = re.search(r"\((\d{4})\)", parent_text)
128
+ if year_match:
129
+ year = year_match.group(1)
118
130
 
119
131
  tags = [a.text(strip=True) for a in secici.css("div.tur.info a") if a.text(strip=True)]
120
132
 
@@ -124,12 +136,17 @@ class FullHDFilm(PluginBase):
124
136
  rating_match = re.search(r"IMDb\s*([\d\.]+)", rating_text)
125
137
  rating = rating_match.group(1) if rating_match else None
126
138
 
127
- # Description: others div'den önceki div içindeki text
128
- # XPath yerine basit yaklaşım: özet sınıfı ile veya ilk paragraf
139
+ # Description: önce div.film dene, yoksa og:description meta tag'ını kullan
129
140
  description = None
130
141
  desc_el = secici.css_first("div.film")
131
142
  if desc_el:
132
143
  description = desc_el.text(strip=True)
144
+
145
+ # Fallback: og:description meta tag'ı
146
+ if not description:
147
+ og_desc = secici.css_first("meta[property='og:description']")
148
+ if og_desc:
149
+ description = og_desc.attrs.get("content", "")
133
150
 
134
151
  # Kotlin referansı: URL'de -dizi kontrolü veya tags içinde "dizi" kontrolü
135
152
  is_series = "-dizi" in url.lower() or any("dizi" in tag.lower() for tag in tags)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: KekikStream
3
- Version: 2.3.2
3
+ Version: 2.3.3
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: 2.3.2
3
+ Version: 2.3.3
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 = "2.3.2",
9
+ version = "2.3.3",
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