plexflow 0.0.64__tar.gz → 0.0.66__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 (658) hide show
  1. {plexflow-0.0.64 → plexflow-0.0.66}/PKG-INFO +6 -4
  2. plexflow-0.0.66/plexflow/core/torrents/auto/__pycache__/auto_torrents.cpython-312.pyc +0 -0
  3. plexflow-0.0.66/plexflow/core/torrents/auto/auto_providers/auto/__pycache__/__init__.cpython-312.pyc +0 -0
  4. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_torrents.py +4 -4
  5. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/ext/__pycache__/ext.cpython-312.pyc +0 -0
  6. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/ext/ext.py +1 -1
  7. {plexflow-0.0.64/plexflow/core/torrents/providers/therarbg → plexflow-0.0.66/plexflow/core/torrents/providers/extratorrent}/__pycache__/extratorrent.cpython-312.pyc +0 -0
  8. plexflow-0.0.66/plexflow/core/torrents/providers/therarbg/__pycache__/therarbg.cpython-312.pyc +0 -0
  9. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/therarbg/therarbg.py +4 -4
  10. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/torrentquest/__pycache__/torrentquest.cpython-312.pyc +0 -0
  11. plexflow-0.0.66/plexflow/core/torrents/providers/tpb/__pycache__/tpb.cpython-312.pyc +0 -0
  12. plexflow-0.0.66/plexflow/core/torrents/providers/tpb/tpb.py +19 -0
  13. plexflow-0.0.66/plexflow/core/torrents/providers/yts/__pycache__/yts.cpython-312.pyc +0 -0
  14. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/yts/yts.py +14 -7
  15. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/results/__pycache__/torrent.cpython-312.pyc +0 -0
  16. plexflow-0.0.66/plexflow/utils/antibot/__pycache__/human_like_requests.cpython-312.pyc +0 -0
  17. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/antibot/human_like_requests.py +10 -0
  18. plexflow-0.0.66/plexflow/utils/api/context/__pycache__/http.cpython-312.pyc +0 -0
  19. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/api/context/http.py +32 -5
  20. plexflow-0.0.66/plexflow/utils/api/rest/__pycache__/plexful.cpython-312.pyc +0 -0
  21. plexflow-0.0.66/plexflow/utils/api/rest/__pycache__/url_builder.cpython-312.pyc +0 -0
  22. plexflow-0.0.66/plexflow/utils/api/rest/plexful.py +64 -0
  23. plexflow-0.0.66/plexflow/utils/api/rest/url_builder.py +9 -0
  24. plexflow-0.0.66/plexflow/utils/llm/mistral.py +139 -0
  25. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/pubsub/produce.py +22 -1
  26. plexflow-0.0.66/plexflow/utils/strings/__pycache__/json_extract.cpython-312.pyc +0 -0
  27. plexflow-0.0.66/plexflow/utils/strings/json_extract.py +434 -0
  28. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/subtitle/__pycache__/search.cpython-312.pyc +0 -0
  29. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/subtitle/search.py +1 -0
  30. plexflow-0.0.66/plexflow/utils/torrent/__pycache__/files.cpython-312.pyc +0 -0
  31. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/__pycache__/hash.cpython-312.pyc +0 -0
  32. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/extract/__pycache__/common.cpython-312.pyc +0 -0
  33. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/extract/__pycache__/ext.cpython-312.pyc +0 -0
  34. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/extract/__pycache__/therarbg.cpython-312.pyc +0 -0
  35. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/extract/common.py +1 -0
  36. plexflow-0.0.66/plexflow/utils/torrent/files.py +80 -0
  37. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/hash.py +7 -1
  38. plexflow-0.0.66/plexflow/utils/transcribe/__pycache__/__init__.cpython-312.pyc +0 -0
  39. plexflow-0.0.66/plexflow/utils/transcribe/__pycache__/speech2text.cpython-312.pyc +0 -0
  40. plexflow-0.0.66/plexflow/utils/transcribe/speech2text.py +106 -0
  41. plexflow-0.0.66/plexflow/utils/video/__pycache__/__init__.cpython-312.pyc +0 -0
  42. plexflow-0.0.66/plexflow/utils/video/__pycache__/audio.cpython-312.pyc +0 -0
  43. plexflow-0.0.66/plexflow/utils/video/audio.py +98 -0
  44. plexflow-0.0.66/plexflow/utils/video/subtitle.py +44 -0
  45. {plexflow-0.0.64 → plexflow-0.0.66}/pyproject.toml +11 -4
  46. plexflow-0.0.64/plexflow/core/torrents/auto/__pycache__/auto_torrents.cpython-312.pyc +0 -0
  47. plexflow-0.0.64/plexflow/core/torrents/auto/auto_providers/auto/__pycache__/__init__.cpython-312.pyc +0 -0
  48. plexflow-0.0.64/plexflow/core/torrents/providers/therarbg/__pycache__/therarbg.cpython-312.pyc +0 -0
  49. plexflow-0.0.64/plexflow/core/torrents/providers/tpb/__pycache__/tpb.cpython-312.pyc +0 -0
  50. plexflow-0.0.64/plexflow/core/torrents/providers/tpb/tpb.py +0 -17
  51. plexflow-0.0.64/plexflow/core/torrents/providers/yts/__pycache__/yts.cpython-312.pyc +0 -0
  52. plexflow-0.0.64/plexflow/utils/antibot/__pycache__/human_like_requests.cpython-312.pyc +0 -0
  53. plexflow-0.0.64/plexflow/utils/api/context/__pycache__/http.cpython-312.pyc +0 -0
  54. plexflow-0.0.64/plexflow/utils/torrent/__pycache__/files.cpython-312.pyc +0 -0
  55. plexflow-0.0.64/plexflow/utils/torrent/files.py +0 -36
  56. plexflow-0.0.64/plexflow/utils/transcribe/speech2text.py +0 -40
  57. plexflow-0.0.64/plexflow/utils/video/subtitle.py +0 -73
  58. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/__init__.py +0 -0
  59. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/__main__.py +0 -0
  60. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/.DS_Store +0 -0
  61. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/__init__.py +0 -0
  62. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/__pycache__/__init__.cpython-311.pyc +0 -0
  63. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/__pycache__/__init__.cpython-312.pyc +0 -0
  64. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/__init__.py +0 -0
  65. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/__pycache__/__init__.cpython-311.pyc +0 -0
  66. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/__pycache__/__init__.cpython-312.pyc +0 -0
  67. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/__pycache__/context.cpython-311.pyc +0 -0
  68. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/__pycache__/partial_context.cpython-311.pyc +0 -0
  69. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/__pycache__/partial_context.cpython-312.pyc +0 -0
  70. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/__pycache__/plexflow_context.cpython-311.pyc +0 -0
  71. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/__pycache__/plexflow_property.cpython-311.pyc +0 -0
  72. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/metadata/__init__.py +0 -0
  73. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/metadata/__pycache__/__init__.cpython-311.pyc +0 -0
  74. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/metadata/__pycache__/context.cpython-311.pyc +0 -0
  75. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/metadata/context.py +0 -0
  76. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/metadata/tmdb/__init__.py +0 -0
  77. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/metadata/tmdb/__pycache__/context.cpython-311.pyc +0 -0
  78. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/metadata/tmdb/context.py +0 -0
  79. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/partial_context.py +0 -0
  80. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/partials/__init__.py +0 -0
  81. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/partials/__pycache__/__init__.cpython-311.pyc +0 -0
  82. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/partials/__pycache__/ids.cpython-311.pyc +0 -0
  83. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/partials/__pycache__/watchlist.cpython-311.pyc +0 -0
  84. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/partials/cache.py +0 -0
  85. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/partials/context.py +0 -0
  86. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/partials/ids.py +0 -0
  87. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/partials/movie.py +0 -0
  88. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/partials/tgx_batch.py +0 -0
  89. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/partials/tgx_context.py +0 -0
  90. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/partials/torrents.py +0 -0
  91. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/partials/watchlist.py +0 -0
  92. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/plexflow_context.py +0 -0
  93. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/plexflow_property.py +0 -0
  94. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/root/__init__.py +0 -0
  95. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/root/__pycache__/context.cpython-311.pyc +0 -0
  96. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/root/context.py +0 -0
  97. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/select/__init__.py +0 -0
  98. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/select/__pycache__/__init__.cpython-311.pyc +0 -0
  99. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/select/__pycache__/context.cpython-311.pyc +0 -0
  100. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/select/context.py +0 -0
  101. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/torrent/__init__.py +0 -0
  102. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/torrent/__pycache__/__init__.cpython-311.pyc +0 -0
  103. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/torrent/__pycache__/context.cpython-311.pyc +0 -0
  104. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/torrent/context.py +0 -0
  105. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/torrent/tpb/__init__.py +0 -0
  106. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/torrent/tpb/__pycache__/context.cpython-311.pyc +0 -0
  107. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/torrent/tpb/context.py +0 -0
  108. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/torrent/yts/__init__.py +0 -0
  109. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/torrent/yts/__pycache__/context.cpython-311.pyc +0 -0
  110. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/torrent/yts/context.py +0 -0
  111. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/watchlist/__init__.py +0 -0
  112. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/watchlist/__pycache__/__init__.cpython-311.pyc +0 -0
  113. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/watchlist/__pycache__/context.cpython-311.pyc +0 -0
  114. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/context/watchlist/context.py +0 -0
  115. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/downloads/__init__.py +0 -0
  116. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/downloads/candidates/__init__.py +0 -0
  117. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/downloads/candidates/download_candidate.py +0 -0
  118. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/downloads/candidates/filtered.py +0 -0
  119. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/downloads/candidates/utils.py +0 -0
  120. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/env/__init__.py +0 -0
  121. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/env/env.py +0 -0
  122. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/genai/__init__.py +0 -0
  123. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/genai/__pycache__/__init__.cpython-311.pyc +0 -0
  124. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/genai/__pycache__/bot.cpython-311.pyc +0 -0
  125. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/genai/__pycache__/plexa.cpython-311.pyc +0 -0
  126. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/genai/bot.py +0 -0
  127. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/genai/plexa.py +0 -0
  128. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/genai/torrent/__pycache__/imdb_verify.cpython-311.pyc +0 -0
  129. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/genai/torrent/__pycache__/movie.cpython-311.pyc +0 -0
  130. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/genai/torrent/imdb_verify.py +0 -0
  131. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/genai/torrent/movie.py +0 -0
  132. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/genai/utils/__init__.py +0 -0
  133. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/genai/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  134. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/genai/utils/__pycache__/loader.cpython-311.pyc +0 -0
  135. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/genai/utils/loader.py +0 -0
  136. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/__init__.py +0 -0
  137. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/__pycache__/__init__.cpython-311.pyc +0 -0
  138. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/__pycache__/__init__.cpython-312.pyc +0 -0
  139. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/__init__.py +0 -0
  140. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/__pycache__/__init__.cpython-311.pyc +0 -0
  141. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/__pycache__/__init__.cpython-312.pyc +0 -0
  142. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/__pycache__/auto_meta.cpython-311.pyc +0 -0
  143. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/__pycache__/auto_meta.cpython-312.pyc +0 -0
  144. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_meta.py +0 -0
  145. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/__init__.py +0 -0
  146. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/__pycache__/__init__.cpython-311.pyc +0 -0
  147. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/__pycache__/__init__.cpython-312.pyc +0 -0
  148. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/__pycache__/tmdb.cpython-311.pyc +0 -0
  149. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/__init__.py +0 -0
  150. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/__pycache__/__init__.cpython-311.pyc +0 -0
  151. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/__pycache__/__init__.cpython-312.pyc +0 -0
  152. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/__pycache__/episode.cpython-311.pyc +0 -0
  153. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/__pycache__/episode.cpython-312.pyc +0 -0
  154. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/__pycache__/item.cpython-311.pyc +0 -0
  155. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/__pycache__/item.cpython-312.pyc +0 -0
  156. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/__pycache__/movie.cpython-311.pyc +0 -0
  157. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/__pycache__/movie.cpython-312.pyc +0 -0
  158. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/__pycache__/season.cpython-311.pyc +0 -0
  159. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/__pycache__/season.cpython-312.pyc +0 -0
  160. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/__pycache__/show.cpython-311.pyc +0 -0
  161. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/__pycache__/show.cpython-312.pyc +0 -0
  162. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/episode.py +0 -0
  163. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/item.py +0 -0
  164. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/movie.py +0 -0
  165. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/season.py +0 -0
  166. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/auto/show.py +0 -0
  167. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/imdb/__init__.py +0 -0
  168. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/imdb/__pycache__/__init__.cpython-311.pyc +0 -0
  169. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/imdb/__pycache__/__init__.cpython-312.pyc +0 -0
  170. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/imdb/__pycache__/episode.cpython-311.pyc +0 -0
  171. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/imdb/__pycache__/movie.cpython-311.pyc +0 -0
  172. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/imdb/__pycache__/movie.cpython-312.pyc +0 -0
  173. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/imdb/__pycache__/season.cpython-311.pyc +0 -0
  174. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/imdb/__pycache__/show.cpython-311.pyc +0 -0
  175. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/imdb/__pycache__/show.cpython-312.pyc +0 -0
  176. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/imdb/movie.py +0 -0
  177. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/imdb/show.py +0 -0
  178. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/moviemeter/__init__.py +0 -0
  179. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/moviemeter/__pycache__/__init__.cpython-311.pyc +0 -0
  180. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/moviemeter/__pycache__/__init__.cpython-312.pyc +0 -0
  181. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/moviemeter/__pycache__/episode.cpython-311.pyc +0 -0
  182. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/moviemeter/__pycache__/movie.cpython-311.pyc +0 -0
  183. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/moviemeter/__pycache__/movie.cpython-312.pyc +0 -0
  184. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/moviemeter/__pycache__/season.cpython-311.pyc +0 -0
  185. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/moviemeter/__pycache__/show.cpython-311.pyc +0 -0
  186. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/moviemeter/movie.py +0 -0
  187. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/plex/__init__.py +0 -0
  188. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/plex/__pycache__/__init__.cpython-311.pyc +0 -0
  189. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/plex/__pycache__/__init__.cpython-312.pyc +0 -0
  190. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/plex/__pycache__/episode.cpython-311.pyc +0 -0
  191. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/plex/__pycache__/movie.cpython-311.pyc +0 -0
  192. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/plex/__pycache__/movie.cpython-312.pyc +0 -0
  193. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/plex/__pycache__/season.cpython-311.pyc +0 -0
  194. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/plex/__pycache__/show.cpython-311.pyc +0 -0
  195. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/plex/movie.py +0 -0
  196. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/__init__.py +0 -0
  197. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/__pycache__/__init__.cpython-311.pyc +0 -0
  198. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/__pycache__/__init__.cpython-312.pyc +0 -0
  199. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/__pycache__/episode.cpython-311.pyc +0 -0
  200. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/__pycache__/episode.cpython-312.pyc +0 -0
  201. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/__pycache__/movie.cpython-311.pyc +0 -0
  202. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/__pycache__/movie.cpython-312.pyc +0 -0
  203. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/__pycache__/season.cpython-311.pyc +0 -0
  204. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/__pycache__/season.cpython-312.pyc +0 -0
  205. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/__pycache__/show.cpython-311.pyc +0 -0
  206. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/__pycache__/show.cpython-312.pyc +0 -0
  207. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/episode.py +0 -0
  208. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/movie.py +0 -0
  209. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/season.py +0 -0
  210. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb/show.py +0 -0
  211. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tmdb.py +0 -0
  212. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/__init__.py +0 -0
  213. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/__pycache__/__init__.cpython-311.pyc +0 -0
  214. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/__pycache__/__init__.cpython-312.pyc +0 -0
  215. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/__pycache__/episode.cpython-311.pyc +0 -0
  216. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/__pycache__/episode.cpython-312.pyc +0 -0
  217. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/__pycache__/movie.cpython-311.pyc +0 -0
  218. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/__pycache__/movie.cpython-312.pyc +0 -0
  219. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/__pycache__/season.cpython-311.pyc +0 -0
  220. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/__pycache__/season.cpython-312.pyc +0 -0
  221. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/__pycache__/show.cpython-311.pyc +0 -0
  222. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/__pycache__/show.cpython-312.pyc +0 -0
  223. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/episode.py +0 -0
  224. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/movie.py +0 -0
  225. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/season.py +0 -0
  226. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/auto/auto_providers/tvdb/show.py +0 -0
  227. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/__init__.py +0 -0
  228. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/__pycache__/__init__.cpython-311.pyc +0 -0
  229. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/__pycache__/__init__.cpython-312.pyc +0 -0
  230. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/imdb/__init__.py +0 -0
  231. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/imdb/__pycache__/__init__.cpython-311.pyc +0 -0
  232. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/imdb/__pycache__/__init__.cpython-312.pyc +0 -0
  233. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/imdb/__pycache__/datatypes.cpython-311.pyc +0 -0
  234. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/imdb/__pycache__/datatypes.cpython-312.pyc +0 -0
  235. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/imdb/__pycache__/imdb.cpython-311.pyc +0 -0
  236. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/imdb/__pycache__/imdb.cpython-312.pyc +0 -0
  237. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/imdb/__pycache__/tmdb.cpython-311.pyc +0 -0
  238. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/imdb/datatypes.py +0 -0
  239. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/imdb/imdb.py +0 -0
  240. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/moviemeter/__init__.py +0 -0
  241. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/moviemeter/__pycache__/__init__.cpython-311.pyc +0 -0
  242. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/moviemeter/__pycache__/__init__.cpython-312.pyc +0 -0
  243. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/moviemeter/__pycache__/datatypes.cpython-311.pyc +0 -0
  244. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/moviemeter/__pycache__/datatypes.cpython-312.pyc +0 -0
  245. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/moviemeter/__pycache__/imdb.cpython-311.pyc +0 -0
  246. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/moviemeter/__pycache__/moviemeter.cpython-311.pyc +0 -0
  247. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/moviemeter/__pycache__/moviemeter.cpython-312.pyc +0 -0
  248. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/moviemeter/__pycache__/tmdb.cpython-311.pyc +0 -0
  249. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/moviemeter/datatypes.py +0 -0
  250. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/moviemeter/moviemeter.py +0 -0
  251. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/plex/__init__.py +0 -0
  252. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/plex/__pycache__/__init__.cpython-311.pyc +0 -0
  253. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/plex/__pycache__/__init__.cpython-312.pyc +0 -0
  254. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/plex/__pycache__/datatypes.cpython-311.pyc +0 -0
  255. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/plex/__pycache__/datatypes.cpython-312.pyc +0 -0
  256. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/plex/__pycache__/imdb.cpython-311.pyc +0 -0
  257. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/plex/__pycache__/moviemeter.cpython-311.pyc +0 -0
  258. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/plex/__pycache__/plex.cpython-311.pyc +0 -0
  259. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/plex/__pycache__/plex.cpython-312.pyc +0 -0
  260. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/plex/__pycache__/tmdb.cpython-311.pyc +0 -0
  261. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/plex/datatypes.py +0 -0
  262. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/plex/plex.py +0 -0
  263. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tmdb/__init__.py +0 -0
  264. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tmdb/__pycache__/__init__.cpython-311.pyc +0 -0
  265. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tmdb/__pycache__/__init__.cpython-312.pyc +0 -0
  266. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tmdb/__pycache__/datatypes.cpython-311.pyc +0 -0
  267. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tmdb/__pycache__/datatypes.cpython-312.pyc +0 -0
  268. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tmdb/__pycache__/tmdb.cpython-311.pyc +0 -0
  269. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tmdb/__pycache__/tmdb.cpython-312.pyc +0 -0
  270. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tmdb/datatypes.py +0 -0
  271. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tmdb/tmdb.py +0 -0
  272. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tvdb/__init__.py +0 -0
  273. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tvdb/__pycache__/__init__.cpython-311.pyc +0 -0
  274. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tvdb/__pycache__/__init__.cpython-312.pyc +0 -0
  275. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tvdb/__pycache__/datatypes.cpython-311.pyc +0 -0
  276. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tvdb/__pycache__/datatypes.cpython-312.pyc +0 -0
  277. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tvdb/__pycache__/tmdb.cpython-311.pyc +0 -0
  278. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tvdb/__pycache__/tv_datatypes.cpython-311.pyc +0 -0
  279. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tvdb/__pycache__/tv_datatypes.cpython-312.pyc +0 -0
  280. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tvdb/__pycache__/tvdb.cpython-311.pyc +0 -0
  281. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tvdb/__pycache__/tvdb.cpython-312.pyc +0 -0
  282. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tvdb/datatypes.py +0 -0
  283. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tvdb/tv_datatypes.py +0 -0
  284. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/tvdb/tvdb.py +0 -0
  285. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/universal/__init__.py +0 -0
  286. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/universal/__pycache__/__init__.cpython-311.pyc +0 -0
  287. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/universal/__pycache__/movie.cpython-311.pyc +0 -0
  288. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/universal/movie.py +0 -0
  289. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/universal/old.py +0 -0
  290. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/metadata/providers/universal/show.py +0 -0
  291. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/__init__.py +0 -0
  292. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/__pycache__/__init__.cpython-311.pyc +0 -0
  293. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/__pycache__/__init__.cpython-312.pyc +0 -0
  294. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/__pycache__/library.cpython-311.pyc +0 -0
  295. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/api/context/__pycache__/authorized.cpython-312.pyc +0 -0
  296. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/api/context/__pycache__/discover.cpython-312.pyc +0 -0
  297. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/api/context/authorized.py +0 -0
  298. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/api/context/discover.py +0 -0
  299. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/api/context/library.py +0 -0
  300. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/discover/__init__.py +0 -0
  301. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/discover/__pycache__/activity.cpython-311.pyc +0 -0
  302. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/discover/__pycache__/comment.cpython-311.pyc +0 -0
  303. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/discover/__pycache__/feed.cpython-311.pyc +0 -0
  304. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/discover/activity.py +0 -0
  305. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/discover/comment.py +0 -0
  306. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/discover/feed.py +0 -0
  307. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/hooks/__init__.py +0 -0
  308. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/hooks/__pycache__/__init__.cpython-311.pyc +0 -0
  309. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/hooks/__pycache__/__init__.cpython-312.pyc +0 -0
  310. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/hooks/__pycache__/plex_authorized.cpython-311.pyc +0 -0
  311. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/hooks/__pycache__/plex_authorized.cpython-312.pyc +0 -0
  312. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/hooks/__pycache__/plexflow_database.cpython-311.pyc +0 -0
  313. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/hooks/plex_authorized.py +0 -0
  314. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/hooks/plexflow_database.py +0 -0
  315. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/library/__init__.py +0 -0
  316. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/library/__pycache__/__init__.cpython-311.pyc +0 -0
  317. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/library/__pycache__/library.cpython-311.pyc +0 -0
  318. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/library/library.py +0 -0
  319. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/token/__init__.py +0 -0
  320. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/token/__pycache__/__init__.cpython-311.pyc +0 -0
  321. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/token/__pycache__/__init__.cpython-312.pyc +0 -0
  322. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/token/__pycache__/auto_token.cpython-311.pyc +0 -0
  323. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/token/__pycache__/auto_token.cpython-312.pyc +0 -0
  324. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/token/auto_token.py +0 -0
  325. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/utils/__init__.py +0 -0
  326. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  327. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  328. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/utils/__pycache__/paginated.cpython-311.pyc +0 -0
  329. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/utils/__pycache__/paginated.cpython-312.pyc +0 -0
  330. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/utils/paginated.py +0 -0
  331. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/watchlist/__init__.py +0 -0
  332. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/watchlist/__pycache__/__init__.cpython-311.pyc +0 -0
  333. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/watchlist/__pycache__/__init__.cpython-312.pyc +0 -0
  334. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/watchlist/__pycache__/datatypes.cpython-311.pyc +0 -0
  335. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/watchlist/__pycache__/datatypes.cpython-312.pyc +0 -0
  336. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/watchlist/__pycache__/watchlist.cpython-311.pyc +0 -0
  337. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/watchlist/__pycache__/watchlist.cpython-312.pyc +0 -0
  338. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/watchlist/datatypes.py +0 -0
  339. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/plex/watchlist/watchlist.py +0 -0
  340. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/storage/__init__.py +0 -0
  341. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/storage/__pycache__/__init__.cpython-311.pyc +0 -0
  342. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/storage/__pycache__/__init__.cpython-312.pyc +0 -0
  343. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/storage/object/__init__.py +0 -0
  344. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/storage/object/__pycache__/__init__.cpython-311.pyc +0 -0
  345. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/storage/object/__pycache__/__init__.cpython-312.pyc +0 -0
  346. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/storage/object/__pycache__/plexflow_storage.cpython-311.pyc +0 -0
  347. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/storage/object/__pycache__/plexflow_storage.cpython-312.pyc +0 -0
  348. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/storage/object/__pycache__/redis_storage.cpython-311.pyc +0 -0
  349. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/storage/object/__pycache__/redis_storage.cpython-312.pyc +0 -0
  350. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/storage/object/plexflow_storage.py +0 -0
  351. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/storage/object/redis_storage.py +0 -0
  352. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/__init__.py +0 -0
  353. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/__pycache__/__init__.cpython-311.pyc +0 -0
  354. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/__pycache__/__init__.cpython-312.pyc +0 -0
  355. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/__init__.py +0 -0
  356. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/__pycache__/__init__.cpython-311.pyc +0 -0
  357. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/__pycache__/__init__.cpython-312.pyc +0 -0
  358. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/__pycache__/auto_subtiltes.cpython-311.pyc +0 -0
  359. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/__pycache__/auto_subtitles.cpython-311.pyc +0 -0
  360. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/__pycache__/auto_subtitles.cpython-312.pyc +0 -0
  361. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/auto_subtitles.py +0 -0
  362. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/__init__.py +0 -0
  363. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/__pycache__/__init__.cpython-311.pyc +0 -0
  364. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/__pycache__/__init__.cpython-312.pyc +0 -0
  365. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/__pycache__/datatypes.cpython-311.pyc +0 -0
  366. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/__pycache__/download.cpython-311.pyc +0 -0
  367. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/__pycache__/download.cpython-312.pyc +0 -0
  368. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/__pycache__/oss.cpython-311.pyc +0 -0
  369. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/__pycache__/oss.cpython-312.pyc +0 -0
  370. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/__pycache__/oss_subtitle.cpython-311.pyc +0 -0
  371. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/__pycache__/oss_subtitle.cpython-312.pyc +0 -0
  372. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/__pycache__/search.cpython-311.pyc +0 -0
  373. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/__pycache__/search.cpython-312.pyc +0 -0
  374. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/__pycache__/unlimited_oss.cpython-311.pyc +0 -0
  375. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/__pycache__/unlimited_oss.cpython-312.pyc +0 -0
  376. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/datatypes.py +0 -0
  377. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/download.py +0 -0
  378. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/old.py +0 -0
  379. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/oss.py +0 -0
  380. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/oss_subtitle.py +0 -0
  381. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/search.py +0 -0
  382. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/unlimited_oss.py +0 -0
  383. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__init__.py +0 -0
  384. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  385. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  386. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/config.cpython-311.pyc +0 -0
  387. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/config.cpython-312.pyc +0 -0
  388. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/download_client.cpython-311.pyc +0 -0
  389. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/download_client.cpython-312.pyc +0 -0
  390. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/exceptions.cpython-311.pyc +0 -0
  391. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/exceptions.cpython-312.pyc +0 -0
  392. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/file_utils.cpython-311.pyc +0 -0
  393. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/file_utils.cpython-312.pyc +0 -0
  394. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/languages.cpython-311.pyc +0 -0
  395. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/languages.cpython-312.pyc +0 -0
  396. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/response_base.cpython-311.pyc +0 -0
  397. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/response_base.cpython-312.pyc +0 -0
  398. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/responses.cpython-311.pyc +0 -0
  399. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/responses.cpython-312.pyc +0 -0
  400. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/srt.cpython-311.pyc +0 -0
  401. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/__pycache__/srt.cpython-312.pyc +0 -0
  402. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/config.py +0 -0
  403. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/download_client.py +0 -0
  404. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/exceptions.py +0 -0
  405. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/file_utils.py +0 -0
  406. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/languages.py +0 -0
  407. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/response_base.py +0 -0
  408. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/responses.py +0 -0
  409. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/providers/oss/utils/srt.py +0 -0
  410. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/results/__init__.py +0 -0
  411. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/results/__pycache__/subtitle.cpython-311.pyc +0 -0
  412. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/subtitles/results/subtitle.py +0 -0
  413. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/__init__.py +0 -0
  414. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/__pycache__/__init__.cpython-311.pyc +0 -0
  415. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/__pycache__/__init__.cpython-312.pyc +0 -0
  416. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/analyzers/__pycache__/analyzed_torrent.cpython-312.pyc +0 -0
  417. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/analyzers/__pycache__/analyzer.cpython-312.pyc +0 -0
  418. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/analyzers/analyzed_torrent.py +0 -0
  419. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/analyzers/analyzer.py +0 -0
  420. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/analyzers/torrentquest/__pycache__/analyzer.cpython-312.pyc +0 -0
  421. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/analyzers/torrentquest/analyzer.py +0 -0
  422. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_providers/auto/__init__.py +0 -0
  423. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_providers/auto/__pycache__/__init__.cpython-311.pyc +0 -0
  424. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_providers/auto/__pycache__/episode.cpython-311.pyc +0 -0
  425. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_providers/auto/__pycache__/episode.cpython-312.pyc +0 -0
  426. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_providers/auto/__pycache__/item.cpython-311.pyc +0 -0
  427. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_providers/auto/__pycache__/item.cpython-312.pyc +0 -0
  428. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_providers/auto/__pycache__/movie.cpython-311.pyc +0 -0
  429. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_providers/auto/__pycache__/movie.cpython-312.pyc +0 -0
  430. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_providers/auto/__pycache__/season.cpython-311.pyc +0 -0
  431. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_providers/auto/__pycache__/season.cpython-312.pyc +0 -0
  432. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_providers/auto/__pycache__/show.cpython-311.pyc +0 -0
  433. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_providers/auto/__pycache__/show.cpython-312.pyc +0 -0
  434. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_providers/auto/torrent.py +0 -0
  435. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/auto/auto_providers/tpb/torrent.py +0 -0
  436. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/__init__.py +0 -0
  437. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/__pycache__/__init__.cpython-311.pyc +0 -0
  438. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/__pycache__/__init__.cpython-312.pyc +0 -0
  439. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/ext/__init__.py +0 -0
  440. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/ext/__pycache__/__init__.cpython-311.pyc +0 -0
  441. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/ext/__pycache__/__init__.cpython-312.pyc +0 -0
  442. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/ext/__pycache__/extratorrent.cpython-312.pyc +0 -0
  443. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/ext/__pycache__/torrentquest.cpython-312.pyc +0 -0
  444. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/ext/__pycache__/tpb.cpython-311.pyc +0 -0
  445. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/ext/__pycache__/tpb.cpython-312.pyc +0 -0
  446. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/ext/__pycache__/utils.cpython-311.pyc +0 -0
  447. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/ext/__pycache__/utils.cpython-312.pyc +0 -0
  448. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/ext/utils.py +0 -0
  449. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/extratorrent/__init__.py +0 -0
  450. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/extratorrent/__pycache__/__init__.cpython-311.pyc +0 -0
  451. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/extratorrent/__pycache__/__init__.cpython-312.pyc +0 -0
  452. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/extratorrent/__pycache__/torrentquest.cpython-312.pyc +0 -0
  453. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/extratorrent/__pycache__/tpb.cpython-311.pyc +0 -0
  454. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/extratorrent/__pycache__/tpb.cpython-312.pyc +0 -0
  455. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/extratorrent/__pycache__/utils.cpython-311.pyc +0 -0
  456. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/extratorrent/__pycache__/utils.cpython-312.pyc +0 -0
  457. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/extratorrent/extratorrent.py +0 -0
  458. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/extratorrent/utils.py +0 -0
  459. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/eztv/__init__.py +0 -0
  460. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/eztv/__pycache__/__init__.cpython-311.pyc +0 -0
  461. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/eztv/__pycache__/eztv.cpython-311.pyc +0 -0
  462. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/eztv/__pycache__/tpb.cpython-311.pyc +0 -0
  463. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/eztv/__pycache__/utils.cpython-311.pyc +0 -0
  464. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/eztv/eztv.py +0 -0
  465. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/eztv/utils.py +0 -0
  466. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/rarbg2/__init__.py +0 -0
  467. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/rarbg2/__pycache__/__init__.cpython-311.pyc +0 -0
  468. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/rarbg2/__pycache__/__init__.cpython-312.pyc +0 -0
  469. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/rarbg2/__pycache__/rarbg2.cpython-311.pyc +0 -0
  470. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/rarbg2/__pycache__/rarbg2.cpython-312.pyc +0 -0
  471. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/rarbg2/__pycache__/utils.cpython-311.pyc +0 -0
  472. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/rarbg2/__pycache__/utils.cpython-312.pyc +0 -0
  473. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/rarbg2/rarbg2.py +0 -0
  474. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/rarbg2/utils.py +0 -0
  475. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/snowfl/__init__.py +0 -0
  476. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/snowfl/__pycache__/__init__.cpython-311.pyc +0 -0
  477. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/snowfl/__pycache__/__init__.cpython-312.pyc +0 -0
  478. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/snowfl/__pycache__/snowfl.cpython-312.pyc +0 -0
  479. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/snowfl/__pycache__/tpb.cpython-311.pyc +0 -0
  480. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/snowfl/__pycache__/utils.cpython-311.pyc +0 -0
  481. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/snowfl/__pycache__/utils.cpython-312.pyc +0 -0
  482. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/snowfl/__pycache__/yts.cpython-311.pyc +0 -0
  483. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/snowfl/__pycache__/yts.cpython-312.pyc +0 -0
  484. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/snowfl/snowfl.py +0 -0
  485. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/snowfl/utils.py +0 -0
  486. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tgx/__init__.py +0 -0
  487. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tgx/__pycache__/__init__.cpython-311.pyc +0 -0
  488. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tgx/__pycache__/__init__.cpython-312.pyc +0 -0
  489. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tgx/__pycache__/context.cpython-312.pyc +0 -0
  490. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tgx/__pycache__/dump.cpython-311.pyc +0 -0
  491. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tgx/__pycache__/tgx.cpython-311.pyc +0 -0
  492. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tgx/__pycache__/utils.cpython-311.pyc +0 -0
  493. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tgx/context.py +0 -0
  494. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tgx/dump.py +0 -0
  495. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tgx/tgx.py +0 -0
  496. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tgx/utils.py +0 -0
  497. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/therarbg/__init__.py +0 -0
  498. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/therarbg/__pycache__/__init__.cpython-311.pyc +0 -0
  499. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/therarbg/__pycache__/__init__.cpython-312.pyc +0 -0
  500. {plexflow-0.0.64/plexflow/core/torrents/providers/extratorrent → plexflow-0.0.66/plexflow/core/torrents/providers/therarbg}/__pycache__/extratorrent.cpython-312.pyc +0 -0
  501. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/therarbg/__pycache__/torrentquest.cpython-312.pyc +0 -0
  502. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/therarbg/__pycache__/tpb.cpython-311.pyc +0 -0
  503. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/therarbg/__pycache__/tpb.cpython-312.pyc +0 -0
  504. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/therarbg/__pycache__/utils.cpython-311.pyc +0 -0
  505. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/therarbg/__pycache__/utils.cpython-312.pyc +0 -0
  506. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/therarbg/utils.py +0 -0
  507. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/torrentquest/__init__.py +0 -0
  508. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/torrentquest/__pycache__/__init__.cpython-311.pyc +0 -0
  509. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/torrentquest/__pycache__/__init__.cpython-312.pyc +0 -0
  510. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/torrentquest/__pycache__/tpb.cpython-311.pyc +0 -0
  511. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/torrentquest/__pycache__/tpb.cpython-312.pyc +0 -0
  512. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/torrentquest/__pycache__/utils.cpython-311.pyc +0 -0
  513. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/torrentquest/__pycache__/utils.cpython-312.pyc +0 -0
  514. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/torrentquest/torrentquest.py +0 -0
  515. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/torrentquest/utils.py +0 -0
  516. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tpb/__init__.py +0 -0
  517. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tpb/__pycache__/__init__.cpython-311.pyc +0 -0
  518. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tpb/__pycache__/__init__.cpython-312.pyc +0 -0
  519. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tpb/__pycache__/tpb.cpython-311.pyc +0 -0
  520. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tpb/__pycache__/utils.cpython-311.pyc +0 -0
  521. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tpb/__pycache__/utils.cpython-312.pyc +0 -0
  522. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/tpb/utils.py +0 -0
  523. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/yts/__init__.py +0 -0
  524. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/yts/__pycache__/__init__.cpython-311.pyc +0 -0
  525. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/yts/__pycache__/__init__.cpython-312.pyc +0 -0
  526. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/yts/__pycache__/tpb.cpython-311.pyc +0 -0
  527. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/yts/__pycache__/utils.cpython-311.pyc +0 -0
  528. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/yts/__pycache__/utils.cpython-312.pyc +0 -0
  529. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/yts/__pycache__/yts.cpython-311.pyc +0 -0
  530. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/providers/yts/utils.py +0 -0
  531. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/results/__init__.py +0 -0
  532. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/results/__pycache__/__init__.cpython-311.pyc +0 -0
  533. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/results/__pycache__/__init__.cpython-312.pyc +0 -0
  534. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/results/__pycache__/torrent.cpython-311.pyc +0 -0
  535. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/results/torrent.py +0 -0
  536. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/results/universal.py +0 -0
  537. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/core/torrents/results/utils.py +0 -0
  538. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/events/__init__.py +0 -0
  539. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/events/download/__init__.py +0 -0
  540. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/events/download/__pycache__/torrent_events.cpython-311.pyc +0 -0
  541. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/events/download/torrent_events.py +0 -0
  542. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/events/publish/__init__.py +0 -0
  543. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/events/publish/__pycache__/publish.cpython-311.pyc +0 -0
  544. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/events/publish/publish.py +0 -0
  545. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/logging/__init__.py +0 -0
  546. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/logging/__pycache__/__init__.cpython-311.pyc +0 -0
  547. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/logging/__pycache__/__init__.cpython-312.pyc +0 -0
  548. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/logging/__pycache__/log_setup.cpython-311.pyc +0 -0
  549. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/logging/__pycache__/log_setup.cpython-312.pyc +0 -0
  550. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/logging/log_setup.py +0 -0
  551. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/__pycache__/quiet_logger.cpython-312.pyc +0 -0
  552. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/quiet_logger.py +0 -0
  553. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/tgx/__pycache__/settings.cpython-312.pyc +0 -0
  554. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/tgx/__pycache__/spider.cpython-312.pyc +0 -0
  555. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/tgx/pipelines/__pycache__/dump_json_pipeline.cpython-312.pyc +0 -0
  556. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/tgx/pipelines/__pycache__/meta_pipeline.cpython-312.pyc +0 -0
  557. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/tgx/pipelines/__pycache__/publish_pipeline.cpython-312.pyc +0 -0
  558. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/tgx/pipelines/__pycache__/torrent_info_pipeline.cpython-312.pyc +0 -0
  559. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/tgx/pipelines/__pycache__/validation_pipeline.cpython-312.pyc +0 -0
  560. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/tgx/pipelines/dump_json_pipeline.py +0 -0
  561. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/tgx/pipelines/meta_pipeline.py +0 -0
  562. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/tgx/pipelines/publish_pipeline.py +0 -0
  563. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/tgx/pipelines/torrent_info_pipeline.py +0 -0
  564. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/tgx/pipelines/validation_pipeline.py +0 -0
  565. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/tgx/settings.py +0 -0
  566. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/spiders/tgx/spider.py +0 -0
  567. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/__init__.py +0 -0
  568. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  569. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  570. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/api/__init__.py +0 -0
  571. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/api/__pycache__/__init__.cpython-311.pyc +0 -0
  572. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/api/__pycache__/__init__.cpython-312.pyc +0 -0
  573. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/api/rest/__init__.py +0 -0
  574. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/api/rest/__pycache__/__init__.cpython-311.pyc +0 -0
  575. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/api/rest/__pycache__/__init__.cpython-312.pyc +0 -0
  576. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/api/rest/__pycache__/antibot_restful.cpython-312.pyc +0 -0
  577. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/api/rest/__pycache__/restful.cpython-311.pyc +0 -0
  578. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/api/rest/__pycache__/restful.cpython-312.pyc +0 -0
  579. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/api/rest/antibot_restful.py +0 -0
  580. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/api/rest/restful.py +0 -0
  581. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/captcha/__init__.py +0 -0
  582. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/captcha/bypass/__init__.py +0 -0
  583. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/captcha/bypass/__pycache__/decode_audio.cpython-311.pyc +0 -0
  584. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/captcha/bypass/decode_audio.py +0 -0
  585. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/download/__init__.py +0 -0
  586. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/download/__pycache__/gz.cpython-311.pyc +0 -0
  587. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/download/gz.py +0 -0
  588. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/filesystem/__init__.py +0 -0
  589. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/filesystem/__pycache__/__init__.cpython-311.pyc +0 -0
  590. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/filesystem/__pycache__/__init__.cpython-312.pyc +0 -0
  591. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/filesystem/__pycache__/search.cpython-311.pyc +0 -0
  592. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/filesystem/__pycache__/search.cpython-312.pyc +0 -0
  593. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/filesystem/search.py +0 -0
  594. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/gmail/__init__.py +0 -0
  595. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/gmail/__pycache__/mails.cpython-311.pyc +0 -0
  596. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/gmail/mails.py +0 -0
  597. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/hooks/__init__.py +0 -0
  598. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/hooks/__pycache__/__init__.cpython-311.pyc +0 -0
  599. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/hooks/__pycache__/__init__.cpython-312.pyc +0 -0
  600. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/hooks/__pycache__/http.cpython-311.pyc +0 -0
  601. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/hooks/__pycache__/http.cpython-312.pyc +0 -0
  602. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/hooks/__pycache__/postgresql.cpython-311.pyc +0 -0
  603. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/hooks/__pycache__/redis.cpython-311.pyc +0 -0
  604. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/hooks/__pycache__/redis.cpython-312.pyc +0 -0
  605. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/hooks/http.py +0 -0
  606. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/hooks/postgresql.py +0 -0
  607. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/hooks/redis.py +0 -0
  608. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/image/__pycache__/storage.cpython-312.pyc +0 -0
  609. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/image/storage.py +0 -0
  610. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/imdb/__init__.py +0 -0
  611. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/imdb/__pycache__/__init__.cpython-311.pyc +0 -0
  612. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/imdb/__pycache__/__init__.cpython-312.pyc +0 -0
  613. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/imdb/__pycache__/imdb_codes.cpython-311.pyc +0 -0
  614. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/imdb/__pycache__/imdb_codes.cpython-312.pyc +0 -0
  615. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/imdb/imdb_codes.py +0 -0
  616. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/pubsub/__pycache__/consume.cpython-312.pyc +0 -0
  617. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/pubsub/__pycache__/produce.cpython-312.pyc +0 -0
  618. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/pubsub/consume.py +0 -0
  619. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/retry/__init__.py +0 -0
  620. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/retry/__pycache__/__init__.cpython-311.pyc +0 -0
  621. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/retry/__pycache__/__init__.cpython-312.pyc +0 -0
  622. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/retry/__pycache__/utils.cpython-311.pyc +0 -0
  623. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/retry/__pycache__/utils.cpython-312.pyc +0 -0
  624. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/retry/utils.py +0 -0
  625. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/strings/__init__.py +0 -0
  626. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/strings/__pycache__/__init__.cpython-312.pyc +0 -0
  627. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/strings/__pycache__/filesize.cpython-311.pyc +0 -0
  628. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/strings/__pycache__/filesize.cpython-312.pyc +0 -0
  629. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/strings/__pycache__/language.cpython-312.pyc +0 -0
  630. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/strings/filesize.py +0 -0
  631. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/strings/language.py +0 -0
  632. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/tasks/__pycache__/decorators.cpython-311.pyc +0 -0
  633. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/tasks/__pycache__/tasks.cpython-311.pyc +0 -0
  634. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/tasks/decorators.py +0 -0
  635. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/tasks/k8s/task.py +0 -0
  636. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/thread_safe/__pycache__/safe_list.cpython-312.pyc +0 -0
  637. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/thread_safe/__pycache__/safe_set.cpython-312.pyc +0 -0
  638. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/thread_safe/safe_list.py +0 -0
  639. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/thread_safe/safe_set.py +0 -0
  640. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/__init__.py +0 -0
  641. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/__pycache__/__init__.cpython-311.pyc +0 -0
  642. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/__pycache__/__init__.cpython-312.pyc +0 -0
  643. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/__pycache__/analyze.cpython-312.pyc +0 -0
  644. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/__pycache__/hash.cpython-311.pyc +0 -0
  645. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/analyze.py +0 -0
  646. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/extract/__pycache__/extratorrent.cpython-312.pyc +0 -0
  647. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/extract/__pycache__/tgx.cpython-312.pyc +0 -0
  648. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/extract/__pycache__/torrentquest.cpython-312.pyc +0 -0
  649. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/extract/ext.py +0 -0
  650. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/extract/extratorrent.py +0 -0
  651. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/extract/kat.py +0 -0
  652. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/extract/tgx.py +0 -0
  653. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/extract/therarbg.py +0 -0
  654. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/torrent/extract/torrentquest.py +0 -0
  655. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/transcribe/__init__.py +0 -0
  656. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/transcribe/__pycache__/speech2text.cpython-311.pyc +0 -0
  657. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/video/__init__.py +0 -0
  658. {plexflow-0.0.64 → plexflow-0.0.66}/plexflow/utils/video/__pycache__/subtitle.cpython-312.pyc +0 -0
@@ -1,19 +1,20 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: plexflow
3
- Version: 0.0.64
3
+ Version: 0.0.66
4
4
  Summary: A short description of the package.
5
5
  Home-page: https://www.example.com
6
6
  License: MIT
7
7
  Keywords: keyword1,keyword2,keyword3
8
8
  Author: Your Name
9
9
  Author-email: you@example.com
10
- Requires-Python: ==3.12.4
10
+ Requires-Python: >=3.12,<3.13
11
11
  Classifier: Development Status :: 5 - Production/Stable
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: License :: OSI Approved :: MIT License
14
14
  Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.12
15
16
  Classifier: Programming Language :: Python :: 3.10
16
- Requires-Dist: apache-airflow (>=2.9.3,<3.0.0)
17
+ Requires-Dist: apache-airflow (>=2.10.4,<3.0.0)
17
18
  Requires-Dist: apache-airflow-providers-cncf-kubernetes (>=8.3.3,<9.0.0)
18
19
  Requires-Dist: apache-airflow-providers-postgres (>=5.10.2,<6.0.0)
19
20
  Requires-Dist: apache-airflow-providers-redis (>=3.7.0,<4.0.0)
@@ -42,7 +43,8 @@ Requires-Dist: langchain-google-genai (>=1.0.8,<2.0.0)
42
43
  Requires-Dist: langchain-groq (>=0.1.9,<0.2.0)
43
44
  Requires-Dist: langcodes (>=3.4.0,<4.0.0)
44
45
  Requires-Dist: lxml (>=5.1.0,<6.0.0)
45
- Requires-Dist: numpy (>=2.0.1,<3.0.0)
46
+ Requires-Dist: mistralai (>=1.2.5,<2.0.0)
47
+ Requires-Dist: numpy (==2.0)
46
48
  Requires-Dist: parse-torrent-title (>=2.8.1,<3.0.0)
47
49
  Requires-Dist: playwright (>=1.41.2,<2.0.0)
48
50
  Requires-Dist: playwright-stealth (>=1.0.6,<2.0.0)
@@ -10,17 +10,17 @@ from plexflow.core.torrents.results.torrent import Torrent
10
10
 
11
11
  class AutoTorrents:
12
12
  @staticmethod
13
- def movie(imdb_id: str = None, query: str = None, source: str = 'yts', **kwargs) -> List[Torrent]:
13
+ def movie(imdb_id: str = None, query: str = None, source: str = 'yts', headless: bool = True, **kwargs) -> List[Torrent]:
14
14
  if source == 'tpb':
15
- return TPB(**kwargs).search(query=imdb_id)
15
+ return TPB(**kwargs).search(query=imdb_id, headless=headless, **kwargs)
16
16
  elif source == 'yts':
17
- return YTS(**kwargs).search(query=imdb_id)
17
+ return YTS(**kwargs).search(query=imdb_id, headless=headless, **kwargs)
18
18
  elif source == 'torrentquest':
19
19
  return TorrentQuest(**kwargs).search(query=query)
20
20
  elif source == 'extratorrent':
21
21
  return ExtraTorrent(**kwargs).search(query=query)
22
22
  elif source == 'therarbg':
23
- return TheRarbg(**kwargs).search(query=imdb_id)
23
+ return TheRarbg(**kwargs).search(query=imdb_id, headless=headless, **kwargs)
24
24
  elif source == 'ext':
25
25
  return Ext(**kwargs).search(query=query)
26
26
  elif source == 'snowfl':
@@ -13,6 +13,6 @@ class Ext(AntibotRestful):
13
13
  'c': 'movies',
14
14
  'q': query
15
15
  })
16
-
16
+
17
17
  data = extract_torrent_results(html=capture.html)
18
18
  return list(map(lambda t: ExtSearchResult(**t), data))
@@ -1,17 +1,17 @@
1
- from plexflow.utils.api.rest.antibot_restful import AntibotRestful
1
+ from plexflow.utils.api.rest.plexful import Plexful
2
2
  from plexflow.utils.api.rest.restful import Restful
3
3
  from plexflow.core.torrents.providers.therarbg.utils import TheRarbgSearchResult
4
4
  from plexflow.utils.torrent.extract.therarbg import extract_torrent_results
5
5
  from typing import List
6
6
 
7
- class TheRarbg(Restful):
7
+ class TheRarbg(Plexful):
8
8
  def __init__(self, base_url: str = 'https://therarbg.com'):
9
9
  super().__init__(base_url=base_url)
10
10
 
11
- def search(self, query: str) -> List[TheRarbgSearchResult]:
11
+ def search(self, query: str, headless: bool = True, **kwargs) -> List[TheRarbgSearchResult]:
12
12
  response = self.get(f'/get-posts/keywords:{query}/')
13
13
 
14
14
  response.raise_for_status
15
15
 
16
- data = extract_torrent_results(html=response.text)
16
+ data = extract_torrent_results(html=response.text if not headless else response.html)
17
17
  return list(map(lambda t: TheRarbgSearchResult(**t), data))
@@ -0,0 +1,19 @@
1
+ from plexflow.utils.api.rest.plexful import Plexful
2
+ from plexflow.core.torrents.providers.tpb.utils import TPBSearchResult
3
+
4
+ class TPB(Plexful):
5
+ def __init__(self, base_url: str = 'https://apibay.org'):
6
+ super().__init__(base_url=base_url)
7
+
8
+ def search(self, query: str, headless: bool = True, **kwargs) -> list[TPBSearchResult]:
9
+ response = self.get('/q.php', query_params={
10
+ 'q': query,
11
+ }, headless=headless, **kwargs)
12
+
13
+ if headless:
14
+ response.raise_for_status()
15
+ data = response.json()
16
+ else:
17
+ data = response.json
18
+
19
+ return list(map(lambda x: TPBSearchResult(**x), data))
@@ -1,18 +1,25 @@
1
- from plexflow.utils.api.rest.restful import Restful
1
+ from plexflow.utils.api.rest.plexful import Plexful
2
2
  from plexflow.core.torrents.providers.yts.utils import YTSSearchResult
3
3
 
4
- class YTS(Restful):
4
+ class YTS(Plexful):
5
5
  def __init__(self, base_url: str = 'https://yts.mx'):
6
6
  super().__init__(base_url=base_url)
7
7
 
8
- def search(self, query: str):
8
+ def search(self, query: str, headless: bool = True, **kwargs) -> list[YTSSearchResult]:
9
+ if 'wait_value' not in kwargs:
10
+ kwargs['wait_value'] = 'Query was successful'
9
11
  response = self.get(url='/api/v2/list_movies.json', query_params={
10
12
  'query_term': query,
11
- })
13
+ }, headless=headless, **kwargs)
12
14
 
13
- response.raise_for_status()
14
-
15
- data = response.json()
15
+ if headless:
16
+ print(response.content)
17
+
18
+ response.raise_for_status()
19
+
20
+ data = response.json()
21
+ else:
22
+ data = response.json
16
23
 
17
24
  data = data.get("data", {})
18
25
  movies = data.get("movies", [])
@@ -8,6 +8,8 @@ from selenium.webdriver.support.ui import WebDriverWait
8
8
  from selenium.webdriver.support import expected_conditions as EC
9
9
  from selenium.common.exceptions import TimeoutException
10
10
  from seleniumbase import SB
11
+ from bs4 import BeautifulSoup
12
+ import json
11
13
 
12
14
  class HumanLikeRequestCapture:
13
15
  def __init__(self, url, html, screenshot, cookies):
@@ -16,6 +18,14 @@ class HumanLikeRequestCapture:
16
18
  self.screenshot = screenshot
17
19
  self.cookies = cookies
18
20
 
21
+ @property
22
+ def json(self):
23
+ try:
24
+ soup = BeautifulSoup(self.html, 'html.parser')
25
+ return json.loads(soup.get_text())
26
+ except json.decoder.JSONDecodeError:
27
+ return None
28
+
19
29
  class HumanLikeRequestSession:
20
30
  def __init__(self, use_xvfb=False):
21
31
  self.use_xvfb = use_xvfb
@@ -1,21 +1,47 @@
1
1
  import requests
2
+ from requests.adapters import HTTPAdapter
2
3
  from typing import Optional, Dict
4
+ import dns.resolver
5
+
6
+ class DNSHTTPAdapter(HTTPAdapter):
7
+ def __init__(self, dns_servers, *args, **kwargs):
8
+ self.dns_servers = dns_servers
9
+ super().__init__(*args, **kwargs)
10
+
11
+ def resolve(self, hostname):
12
+ resolver = dns.resolver.Resolver()
13
+ resolver.nameservers = self.dns_servers
14
+ answers = resolver.resolve(hostname, 'A')
15
+ return [answer.to_text() for answer in answers]
16
+
17
+ def send(self, request, **kwargs):
18
+ # Resolve the hostname using the custom DNS servers
19
+ hostname = request.url.split('/')[2].split(':')[0]
20
+ ip_addresses = self.resolve(hostname)
21
+ if ip_addresses:
22
+ request.url = request.url.replace(hostname, ip_addresses[0])
23
+ return super().send(request, **kwargs)
3
24
 
4
25
  class HttpRequestContext:
5
26
  """
6
27
  A base class for setting up a default request context for headers, params, etc.
7
-
28
+
8
29
  Args:
9
30
  base_url (str): The base URL for the API.
10
31
  default_headers (dict, optional): The default headers for the API. Defaults to None.
11
32
  default_params (dict, optional): The default parameters for the API. Defaults to None.
12
-
33
+ dns_servers (list, optional): A list of DNS servers to use for custom DNS resolution. Defaults to None.
34
+
13
35
  Attributes:
14
36
  session (requests.Session): The requests Session instance.
15
37
  """
16
-
17
- def __init__(self, base_url: str, default_headers: Optional[Dict[str, str]] = None, default_params: Optional[Dict[str, str]] = None):
38
+
39
+ def __init__(self, base_url: str, default_headers: Optional[Dict[str, str]] = None, default_params: Optional[Dict[str, str]] = None, dns_servers: Optional[list] = None):
18
40
  self.session = requests.Session()
41
+ if dns_servers:
42
+ adapter = DNSHTTPAdapter(list(dns_servers))
43
+ self.session.mount('http://', adapter)
44
+ self.session.mount('https://', adapter)
19
45
  self.session.headers.update(default_headers or {})
20
46
  self.session.params.update(default_params or {})
21
47
  self.base_url = base_url
@@ -58,5 +84,6 @@ class HttpRequestContext:
58
84
  # Reset headers and params to defaults after each request
59
85
  self.session.headers = self.default_headers or {}
60
86
  self.session.params = self.default_params or {}
61
-
87
+
88
+ return response
62
89
  return response
@@ -0,0 +1,64 @@
1
+ from typing import Optional, Dict, Any,Union
2
+ import requests
3
+ from plexflow.utils.api.context.http import HttpRequestContext
4
+ import plexflow.utils.antibot.human_like_requests as human_like_requests
5
+ from plexflow.utils.api.rest.url_builder import build_url
6
+
7
+ class Plexful:
8
+ """
9
+ A class that uses UniversalHttpHook and UniversalPostgresqlHook to create RESTful API interfaces and interact with a PostgreSQL database.
10
+
11
+ Args:
12
+ http_conn_id (str, optional): The connection ID, used as Airflow connection ID or as the name for the YAML file. Defaults to None.
13
+ postgres_conn_id (str, optional): The connection ID, used as Airflow connection ID or as the name for the YAML file. Defaults to None.
14
+ config_folder (str, optional): The folder where the YAML configuration file is located. Defaults to None.
15
+ """
16
+
17
+ def __init__(self, base_url: str):
18
+ self._base_url = base_url
19
+
20
+ def get(self, url: str, headers: Optional[Dict[str, str]] = None, query_params: Optional[Dict[str, str]] = None, headless: bool = True, **kwargs) -> Union[requests.Response, human_like_requests.HumanLikeRequestCapture]:
21
+ """
22
+ Makes a GET request to the resource.
23
+
24
+ Args:
25
+ url (str): The full URL for the GET request.
26
+ headers (dict, optional): The headers for the GET request. Defaults to None.
27
+ query_params (dict, optional): The query parameters for the GET request. Defaults to None.
28
+ **kwargs: Additional keyword arguments for the GET request.
29
+
30
+ Returns:
31
+ The response from the GET request.
32
+ """
33
+ if headless:
34
+ context = HttpRequestContext(self._base_url)
35
+ return context.get(url, headers=headers, params=query_params, **kwargs)
36
+ else:
37
+ full_url = build_url(self._base_url, url, query_params)
38
+ print(full_url)
39
+ capture = human_like_requests.get(
40
+ url=full_url,
41
+ take_screenshot=kwargs.get('take_screenshot', False),
42
+ use_xvfb=kwargs.get('use_xvfb', False),
43
+ wait_condition=kwargs.get('wait_condition', 'regex'),
44
+ wait_value=kwargs.get('wait_value', r'magnet:'),
45
+ wait_until_not=kwargs.get('wait_until_not', False)
46
+ )
47
+ return capture
48
+
49
+ def post(self, url: str, data: Dict[str, Any], headers: Optional[Dict[str, str]] = None, query_params: Optional[Dict[str, str]] = None, **kwargs) -> requests.Response:
50
+ """
51
+ Makes a POST request to the resource.
52
+
53
+ Args:
54
+ url (str): The full URL for the POST request.
55
+ data (dict): The data for the POST request.
56
+ headers (dict, optional): The headers for the POST request. Defaults to None.
57
+ query_params (dict, optional): The query parameters for the POST request. Defaults to None.
58
+ **kwargs: Additional keyword arguments for the POST request.
59
+
60
+ Returns:
61
+ The response from the POST request.
62
+ """
63
+ context = HttpRequestContext(self._base_url)
64
+ return context.post(url, headers=headers, params=query_params, **kwargs)
@@ -0,0 +1,9 @@
1
+ import urllib.parse
2
+
3
+ def build_url(base_url: str, path: str, query_params: dict) -> str:
4
+ # Construct the full URL
5
+ url = urllib.parse.urljoin(base_url, path)
6
+ # Add query parameters
7
+ query_string = urllib.parse.urlencode(query_params if query_params else {})
8
+ full_url = f"{url}?{query_string}"
9
+ return full_url
@@ -0,0 +1,139 @@
1
+ from mistralai import Mistral
2
+ from io import StringIO
3
+ from plexflow.utils.strings.json_extract import extract_json_from_string
4
+
5
+ def extract_torrents(content: str, **kwargs):
6
+ api_key = kwargs.get("api_key", "bZ6vS0p30hiEqpyy6fBZUMyuZuiqaS91")
7
+ model = kwargs.get("model", "mistral-large-latest")
8
+
9
+ client = Mistral(api_key=api_key)
10
+
11
+ stream_response = client.chat.stream(
12
+ model = model,
13
+ messages = [
14
+ {
15
+ "role": "user",
16
+ "content": f"""
17
+ Parse the torrents as JSON, designate the total seeds as the field 'seeds', the total peers as the field 'peers', the date added as the field 'date', the torrent title as 'title', the torrent size as 'size', the torrent category as 'category', keep all other fields the same:
18
+
19
+ {content}
20
+ """,
21
+ },
22
+ ]
23
+ )
24
+
25
+ buffer = StringIO()
26
+
27
+ for chunk in stream_response:
28
+ chunk = chunk.data.choices[0].delta.content
29
+ if kwargs.get("log", False):
30
+ print(chunk, end="")
31
+
32
+ buffer.write(chunk)
33
+
34
+ json_data = buffer.getvalue()
35
+
36
+ return extract_json_from_string(json_data)
37
+
38
+
39
+ torrents = extract_torrents(
40
+ """
41
+
42
+
43
+ Login
44
+ Home
45
+ Catalog
46
+ Box Office
47
+ New Selection
48
+ 4K Movies
49
+ 4K XXX
50
+ Home Movies TV Games Music Anime Apps Other Books XXX Pages
51
+ XXX content
52
+ Search title or IMDB ID like tt27932269 ...
53
+
54
+ »
55
+ Reset
56
+ My 30 Books March 3 2 mature maturenl tt0051532 girlsoutwest Audiobooks heavier trip matrix language issue mummy The Office nacho libre the gentlemen playboyplus the flash 2023 The Comeback The Lord of the Rings twin peaks 720p the work 1080p vikings Windows All 7 8 1 10 11 All Editions With Updates AIO 46in1 glass 2019 Thunderbolts ma the invasion Becastled v0 6002 naughtyamericavr DesignOptimal Editable font and
57
+ Mufasa: The Lion King 2024
58
+ Play
59
+
60
+ Title: Mufasa: The Lion King
61
+ EXTERNAL URL: IMDB | TMDB
62
+ Languages: English
63
+ Genres: Animation, Adventure, Drama, Family, Fantasy, Musical,
64
+ Runtime: 2:00:00 Hour
65
+ Cast: Aaron Pierre, Kelvin Harrison Jr., Tiffany Boone
66
+ Directors: Barry Jenkins
67
+ IMDB Rating Rating: 6.8 (1406 Votes)
68
+ Year: 2024
69
+ Summary: Mufasa, a cub lost and alone, meets a sympathetic lion named Taka, the heir to a royal bloodline. The chance meeting sets in motion an expansive journey of a group of misfits searching for their destiny.
70
+ :TRAILER:
71
+
72
+ Search table...
73
+ C File Category Added Time Size Se. Le.
74
+
75
+ Mufasa The Lion King 2024 720p WEBRiP x264 XoXo M.Q.A
76
+ Movies 2025-02-02 8 hours 4.0 GB 26 50
77
+
78
+ Mufasa The Lion King 2024 1080p WEBRiP x264 XoXo M.Q.A
79
+ Movies 2025-02-02 8 hours 8.4 GB 40 34
80
+
81
+ Mufasa The Lion King 2024 720p WEB DL 2000MB Feranki1980 M.Q.A
82
+ Movies 2025-01-09 3 weeks, 2 days 2.0 GB 44 22
83
+
84
+ Mufasa The Lion King 2024 1080p WEBRip Multi AAC x265 HNY M.Q.A
85
+ Movies 2025-01-02 1 month 1.5 GB 43 48
86
+
87
+ Mufasa The Lion King 2024 1080P WEBRiP 24 bit Stereo HEVC X265 POOTLED mkv M.Q.A
88
+ Movies 2025-01-02 1 month 3.1 GB 23 33
89
+
90
+ Mufasa The Lion King 2024 1080p WEBRip x265 10bit YTS M.Q.A
91
+ Movies 2025-01-02 1 month 1.7 GB 294 621
92
+
93
+ Mufasa The Lion King 2024 1080p WEBRIP H264 HAPPYNEWYEAR COLLECTi M.Q.A
94
+ Movies 2025-01-02 1 month 3.7 GB 35 42
95
+
96
+ Mufasa The Lion King 2024 1080p WEBRip YTS M.Q.A
97
+ Movies 2025-01-01 1 month 1.8 GB 424 1301
98
+
99
+ Mufasa Il Re Leone 2024 1080p HDRip HQ h264 ADS MD Ita iDN_Cr M.Q.A
100
+ Movies 2025-01-01 1 month 2.5 GB 36 10
101
+
102
+ Mufasa The Lion King 2024 720p WEBRip YTS M.Q.A
103
+ Movies 2025-01-01 1 month 1020.6 MB 422 796
104
+
105
+ Mufasa The Lion King 2024 1080p WEBRIP H264 HAPPYNEWYEAR COLLECTiVE M.Q.A
106
+ Movies 2025-01-01 1 month 3.7 GB 45 37
107
+
108
+ Mufasa The Lion King 2024 1080p WEBRip READNFO x265 AC3 AOC M.Q.A
109
+ Movies 2024-12-31 1 month 5.9 GB 13 13
110
+
111
+ Mufasa The Lion King 2024 1080p HDRip ENG HappyNEWYear M.Q.A
112
+ Movies 2024-12-31 1 month 2.5 GB 95 714
113
+
114
+ Mufasa The Lion King 2024 1080p Cam X264 COLLECTiVE M.Q.A
115
+ Movies 2024-12-23 1 month, 1 week 3.7 GB 27 21
116
+
117
+ Mufasa The Lion King 2024 V 2 1080p HDTS C1NEM4 M.Q.A
118
+ Movies 2024-12-20 1 month, 2 weeks 2.1 GB 14 45
119
+
120
+ Mufasa The Lion King 2024 HDCAM c1nem4 x264 SUNSCREEN TGx M.Q.A
121
+ Movies 2024-12-20 1 month, 2 weeks 995.1 MB 12 25
122
+
123
+ Mufasa The Lion King 2024 720p HDCAM C1NEM4 M.Q.A
124
+ Movies 2024-12-20 1 month, 2 weeks 1.7 GB 14 19
125
+ Showing 1 to 17 of 17 entries
126
+ """,
127
+ log=False
128
+ )
129
+
130
+ if len(torrents) == 0:
131
+ print("No torrents found")
132
+ else:
133
+ if type(torrents[0]) == list:
134
+ torrents = torrents[0]
135
+
136
+ print(len(torrents), "torrents found")
137
+
138
+ for torrent in torrents:
139
+ print(torrent)
@@ -4,12 +4,26 @@ from confluent_kafka import Producer
4
4
  import os
5
5
 
6
6
  def delivery_report(err, msg):
7
+ """
8
+ Callback function to handle the delivery report of a message.
9
+
10
+ Args:
11
+ err: Error object if message delivery failed, otherwise None.
12
+ msg: Message object that was delivered.
13
+ """
7
14
  if err is not None:
8
15
  logging.error(f"Message delivery failed: {err}")
9
16
  else:
10
17
  logging.info(f"Message delivered to {msg.topic()} [{msg.partition()}] at offset {msg.offset()}")
11
18
 
12
19
  def produce_message(topic: str, message):
20
+ """
21
+ Produce a single message to the specified Kafka topic.
22
+
23
+ Args:
24
+ topic (str): The Kafka topic to publish the message to.
25
+ message: The message to be published.
26
+ """
13
27
  logging.info(f"Publishing message to {topic}...")
14
28
  producer = Producer({'bootstrap.servers': os.getenv('KAFKA_BOOTSTRAP_SERVERS', 'localhost:9092')})
15
29
  producer.produce(topic, json.dumps(message).encode('utf-8'), callback=delivery_report)
@@ -17,9 +31,16 @@ def produce_message(topic: str, message):
17
31
  logging.info(f"Message published to {topic}.")
18
32
 
19
33
  def produce_messages(topic: str, messages):
34
+ """
35
+ Produce multiple messages to the specified Kafka topic.
36
+
37
+ Args:
38
+ topic (str): The Kafka topic to publish the messages to.
39
+ messages: A list of messages to be published.
40
+ """
20
41
  logging.info(f"Publishing messages to {topic}...")
21
42
  producer = Producer({'bootstrap.servers': os.getenv('KAFKA_BOOTSTRAP_SERVERS', 'localhost:9092')})
22
43
  for message in messages:
23
44
  producer.produce(topic, json.dumps(message).encode('utf-8'), callback=delivery_report)
24
45
  producer.flush()
25
- logging.info(f"All messages published to {topic}.")
46
+ logging.info(f"All messages published to {topic}.")