StreamingCommunity 2.5.2__py3-none-any.whl → 2.5.5__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.

Potentially problematic release.


This version of StreamingCommunity might be problematic. Click here for more details.

Files changed (268) hide show
  1. StreamingCommunity/Api/Player/Helper/Vixcloud/js_parser.py +143 -143
  2. StreamingCommunity/Api/Player/Helper/Vixcloud/util.py +136 -136
  3. StreamingCommunity/Api/Player/ddl.py +89 -89
  4. StreamingCommunity/Api/Player/maxstream.py +151 -151
  5. StreamingCommunity/Api/Player/supervideo.py +193 -193
  6. StreamingCommunity/Api/Player/vixcloud.py +272 -272
  7. StreamingCommunity/Api/Site/1337xx/__init__.py +51 -50
  8. StreamingCommunity/Api/Site/1337xx/costant.py +14 -14
  9. StreamingCommunity/Api/Site/1337xx/site.py +87 -89
  10. StreamingCommunity/Api/Site/1337xx/title.py +63 -64
  11. StreamingCommunity/Api/Site/altadefinizionegratis/__init__.py +74 -50
  12. StreamingCommunity/Api/Site/altadefinizionegratis/costant.py +21 -19
  13. StreamingCommunity/Api/Site/altadefinizionegratis/film.py +81 -72
  14. StreamingCommunity/Api/Site/altadefinizionegratis/site.py +116 -94
  15. StreamingCommunity/Api/Site/animeunity/__init__.py +75 -50
  16. StreamingCommunity/Api/Site/animeunity/costant.py +21 -19
  17. StreamingCommunity/Api/Site/animeunity/film_serie.py +171 -134
  18. StreamingCommunity/Api/Site/animeunity/site.py +191 -174
  19. StreamingCommunity/Api/Site/animeunity/util/ScrapeSerie.py +97 -97
  20. StreamingCommunity/Api/Site/cb01new/__init__.py +51 -51
  21. StreamingCommunity/Api/Site/cb01new/costant.py +19 -19
  22. StreamingCommunity/Api/Site/cb01new/film.py +61 -71
  23. StreamingCommunity/Api/Site/cb01new/site.py +82 -82
  24. StreamingCommunity/Api/Site/ddlstreamitaly/__init__.py +55 -55
  25. StreamingCommunity/Api/Site/ddlstreamitaly/costant.py +20 -20
  26. StreamingCommunity/Api/Site/ddlstreamitaly/series.py +149 -145
  27. StreamingCommunity/Api/Site/ddlstreamitaly/site.py +98 -98
  28. StreamingCommunity/Api/Site/ddlstreamitaly/util/ScrapeSerie.py +84 -84
  29. StreamingCommunity/Api/Site/guardaserie/__init__.py +50 -50
  30. StreamingCommunity/Api/Site/guardaserie/costant.py +19 -19
  31. StreamingCommunity/Api/Site/guardaserie/series.py +199 -198
  32. StreamingCommunity/Api/Site/guardaserie/site.py +89 -89
  33. StreamingCommunity/Api/Site/guardaserie/util/ScrapeSerie.py +110 -110
  34. StreamingCommunity/Api/Site/ilcorsaronero/__init__.py +51 -51
  35. StreamingCommunity/Api/Site/ilcorsaronero/costant.py +18 -18
  36. StreamingCommunity/Api/Site/ilcorsaronero/site.py +71 -71
  37. StreamingCommunity/Api/Site/ilcorsaronero/title.py +44 -44
  38. StreamingCommunity/Api/Site/ilcorsaronero/util/ilCorsarScraper.py +149 -149
  39. StreamingCommunity/Api/Site/mostraguarda/__init__.py +48 -48
  40. StreamingCommunity/Api/Site/mostraguarda/costant.py +18 -18
  41. StreamingCommunity/Api/Site/mostraguarda/film.py +90 -101
  42. StreamingCommunity/Api/Site/streamingcommunity/__init__.py +79 -55
  43. StreamingCommunity/Api/Site/streamingcommunity/costant.py +21 -19
  44. StreamingCommunity/Api/Site/streamingcommunity/film.py +86 -75
  45. StreamingCommunity/Api/Site/streamingcommunity/series.py +259 -207
  46. StreamingCommunity/Api/Site/streamingcommunity/site.py +156 -142
  47. StreamingCommunity/Api/Site/streamingcommunity/util/ScrapeSerie.py +124 -124
  48. StreamingCommunity/Api/Template/Class/SearchType.py +101 -101
  49. StreamingCommunity/Api/Template/Util/__init__.py +4 -4
  50. StreamingCommunity/Api/Template/Util/get_domain.py +201 -201
  51. StreamingCommunity/Api/Template/Util/manage_ep.py +178 -178
  52. StreamingCommunity/Api/Template/Util/recall_search.py +37 -37
  53. StreamingCommunity/Api/Template/__init__.py +2 -2
  54. StreamingCommunity/Api/Template/site.py +87 -87
  55. StreamingCommunity/Lib/Downloader/HLS/downloader.py +529 -1008
  56. StreamingCommunity/Lib/Downloader/HLS/proxyes.py +110 -110
  57. StreamingCommunity/Lib/Downloader/HLS/segments.py +446 -573
  58. StreamingCommunity/Lib/Downloader/MP4/downloader.py +181 -155
  59. StreamingCommunity/Lib/Downloader/TOR/downloader.py +297 -295
  60. StreamingCommunity/Lib/Downloader/__init__.py +4 -4
  61. StreamingCommunity/Lib/FFmpeg/__init__.py +4 -4
  62. StreamingCommunity/Lib/FFmpeg/capture.py +170 -170
  63. StreamingCommunity/Lib/FFmpeg/command.py +264 -296
  64. StreamingCommunity/Lib/FFmpeg/util.py +248 -248
  65. StreamingCommunity/Lib/M3U8/__init__.py +5 -5
  66. StreamingCommunity/Lib/M3U8/decryptor.py +164 -164
  67. StreamingCommunity/Lib/M3U8/estimator.py +146 -228
  68. StreamingCommunity/Lib/M3U8/parser.py +666 -666
  69. StreamingCommunity/Lib/M3U8/url_fixer.py +57 -57
  70. StreamingCommunity/Lib/TMBD/__init__.py +1 -1
  71. StreamingCommunity/Lib/TMBD/obj_tmbd.py +39 -39
  72. StreamingCommunity/Lib/TMBD/tmdb.py +345 -345
  73. StreamingCommunity/TelegramHelp/__init__.py +0 -0
  74. StreamingCommunity/TelegramHelp/request_manager.py +82 -0
  75. StreamingCommunity/TelegramHelp/session.py +56 -0
  76. StreamingCommunity/TelegramHelp/telegram_bot.py +561 -0
  77. StreamingCommunity/Upload/update.py +75 -67
  78. StreamingCommunity/Upload/version.py +5 -5
  79. StreamingCommunity/Util/_jsonConfig.py +227 -228
  80. StreamingCommunity/Util/call_stack.py +42 -42
  81. StreamingCommunity/Util/color.py +20 -20
  82. StreamingCommunity/Util/console.py +12 -12
  83. StreamingCommunity/Util/ffmpeg_installer.py +342 -370
  84. StreamingCommunity/Util/headers.py +159 -159
  85. StreamingCommunity/Util/logger.py +61 -61
  86. StreamingCommunity/Util/message.py +36 -64
  87. StreamingCommunity/Util/os.py +500 -507
  88. StreamingCommunity/Util/table.py +271 -228
  89. StreamingCommunity/run.py +352 -245
  90. {StreamingCommunity-2.5.2.dist-info → StreamingCommunity-2.5.5.dist-info}/LICENSE +674 -674
  91. {StreamingCommunity-2.5.2.dist-info → StreamingCommunity-2.5.5.dist-info}/METADATA +601 -543
  92. StreamingCommunity-2.5.5.dist-info/RECORD +96 -0
  93. {StreamingCommunity-2.5.2.dist-info → StreamingCommunity-2.5.5.dist-info}/entry_points.txt +0 -1
  94. StreamingCommunity/Api/Player/Helper/Vixcloud/__pycache__/js_parser.cpython-313.pyc +0 -0
  95. StreamingCommunity/Api/Player/Helper/Vixcloud/__pycache__/js_parser.cpython-39.pyc +0 -0
  96. StreamingCommunity/Api/Player/Helper/Vixcloud/__pycache__/util.cpython-313.pyc +0 -0
  97. StreamingCommunity/Api/Player/Helper/Vixcloud/__pycache__/util.cpython-39.pyc +0 -0
  98. StreamingCommunity/Api/Player/__pycache__/ddl.cpython-313.pyc +0 -0
  99. StreamingCommunity/Api/Player/__pycache__/ddl.cpython-39.pyc +0 -0
  100. StreamingCommunity/Api/Player/__pycache__/maxstream.cpython-313.pyc +0 -0
  101. StreamingCommunity/Api/Player/__pycache__/maxstream.cpython-39.pyc +0 -0
  102. StreamingCommunity/Api/Player/__pycache__/supervideo.cpython-313.pyc +0 -0
  103. StreamingCommunity/Api/Player/__pycache__/supervideo.cpython-39.pyc +0 -0
  104. StreamingCommunity/Api/Player/__pycache__/vixcloud.cpython-313.pyc +0 -0
  105. StreamingCommunity/Api/Player/__pycache__/vixcloud.cpython-39.pyc +0 -0
  106. StreamingCommunity/Api/Site/1337xx/__pycache__/__init__.cpython-313.pyc +0 -0
  107. StreamingCommunity/Api/Site/1337xx/__pycache__/__init__.cpython-39.pyc +0 -0
  108. StreamingCommunity/Api/Site/1337xx/__pycache__/costant.cpython-313.pyc +0 -0
  109. StreamingCommunity/Api/Site/1337xx/__pycache__/costant.cpython-39.pyc +0 -0
  110. StreamingCommunity/Api/Site/1337xx/__pycache__/site.cpython-313.pyc +0 -0
  111. StreamingCommunity/Api/Site/1337xx/__pycache__/site.cpython-39.pyc +0 -0
  112. StreamingCommunity/Api/Site/1337xx/__pycache__/title.cpython-313.pyc +0 -0
  113. StreamingCommunity/Api/Site/1337xx/__pycache__/title.cpython-39.pyc +0 -0
  114. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/__init__.cpython-313.pyc +0 -0
  115. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/__init__.cpython-39.pyc +0 -0
  116. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/costant.cpython-313.pyc +0 -0
  117. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/costant.cpython-39.pyc +0 -0
  118. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/film.cpython-313.pyc +0 -0
  119. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/film.cpython-39.pyc +0 -0
  120. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/site.cpython-313.pyc +0 -0
  121. StreamingCommunity/Api/Site/altadefinizionegratis/__pycache__/site.cpython-39.pyc +0 -0
  122. StreamingCommunity/Api/Site/animeunity/__pycache__/__init__.cpython-313.pyc +0 -0
  123. StreamingCommunity/Api/Site/animeunity/__pycache__/__init__.cpython-39.pyc +0 -0
  124. StreamingCommunity/Api/Site/animeunity/__pycache__/costant.cpython-313.pyc +0 -0
  125. StreamingCommunity/Api/Site/animeunity/__pycache__/costant.cpython-39.pyc +0 -0
  126. StreamingCommunity/Api/Site/animeunity/__pycache__/film_serie.cpython-313.pyc +0 -0
  127. StreamingCommunity/Api/Site/animeunity/__pycache__/film_serie.cpython-39.pyc +0 -0
  128. StreamingCommunity/Api/Site/animeunity/__pycache__/site.cpython-313.pyc +0 -0
  129. StreamingCommunity/Api/Site/animeunity/__pycache__/site.cpython-39.pyc +0 -0
  130. StreamingCommunity/Api/Site/animeunity/util/__pycache__/ScrapeSerie.cpython-313.pyc +0 -0
  131. StreamingCommunity/Api/Site/animeunity/util/__pycache__/ScrapeSerie.cpython-39.pyc +0 -0
  132. StreamingCommunity/Api/Site/cb01new/__pycache__/__init__.cpython-313.pyc +0 -0
  133. StreamingCommunity/Api/Site/cb01new/__pycache__/__init__.cpython-39.pyc +0 -0
  134. StreamingCommunity/Api/Site/cb01new/__pycache__/costant.cpython-313.pyc +0 -0
  135. StreamingCommunity/Api/Site/cb01new/__pycache__/costant.cpython-39.pyc +0 -0
  136. StreamingCommunity/Api/Site/cb01new/__pycache__/film.cpython-313.pyc +0 -0
  137. StreamingCommunity/Api/Site/cb01new/__pycache__/film.cpython-39.pyc +0 -0
  138. StreamingCommunity/Api/Site/cb01new/__pycache__/site.cpython-313.pyc +0 -0
  139. StreamingCommunity/Api/Site/cb01new/__pycache__/site.cpython-39.pyc +0 -0
  140. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/__init__.cpython-313.pyc +0 -0
  141. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/__init__.cpython-39.pyc +0 -0
  142. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/costant.cpython-313.pyc +0 -0
  143. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/costant.cpython-39.pyc +0 -0
  144. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/series.cpython-313.pyc +0 -0
  145. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/series.cpython-39.pyc +0 -0
  146. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/site.cpython-313.pyc +0 -0
  147. StreamingCommunity/Api/Site/ddlstreamitaly/__pycache__/site.cpython-39.pyc +0 -0
  148. StreamingCommunity/Api/Site/ddlstreamitaly/util/__pycache__/ScrapeSerie.cpython-313.pyc +0 -0
  149. StreamingCommunity/Api/Site/ddlstreamitaly/util/__pycache__/ScrapeSerie.cpython-39.pyc +0 -0
  150. StreamingCommunity/Api/Site/guardaserie/__pycache__/__init__.cpython-313.pyc +0 -0
  151. StreamingCommunity/Api/Site/guardaserie/__pycache__/__init__.cpython-39.pyc +0 -0
  152. StreamingCommunity/Api/Site/guardaserie/__pycache__/costant.cpython-313.pyc +0 -0
  153. StreamingCommunity/Api/Site/guardaserie/__pycache__/costant.cpython-39.pyc +0 -0
  154. StreamingCommunity/Api/Site/guardaserie/__pycache__/series.cpython-313.pyc +0 -0
  155. StreamingCommunity/Api/Site/guardaserie/__pycache__/series.cpython-39.pyc +0 -0
  156. StreamingCommunity/Api/Site/guardaserie/__pycache__/site.cpython-313.pyc +0 -0
  157. StreamingCommunity/Api/Site/guardaserie/__pycache__/site.cpython-39.pyc +0 -0
  158. StreamingCommunity/Api/Site/guardaserie/util/__pycache__/ScrapeSerie.cpython-313.pyc +0 -0
  159. StreamingCommunity/Api/Site/guardaserie/util/__pycache__/ScrapeSerie.cpython-39.pyc +0 -0
  160. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/__init__.cpython-313.pyc +0 -0
  161. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/__init__.cpython-39.pyc +0 -0
  162. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/costant.cpython-313.pyc +0 -0
  163. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/costant.cpython-39.pyc +0 -0
  164. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/site.cpython-313.pyc +0 -0
  165. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/site.cpython-39.pyc +0 -0
  166. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/title.cpython-313.pyc +0 -0
  167. StreamingCommunity/Api/Site/ilcorsaronero/__pycache__/title.cpython-39.pyc +0 -0
  168. StreamingCommunity/Api/Site/ilcorsaronero/util/__pycache__/ilCorsarScraper.cpython-313.pyc +0 -0
  169. StreamingCommunity/Api/Site/ilcorsaronero/util/__pycache__/ilCorsarScraper.cpython-39.pyc +0 -0
  170. StreamingCommunity/Api/Site/mostraguarda/__pycache__/__init__.cpython-313.pyc +0 -0
  171. StreamingCommunity/Api/Site/mostraguarda/__pycache__/__init__.cpython-39.pyc +0 -0
  172. StreamingCommunity/Api/Site/mostraguarda/__pycache__/costant.cpython-313.pyc +0 -0
  173. StreamingCommunity/Api/Site/mostraguarda/__pycache__/costant.cpython-39.pyc +0 -0
  174. StreamingCommunity/Api/Site/mostraguarda/__pycache__/film.cpython-313.pyc +0 -0
  175. StreamingCommunity/Api/Site/mostraguarda/__pycache__/film.cpython-39.pyc +0 -0
  176. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/__init__.cpython-313.pyc +0 -0
  177. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/__init__.cpython-39.pyc +0 -0
  178. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/costant.cpython-313.pyc +0 -0
  179. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/costant.cpython-39.pyc +0 -0
  180. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/film.cpython-313.pyc +0 -0
  181. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/film.cpython-39.pyc +0 -0
  182. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/series.cpython-313.pyc +0 -0
  183. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/series.cpython-39.pyc +0 -0
  184. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/site.cpython-313.pyc +0 -0
  185. StreamingCommunity/Api/Site/streamingcommunity/__pycache__/site.cpython-39.pyc +0 -0
  186. StreamingCommunity/Api/Site/streamingcommunity/util/__pycache__/ScrapeSerie.cpython-313.pyc +0 -0
  187. StreamingCommunity/Api/Site/streamingcommunity/util/__pycache__/ScrapeSerie.cpython-39.pyc +0 -0
  188. StreamingCommunity/Api/Template/Class/__pycache__/SearchType.cpython-313.pyc +0 -0
  189. StreamingCommunity/Api/Template/Class/__pycache__/SearchType.cpython-39.pyc +0 -0
  190. StreamingCommunity/Api/Template/Util/__pycache__/__init__.cpython-313.pyc +0 -0
  191. StreamingCommunity/Api/Template/Util/__pycache__/__init__.cpython-39.pyc +0 -0
  192. StreamingCommunity/Api/Template/Util/__pycache__/get_domain.cpython-313.pyc +0 -0
  193. StreamingCommunity/Api/Template/Util/__pycache__/get_domain.cpython-39.pyc +0 -0
  194. StreamingCommunity/Api/Template/Util/__pycache__/manage_ep.cpython-313.pyc +0 -0
  195. StreamingCommunity/Api/Template/Util/__pycache__/manage_ep.cpython-39.pyc +0 -0
  196. StreamingCommunity/Api/Template/Util/__pycache__/recall_search.cpython-313.pyc +0 -0
  197. StreamingCommunity/Api/Template/Util/__pycache__/recall_search.cpython-39.pyc +0 -0
  198. StreamingCommunity/Api/Template/__pycache__/__init__.cpython-313.pyc +0 -0
  199. StreamingCommunity/Api/Template/__pycache__/__init__.cpython-39.pyc +0 -0
  200. StreamingCommunity/Api/Template/__pycache__/site.cpython-313.pyc +0 -0
  201. StreamingCommunity/Api/Template/__pycache__/site.cpython-39.pyc +0 -0
  202. StreamingCommunity/Lib/Downloader/HLS/__pycache__/downloader.cpython-313.pyc +0 -0
  203. StreamingCommunity/Lib/Downloader/HLS/__pycache__/downloader.cpython-39.pyc +0 -0
  204. StreamingCommunity/Lib/Downloader/HLS/__pycache__/proxyes.cpython-313.pyc +0 -0
  205. StreamingCommunity/Lib/Downloader/HLS/__pycache__/proxyes.cpython-39.pyc +0 -0
  206. StreamingCommunity/Lib/Downloader/HLS/__pycache__/segments.cpython-313.pyc +0 -0
  207. StreamingCommunity/Lib/Downloader/HLS/__pycache__/segments.cpython-39.pyc +0 -0
  208. StreamingCommunity/Lib/Downloader/MP4/__pycache__/downloader.cpython-313.pyc +0 -0
  209. StreamingCommunity/Lib/Downloader/MP4/__pycache__/downloader.cpython-39.pyc +0 -0
  210. StreamingCommunity/Lib/Downloader/TOR/__pycache__/downloader.cpython-313.pyc +0 -0
  211. StreamingCommunity/Lib/Downloader/TOR/__pycache__/downloader.cpython-39.pyc +0 -0
  212. StreamingCommunity/Lib/Downloader/__pycache__/__init__.cpython-313.pyc +0 -0
  213. StreamingCommunity/Lib/Downloader/__pycache__/__init__.cpython-39.pyc +0 -0
  214. StreamingCommunity/Lib/FFmpeg/__pycache__/__init__.cpython-313.pyc +0 -0
  215. StreamingCommunity/Lib/FFmpeg/__pycache__/__init__.cpython-39.pyc +0 -0
  216. StreamingCommunity/Lib/FFmpeg/__pycache__/capture.cpython-313.pyc +0 -0
  217. StreamingCommunity/Lib/FFmpeg/__pycache__/capture.cpython-39.pyc +0 -0
  218. StreamingCommunity/Lib/FFmpeg/__pycache__/command.cpython-313.pyc +0 -0
  219. StreamingCommunity/Lib/FFmpeg/__pycache__/command.cpython-39.pyc +0 -0
  220. StreamingCommunity/Lib/FFmpeg/__pycache__/util.cpython-313.pyc +0 -0
  221. StreamingCommunity/Lib/FFmpeg/__pycache__/util.cpython-39.pyc +0 -0
  222. StreamingCommunity/Lib/M3U8/__pycache__/__init__.cpython-313.pyc +0 -0
  223. StreamingCommunity/Lib/M3U8/__pycache__/__init__.cpython-39.pyc +0 -0
  224. StreamingCommunity/Lib/M3U8/__pycache__/decryptor.cpython-313.pyc +0 -0
  225. StreamingCommunity/Lib/M3U8/__pycache__/decryptor.cpython-39.pyc +0 -0
  226. StreamingCommunity/Lib/M3U8/__pycache__/estimator.cpython-313.pyc +0 -0
  227. StreamingCommunity/Lib/M3U8/__pycache__/estimator.cpython-39.pyc +0 -0
  228. StreamingCommunity/Lib/M3U8/__pycache__/parser.cpython-313.pyc +0 -0
  229. StreamingCommunity/Lib/M3U8/__pycache__/parser.cpython-39.pyc +0 -0
  230. StreamingCommunity/Lib/M3U8/__pycache__/url_fixer.cpython-313.pyc +0 -0
  231. StreamingCommunity/Lib/M3U8/__pycache__/url_fixer.cpython-39.pyc +0 -0
  232. StreamingCommunity/Lib/TMBD/__pycache__/__init__.cpython-313.pyc +0 -0
  233. StreamingCommunity/Lib/TMBD/__pycache__/__init__.cpython-39.pyc +0 -0
  234. StreamingCommunity/Lib/TMBD/__pycache__/obj_tmbd.cpython-313.pyc +0 -0
  235. StreamingCommunity/Lib/TMBD/__pycache__/obj_tmbd.cpython-39.pyc +0 -0
  236. StreamingCommunity/Lib/TMBD/__pycache__/tmdb.cpython-313.pyc +0 -0
  237. StreamingCommunity/Lib/TMBD/__pycache__/tmdb.cpython-39.pyc +0 -0
  238. StreamingCommunity/Upload/__pycache__/update.cpython-313.pyc +0 -0
  239. StreamingCommunity/Upload/__pycache__/update.cpython-39.pyc +0 -0
  240. StreamingCommunity/Upload/__pycache__/version.cpython-313.pyc +0 -0
  241. StreamingCommunity/Upload/__pycache__/version.cpython-39.pyc +0 -0
  242. StreamingCommunity/Util/__pycache__/_jsonConfig.cpython-313.pyc +0 -0
  243. StreamingCommunity/Util/__pycache__/_jsonConfig.cpython-39.pyc +0 -0
  244. StreamingCommunity/Util/__pycache__/call_stack.cpython-313.pyc +0 -0
  245. StreamingCommunity/Util/__pycache__/call_stack.cpython-39.pyc +0 -0
  246. StreamingCommunity/Util/__pycache__/color.cpython-313.pyc +0 -0
  247. StreamingCommunity/Util/__pycache__/color.cpython-39.pyc +0 -0
  248. StreamingCommunity/Util/__pycache__/console.cpython-313.pyc +0 -0
  249. StreamingCommunity/Util/__pycache__/console.cpython-39.pyc +0 -0
  250. StreamingCommunity/Util/__pycache__/ffmpeg_installer.cpython-313.pyc +0 -0
  251. StreamingCommunity/Util/__pycache__/ffmpeg_installer.cpython-39.pyc +0 -0
  252. StreamingCommunity/Util/__pycache__/headers.cpython-313.pyc +0 -0
  253. StreamingCommunity/Util/__pycache__/headers.cpython-39.pyc +0 -0
  254. StreamingCommunity/Util/__pycache__/logger.cpython-313.pyc +0 -0
  255. StreamingCommunity/Util/__pycache__/logger.cpython-39.pyc +0 -0
  256. StreamingCommunity/Util/__pycache__/message.cpython-313.pyc +0 -0
  257. StreamingCommunity/Util/__pycache__/message.cpython-39.pyc +0 -0
  258. StreamingCommunity/Util/__pycache__/os.cpython-313.pyc +0 -0
  259. StreamingCommunity/Util/__pycache__/os.cpython-39.pyc +0 -0
  260. StreamingCommunity/Util/__pycache__/table.cpython-313.pyc +0 -0
  261. StreamingCommunity/Util/__pycache__/table.cpython-39.pyc +0 -0
  262. StreamingCommunity/__pycache__/__init__.cpython-313.pyc +0 -0
  263. StreamingCommunity/__pycache__/__init__.cpython-39.pyc +0 -0
  264. StreamingCommunity/__pycache__/run.cpython-313.pyc +0 -0
  265. StreamingCommunity/__pycache__/run.cpython-39.pyc +0 -0
  266. StreamingCommunity-2.5.2.dist-info/RECORD +0 -264
  267. {StreamingCommunity-2.5.2.dist-info → StreamingCommunity-2.5.5.dist-info}/WHEEL +0 -0
  268. {StreamingCommunity-2.5.2.dist-info → StreamingCommunity-2.5.5.dist-info}/top_level.txt +0 -0
@@ -1,143 +1,157 @@
1
- # 10.12.23
2
-
3
- import json
4
- import logging
5
- import secrets
6
-
7
-
8
- # External libraries
9
- import httpx
10
- from bs4 import BeautifulSoup
11
-
12
-
13
- # Internal utilities
14
- from StreamingCommunity.Util.console import console
15
- from StreamingCommunity.Util._jsonConfig import config_manager
16
- from StreamingCommunity.Util.headers import get_headers
17
- from StreamingCommunity.Util.table import TVShowManager
18
-
19
-
20
-
21
- # Logic class
22
- from StreamingCommunity.Api.Template import get_select_title
23
- from StreamingCommunity.Api.Template.Util import search_domain
24
- from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
25
-
26
-
27
- # Config
28
- from .costant import SITE_NAME, DOMAIN_NOW
29
-
30
-
31
- # Variable
32
- media_search_manager = MediaManager()
33
- table_show_manager = TVShowManager()
34
- max_timeout = config_manager.get_int("REQUESTS", "timeout")
35
- disable_searchDomain = config_manager.get_bool("DEFAULT", "disable_searchDomain")
36
-
37
-
38
- def get_version(domain: str):
39
- """
40
- Extracts the version from the HTML text of a webpage.
41
-
42
- Parameters:
43
- - domain (str): The domain of the site.
44
-
45
- Returns:
46
- str: The version extracted from the webpage.
47
- """
48
- try:
49
- response = httpx.get(
50
- url=f"https://{SITE_NAME}.{domain}/",
51
- headers={'User-Agent': get_headers()},
52
- timeout=max_timeout
53
- )
54
- response.raise_for_status()
55
-
56
- # Parse request to site
57
- soup = BeautifulSoup(response.text, "html.parser")
58
-
59
- # Extract version
60
- version = json.loads(soup.find("div", {"id": "app"}).get("data-page"))['version']
61
- #console.print(f"[cyan]Get version [white]=> [red]{version} \n")
62
-
63
- return version
64
-
65
- except Exception as e:
66
- logging.error(f"Error extracting version: {e}")
67
- raise
68
-
69
-
70
- def get_version_and_domain():
71
- """
72
- Retrieve the current version and domain of the site.
73
-
74
- This function performs the following steps:
75
- - Determines the correct domain to use for the site by searching for a specific meta tag.
76
- - Fetches the content of the site to extract the version information.
77
- """
78
-
79
- # Find new domain if prev dont work
80
- domain_to_use = DOMAIN_NOW
81
-
82
- if not disable_searchDomain:
83
- domain_to_use, base_url = search_domain(SITE_NAME, f"https://{SITE_NAME}.{DOMAIN_NOW}")
84
-
85
- try:
86
- version = get_version(domain_to_use)
87
- except:
88
- #console.print("[green]Auto generate version ...")
89
- #version = secrets.token_hex(32 // 2)
90
- version = None
91
-
92
- return version, domain_to_use
93
-
94
-
95
- def title_search(title_search: str, domain: str) -> int:
96
- """
97
- Search for titles based on a search query.
98
-
99
- Parameters:
100
- - title_search (str): The title to search for.
101
- - domain (str): The domain to search on.
102
-
103
- Returns:
104
- int: The number of titles found.
105
- """
106
- media_search_manager.clear()
107
- table_show_manager.clear()
108
-
109
- try:
110
- response = httpx.get(
111
- url=f"https://{SITE_NAME}.{domain}/api/search?q={title_search.replace(' ', '+')}",
112
- headers={'user-agent': get_headers()},
113
- timeout=max_timeout
114
- )
115
- response.raise_for_status()
116
-
117
- except Exception as e:
118
- console.print(f"Site: {SITE_NAME}, request search error: {e}")
119
-
120
- for dict_title in response.json()['data']:
121
- try:
122
-
123
- media_search_manager.add_media({
124
- 'id': dict_title.get('id'),
125
- 'slug': dict_title.get('slug'),
126
- 'name': dict_title.get('name'),
127
- 'type': dict_title.get('type'),
128
- 'date': dict_title.get('last_air_date'),
129
- 'score': dict_title.get('score')
130
- })
131
-
132
- except Exception as e:
133
- print(f"Error parsing a film entry: {e}")
134
-
135
- # Return the number of titles found
136
- return media_search_manager.get_length()
137
-
138
-
139
- def run_get_select_title():
140
- """
141
- Display a selection of titles and prompt the user to choose one.
142
- """
1
+ # 10.12.23
2
+
3
+ import json
4
+ import logging
5
+ import secrets
6
+
7
+
8
+ # External libraries
9
+ import httpx
10
+ from bs4 import BeautifulSoup
11
+
12
+
13
+ # Internal utilities
14
+ from StreamingCommunity.Util.console import console
15
+ from StreamingCommunity.Util._jsonConfig import config_manager
16
+ from StreamingCommunity.Util.headers import get_headers
17
+ from StreamingCommunity.Util.table import TVShowManager
18
+ from StreamingCommunity.TelegramHelp.telegram_bot import get_bot_instance
19
+
20
+
21
+ # Logic class
22
+ from StreamingCommunity.Api.Template import get_select_title
23
+ from StreamingCommunity.Api.Template.Util import search_domain
24
+ from StreamingCommunity.Api.Template.Class.SearchType import MediaManager
25
+
26
+
27
+ # Config
28
+ from .costant import SITE_NAME, DOMAIN_NOW, TELEGRAM_BOT
29
+
30
+
31
+ # Variable
32
+ media_search_manager = MediaManager()
33
+ table_show_manager = TVShowManager()
34
+ max_timeout = config_manager.get_int("REQUESTS", "timeout")
35
+ disable_searchDomain = config_manager.get_bool("DEFAULT", "disable_searchDomain")
36
+
37
+
38
+ def get_version(domain: str):
39
+ """
40
+ Extracts the version from the HTML text of a webpage.
41
+
42
+ Parameters:
43
+ - domain (str): The domain of the site.
44
+
45
+ Returns:
46
+ str: The version extracted from the webpage.
47
+ """
48
+ try:
49
+ response = httpx.get(
50
+ url=f"https://{SITE_NAME}.{domain}/",
51
+ headers={'User-Agent': get_headers()},
52
+ timeout=max_timeout
53
+ )
54
+ response.raise_for_status()
55
+
56
+ # Parse request to site
57
+ soup = BeautifulSoup(response.text, "html.parser")
58
+
59
+ # Extract version
60
+ version = json.loads(soup.find("div", {"id": "app"}).get("data-page"))['version']
61
+ #console.print(f"[cyan]Get version [white]=> [red]{version} \n")
62
+
63
+ return version
64
+
65
+ except Exception as e:
66
+ logging.error(f"Error extracting version: {e}")
67
+ raise
68
+
69
+
70
+ def get_version_and_domain():
71
+ """
72
+ Retrieve the current version and domain of the site.
73
+
74
+ This function performs the following steps:
75
+ - Determines the correct domain to use for the site by searching for a specific meta tag.
76
+ - Fetches the content of the site to extract the version information.
77
+ """
78
+
79
+ # Find new domain if prev dont work
80
+ domain_to_use = DOMAIN_NOW
81
+
82
+ if not disable_searchDomain:
83
+ domain_to_use, base_url = search_domain(SITE_NAME, f"https://{SITE_NAME}.{DOMAIN_NOW}")
84
+
85
+ try:
86
+ version = get_version(domain_to_use)
87
+ except:
88
+ #console.print("[green]Auto generate version ...")
89
+ #version = secrets.token_hex(32 // 2)
90
+ version = None
91
+
92
+ return version, domain_to_use
93
+
94
+
95
+ def title_search(title_search: str, domain: str) -> int:
96
+ """
97
+ Search for titles based on a search query.
98
+
99
+ Parameters:
100
+ - title_search (str): The title to search for.
101
+ - domain (str): The domain to search on.
102
+
103
+ Returns:
104
+ int: The number of titles found.
105
+ """
106
+ if TELEGRAM_BOT:
107
+ bot = get_bot_instance()
108
+
109
+ media_search_manager.clear()
110
+ table_show_manager.clear()
111
+
112
+ try:
113
+ response = httpx.get(
114
+ url=f"https://{SITE_NAME}.{domain}/api/search?q={title_search.replace(' ', '+')}",
115
+ headers={'user-agent': get_headers()},
116
+ timeout=max_timeout
117
+ )
118
+ response.raise_for_status()
119
+
120
+ except Exception as e:
121
+ console.print(f"Site: {SITE_NAME}, request search error: {e}")
122
+
123
+ # Prepara le scelte per l'utente
124
+ if TELEGRAM_BOT:
125
+ choices = []
126
+
127
+ for i, dict_title in enumerate(response.json()['data']):
128
+ try:
129
+ media_search_manager.add_media({
130
+ 'id': dict_title.get('id'),
131
+ 'slug': dict_title.get('slug'),
132
+ 'name': dict_title.get('name'),
133
+ 'type': dict_title.get('type'),
134
+ 'date': dict_title.get('last_air_date'),
135
+ 'score': dict_title.get('score')
136
+ })
137
+
138
+ if TELEGRAM_BOT:
139
+ choice_text = f"{i} - {dict_title.get('name')} ({dict_title.get('type')}) - {dict_title.get('last_air_date')}"
140
+ choices.append(choice_text)
141
+
142
+ except Exception as e:
143
+ print(f"Error parsing a film entry: {e}")
144
+
145
+ if TELEGRAM_BOT:
146
+ if choices:
147
+ bot.send_message(f"Lista dei risultati:", choices)
148
+
149
+ # Return the number of titles found
150
+ return media_search_manager.get_length()
151
+
152
+
153
+ def run_get_select_title():
154
+ """
155
+ Display a selection of titles and prompt the user to choose one.
156
+ """
143
157
  return get_select_title(table_show_manager, media_search_manager)
@@ -1,124 +1,124 @@
1
- # 01.03.24
2
-
3
- import json
4
- import logging
5
-
6
-
7
- # External libraries
8
- import httpx
9
- from bs4 import BeautifulSoup
10
-
11
-
12
- # Internal utilities
13
- from StreamingCommunity.Util.headers import get_headers
14
- from StreamingCommunity.Util._jsonConfig import config_manager
15
- from StreamingCommunity.Api.Player.Helper.Vixcloud.util import Season, EpisodeManager
16
-
17
-
18
- # Variable
19
- max_timeout = config_manager.get_int("REQUESTS", "timeout")
20
-
21
-
22
- class ScrapeSerie:
23
- def __init__(self, site_name: str):
24
- """
25
- Initialize the ScrapeSerie class for scraping TV series information.
26
-
27
- Args:
28
- site_name (str): Name of the streaming site to scrape from
29
- """
30
- self.is_series = False
31
- self.headers = {'user-agent': get_headers()}
32
- self.base_name = site_name
33
- self.domain = config_manager.get_dict('SITE', self.base_name)['domain']
34
-
35
- def setup(self, version: str = None, media_id: int = None, series_name: str = None):
36
- """
37
- Set up the scraper with specific media details.
38
-
39
- Args:
40
- version (str, optional): Site version for request headers
41
- media_id (int, optional): Unique identifier for the media
42
- series_name (str, optional): Name of the TV series
43
- """
44
- self.version = version
45
- self.media_id = media_id
46
-
47
- # If series name is provided, initialize series-specific managers
48
- if series_name is not None:
49
- self.is_series = True
50
- self.series_name = series_name
51
- self.season_manager = None
52
- self.episode_manager: EpisodeManager = EpisodeManager()
53
-
54
- def collect_info_title(self) -> None:
55
- """
56
- Retrieve season information for a TV series from the streaming site.
57
-
58
- Raises:
59
- Exception: If there's an error fetching season information
60
- """
61
- try:
62
- response = httpx.get(
63
- url=f"https://{self.base_name}.{self.domain}/titles/{self.media_id}-{self.series_name}",
64
- headers=self.headers,
65
- timeout=max_timeout
66
- )
67
- response.raise_for_status()
68
-
69
- # Extract seasons from JSON response
70
- soup = BeautifulSoup(response.text, "html.parser")
71
- json_response = json.loads(soup.find("div", {"id": "app"}).get("data-page"))
72
- self.version = json_response['version']
73
-
74
- """
75
- response = httpx.post(
76
- url=f'https://{self.base_name}.{self.domain}/api/titles/preview/{self.media_id}',
77
- headers={'User-Agent': get_headers()}
78
- )
79
- response.raise_for_status()
80
-
81
-
82
- # Extract seasons from JSON response
83
- json_response = response.json()
84
- """
85
-
86
- # Collect info about season
87
- self.season_manager = Season(json_response.get("props").get("title"))
88
-
89
- except Exception as e:
90
- logging.error(f"Error collecting season info: {e}")
91
- raise
92
-
93
- def collect_info_season(self, number_season: int) -> None:
94
- """
95
- Retrieve episode information for a specific season.
96
-
97
- Args:
98
- number_season (int): Season number to fetch episodes for
99
-
100
- Raises:
101
- Exception: If there's an error fetching episode information
102
- """
103
- try:
104
- response = httpx.get(
105
- url=f'https://{self.base_name}.{self.domain}/titles/{self.media_id}-{self.series_name}/stagione-{number_season}',
106
- headers={
107
- 'User-Agent': get_headers(),
108
- 'x-inertia': 'true',
109
- 'x-inertia-version': self.version,
110
- },
111
- timeout=max_timeout
112
- )
113
- response.raise_for_status()
114
-
115
- # Extract episodes from JSON response
116
- json_response = response.json().get('props').get('loadedSeason').get('episodes')
117
-
118
- # Add each episode to the episode manager
119
- for dict_episode in json_response:
120
- self.episode_manager.add(dict_episode)
121
-
122
- except Exception as e:
123
- logging.error(f"Error collecting title season info: {e}")
124
- raise
1
+ # 01.03.24
2
+
3
+ import json
4
+ import logging
5
+
6
+
7
+ # External libraries
8
+ import httpx
9
+ from bs4 import BeautifulSoup
10
+
11
+
12
+ # Internal utilities
13
+ from StreamingCommunity.Util.headers import get_headers
14
+ from StreamingCommunity.Util._jsonConfig import config_manager
15
+ from StreamingCommunity.Api.Player.Helper.Vixcloud.util import Season, EpisodeManager
16
+
17
+
18
+ # Variable
19
+ max_timeout = config_manager.get_int("REQUESTS", "timeout")
20
+
21
+
22
+ class ScrapeSerie:
23
+ def __init__(self, site_name: str):
24
+ """
25
+ Initialize the ScrapeSerie class for scraping TV series information.
26
+
27
+ Args:
28
+ site_name (str): Name of the streaming site to scrape from
29
+ """
30
+ self.is_series = False
31
+ self.headers = {'user-agent': get_headers()}
32
+ self.base_name = site_name
33
+ self.domain = config_manager.get_dict('SITE', self.base_name)['domain']
34
+
35
+ def setup(self, version: str = None, media_id: int = None, series_name: str = None):
36
+ """
37
+ Set up the scraper with specific media details.
38
+
39
+ Args:
40
+ version (str, optional): Site version for request headers
41
+ media_id (int, optional): Unique identifier for the media
42
+ series_name (str, optional): Name of the TV series
43
+ """
44
+ self.version = version
45
+ self.media_id = media_id
46
+
47
+ # If series name is provided, initialize series-specific managers
48
+ if series_name is not None:
49
+ self.is_series = True
50
+ self.series_name = series_name
51
+ self.season_manager = None
52
+ self.episode_manager: EpisodeManager = EpisodeManager()
53
+
54
+ def collect_info_title(self) -> None:
55
+ """
56
+ Retrieve season information for a TV series from the streaming site.
57
+
58
+ Raises:
59
+ Exception: If there's an error fetching season information
60
+ """
61
+ try:
62
+ response = httpx.get(
63
+ url=f"https://{self.base_name}.{self.domain}/titles/{self.media_id}-{self.series_name}",
64
+ headers=self.headers,
65
+ timeout=max_timeout
66
+ )
67
+ response.raise_for_status()
68
+
69
+ # Extract seasons from JSON response
70
+ soup = BeautifulSoup(response.text, "html.parser")
71
+ json_response = json.loads(soup.find("div", {"id": "app"}).get("data-page"))
72
+ self.version = json_response['version']
73
+
74
+ """
75
+ response = httpx.post(
76
+ url=f'https://{self.base_name}.{self.domain}/api/titles/preview/{self.media_id}',
77
+ headers={'User-Agent': get_headers()}
78
+ )
79
+ response.raise_for_status()
80
+
81
+
82
+ # Extract seasons from JSON response
83
+ json_response = response.json()
84
+ """
85
+
86
+ # Collect info about season
87
+ self.season_manager = Season(json_response.get("props").get("title"))
88
+
89
+ except Exception as e:
90
+ logging.error(f"Error collecting season info: {e}")
91
+ raise
92
+
93
+ def collect_info_season(self, number_season: int) -> None:
94
+ """
95
+ Retrieve episode information for a specific season.
96
+
97
+ Args:
98
+ number_season (int): Season number to fetch episodes for
99
+
100
+ Raises:
101
+ Exception: If there's an error fetching episode information
102
+ """
103
+ try:
104
+ response = httpx.get(
105
+ url=f'https://{self.base_name}.{self.domain}/titles/{self.media_id}-{self.series_name}/stagione-{number_season}',
106
+ headers={
107
+ 'User-Agent': get_headers(),
108
+ 'x-inertia': 'true',
109
+ 'x-inertia-version': self.version,
110
+ },
111
+ timeout=max_timeout
112
+ )
113
+ response.raise_for_status()
114
+
115
+ # Extract episodes from JSON response
116
+ json_response = response.json().get('props').get('loadedSeason').get('episodes')
117
+
118
+ # Add each episode to the episode manager
119
+ for dict_episode in json_response:
120
+ self.episode_manager.add(dict_episode)
121
+
122
+ except Exception as e:
123
+ logging.error(f"Error collecting title season info: {e}")
124
+ raise