KekikStream 0.6.8__tar.gz → 0.7.0__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Core/MediaHandler.py +34 -0
  2. kekikstream-0.6.8/KekikStream/Plugins/__RecTV.py → kekikstream-0.7.0/KekikStream/Plugins/RecTV.py +4 -2
  3. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream.egg-info/PKG-INFO +13 -2
  4. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream.egg-info/SOURCES.txt +2 -2
  5. {kekikstream-0.6.8 → kekikstream-0.7.0}/PKG-INFO +13 -2
  6. {kekikstream-0.6.8 → kekikstream-0.7.0}/setup.py +1 -1
  7. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/CLI/__init__.py +0 -0
  8. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/CLI/pypi_kontrol.py +0 -0
  9. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Core/ExtractorBase.py +0 -0
  10. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Core/ExtractorLoader.py +0 -0
  11. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Core/ExtractorModels.py +0 -0
  12. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Core/PluginBase.py +0 -0
  13. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Core/PluginLoader.py +0 -0
  14. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Core/PluginModels.py +0 -0
  15. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Core/__init__.py +0 -0
  16. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/CloseLoad.py +0 -0
  17. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/ContentX.py +0 -0
  18. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/FourCX.py +0 -0
  19. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/FourPichive.py +0 -0
  20. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/FourPlayRu.py +0 -0
  21. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/HDStreamAble.py +0 -0
  22. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/Hotlinger.py +0 -0
  23. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/MailRu.py +0 -0
  24. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/MixPlayHD.py +0 -0
  25. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/Odnoklassniki.py +0 -0
  26. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/OkRuHTTP.py +0 -0
  27. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/OkRuSSL.py +0 -0
  28. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/PeaceMakerst.py +0 -0
  29. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/Pichive.py +0 -0
  30. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/PixelDrain.py +0 -0
  31. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/PlayRu.py +0 -0
  32. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/RapidVid.py +0 -0
  33. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/SibNet.py +0 -0
  34. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/Sobreatsesuyp.py +0 -0
  35. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/TRsTX.py +0 -0
  36. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/TauVideo.py +0 -0
  37. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/TurboImgz.py +0 -0
  38. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/VidMoly.py +0 -0
  39. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/VidMoxy.py +0 -0
  40. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Extractors/VideoSeyred.py +0 -0
  41. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Managers/ExtractorManager.py +0 -0
  42. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Managers/MediaManager.py +0 -0
  43. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Managers/PluginManager.py +0 -0
  44. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Managers/UIManager.py +0 -0
  45. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Managers/__init__.py +0 -0
  46. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Plugins/DiziBox.py +0 -0
  47. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Plugins/DiziYou.py +0 -0
  48. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Plugins/Dizilla.py +0 -0
  49. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Plugins/FilmMakinesi.py +0 -0
  50. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Plugins/FullHDFilmizlesene.py +0 -0
  51. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Plugins/JetFilmizle.py +0 -0
  52. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Plugins/SezonlukDizi.py +0 -0
  53. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Plugins/SineWix.py +0 -0
  54. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/Plugins/UgurFilm.py +0 -0
  55. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/__init__.py +0 -0
  56. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/__main__.py +0 -0
  57. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream/requirements.txt +0 -0
  58. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream.egg-info/dependency_links.txt +0 -0
  59. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream.egg-info/entry_points.txt +0 -0
  60. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream.egg-info/requires.txt +0 -0
  61. {kekikstream-0.6.8 → kekikstream-0.7.0}/KekikStream.egg-info/top_level.txt +0 -0
  62. {kekikstream-0.6.8 → kekikstream-0.7.0}/LICENSE +0 -0
  63. {kekikstream-0.6.8 → kekikstream-0.7.0}/MANIFEST.in +0 -0
  64. {kekikstream-0.6.8 → kekikstream-0.7.0}/README.md +0 -0
  65. {kekikstream-0.6.8 → kekikstream-0.7.0}/setup.cfg +0 -0
@@ -13,6 +13,9 @@ class MediaHandler:
13
13
  self.title = title
14
14
 
15
15
  def play_media(self, extract_data: ExtractResult):
16
+ if self.headers.get("User-Agent") == "googleusercontent":
17
+ return self.play_with_ytdlp(extract_data)
18
+
16
19
  if subprocess.check_output(['uname', '-o']).strip() == b'Android':
17
20
  return self.play_with_android_mxplayer(extract_data)
18
21
 
@@ -77,6 +80,37 @@ class MediaHandler:
77
80
  konsol.print("[red]mpv bulunamadı! mpv kurulu olduğundan emin olun.[/red]")
78
81
  konsol.print({"title": self.title, "url": extract_data.url, "headers": self.headers})
79
82
 
83
+ def play_with_ytdlp(self, extract_data: ExtractResult):
84
+ try:
85
+ ytdlp_command = ["yt-dlp", "--quiet", "--no-warnings", "--downloader", "ffmpeg", "--hls-use-mpegts"]
86
+
87
+ for key, value in self.headers.items():
88
+ ytdlp_command.extend(["--add-header", f"{key}: {value}"])
89
+
90
+ ytdlp_command.extend([
91
+ "-o", "-",
92
+ extract_data.url
93
+ ])
94
+
95
+ mpv_command = ["mpv", "--really-quiet", "-"]
96
+
97
+ if self.title:
98
+ mpv_command.append(f"--force-media-title={self.title}")
99
+
100
+ mpv_command.extend(
101
+ f"--sub-file={subtitle.url}" for subtitle in extract_data.subtitles
102
+ )
103
+
104
+ with subprocess.Popen(ytdlp_command, stdout=subprocess.PIPE) as ytdlp_proc:
105
+ subprocess.run(mpv_command, stdin=ytdlp_proc.stdout, check=True)
106
+
107
+ except subprocess.CalledProcessError as hata:
108
+ print(f"[red]Oynatma hatası: {hata}[/red]")
109
+ print({"title": self.title, "url": extract_data.url, "headers": self.headers})
110
+ except FileNotFoundError:
111
+ print("[red]yt-dlp veya mpv bulunamadı! Kurulumlarından emin olun.[/red]")
112
+ print({"title": self.title, "url": extract_data.url, "headers": self.headers})
113
+
80
114
  def play_with_android_mxplayer(self, extract_data: ExtractResult):
81
115
  paketler = [
82
116
  "com.mxtech.videoplayer.ad/.ActivityScreen", # Free sürüm
@@ -10,7 +10,7 @@ import re
10
10
 
11
11
  class RecTV(PluginBase):
12
12
  name = "RecTV"
13
- main_url = "https://m.prectv8.sbs"
13
+ main_url = "https://b.prectv14.sbs"
14
14
 
15
15
  sw_key = "4F5A9C3D9A86FA54EACEDDD635185/c3c5bd17-e37b-4b94-a944-8a3688a30452"
16
16
  http2 = AsyncClient(http2=True)
@@ -97,13 +97,15 @@ class RecTV(PluginBase):
97
97
  continue
98
98
 
99
99
  self._data[video_link] = {
100
+ "ext_name" : self.name,
100
101
  "name" : veri.get("title"),
101
102
  "referer" : "https://twitter.com/",
102
103
  "subtitles" : []
103
104
  }
104
105
  videolar.append(video_link)
105
106
 
106
- return videolar
107
+ self.media_handler.headers.update({"User-Agent": "googleusercontent"})
108
+ return videolar
107
109
 
108
110
  async def play(self, name: str, url: str, referer: str, subtitles: list[Subtitle]):
109
111
  extract_result = ExtractResult(name=name, url=url, referer=referer, subtitles=subtitles)
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: KekikStream
3
- Version: 0.6.8
3
+ Version: 0.7.0
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
@@ -21,6 +21,17 @@ Requires-Dist: cloudscraper
21
21
  Requires-Dist: parsel
22
22
  Requires-Dist: pydantic
23
23
  Requires-Dist: InquirerPy
24
+ Dynamic: author
25
+ Dynamic: author-email
26
+ Dynamic: classifier
27
+ Dynamic: description
28
+ Dynamic: description-content-type
29
+ Dynamic: home-page
30
+ Dynamic: keywords
31
+ Dynamic: license
32
+ Dynamic: requires-dist
33
+ Dynamic: requires-python
34
+ Dynamic: summary
24
35
 
25
36
  # <img src="https://github.com/keyiflerolsun/KekikStream/raw/master/.github/icons/KekikStream.png?raw=True" height="32" align="center"> KekikStream
26
37
 
@@ -57,7 +57,7 @@ KekikStream/Plugins/Dizilla.py
57
57
  KekikStream/Plugins/FilmMakinesi.py
58
58
  KekikStream/Plugins/FullHDFilmizlesene.py
59
59
  KekikStream/Plugins/JetFilmizle.py
60
+ KekikStream/Plugins/RecTV.py
60
61
  KekikStream/Plugins/SezonlukDizi.py
61
62
  KekikStream/Plugins/SineWix.py
62
- KekikStream/Plugins/UgurFilm.py
63
- KekikStream/Plugins/__RecTV.py
63
+ KekikStream/Plugins/UgurFilm.py
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: KekikStream
3
- Version: 0.6.8
3
+ Version: 0.7.0
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
@@ -21,6 +21,17 @@ Requires-Dist: cloudscraper
21
21
  Requires-Dist: parsel
22
22
  Requires-Dist: pydantic
23
23
  Requires-Dist: InquirerPy
24
+ Dynamic: author
25
+ Dynamic: author-email
26
+ Dynamic: classifier
27
+ Dynamic: description
28
+ Dynamic: description-content-type
29
+ Dynamic: home-page
30
+ Dynamic: keywords
31
+ Dynamic: license
32
+ Dynamic: requires-dist
33
+ Dynamic: requires-python
34
+ Dynamic: summary
24
35
 
25
36
  # <img src="https://github.com/keyiflerolsun/KekikStream/raw/master/.github/icons/KekikStream.png?raw=True" height="32" align="center"> KekikStream
26
37
 
@@ -6,7 +6,7 @@ from io import open
6
6
  setup(
7
7
  # ? Genel Bilgiler
8
8
  name = "KekikStream",
9
- version = "0.6.8",
9
+ version = "0.7.0",
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