upload-assistant 4.8__tar.gz → 5.0__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 (1527) hide show
  1. upload_assistant-5.0/PKG-INFO +589 -0
  2. upload_assistant-5.0/README.md +520 -0
  3. upload_assistant-5.0/bin/binary_dependencies.py +19 -0
  4. upload_assistant-5.0/bin/binary_dependency_pins/pesto.py +9 -0
  5. upload_assistant-5.0/bin/binary_dependency_pins/seven_zip.py +11 -0
  6. upload_assistant-5.0/bin/get_bdinfo.py +232 -0
  7. upload_assistant-5.0/bin/get_mkbrr.py +368 -0
  8. upload_assistant-5.0/data/example_config.py +3973 -0
  9. upload_assistant-5.0/data/exoticaz_tags.json +5069 -0
  10. upload_assistant-5.0/data/unit3d_catalogs/aither.json +139 -0
  11. upload_assistant-5.0/pyproject.toml +186 -0
  12. upload_assistant-5.0/setup.py +24 -0
  13. upload_assistant-5.0/src/add_comparison.py +196 -0
  14. upload_assistant-5.0/src/api_key_expiry.py +184 -0
  15. upload_assistant-5.0/src/app_db.py +312 -0
  16. upload_assistant-5.0/src/args.py +1856 -0
  17. upload_assistant-5.0/src/artwork.py +307 -0
  18. upload_assistant-5.0/src/audible.py +238 -0
  19. upload_assistant-5.0/src/audio.py +717 -0
  20. upload_assistant-5.0/src/audio_classifier.py +399 -0
  21. upload_assistant-5.0/src/bbcode.py +879 -0
  22. upload_assistant-5.0/src/binaries.py +49 -0
  23. upload_assistant-5.0/src/bluray_com.py +2086 -0
  24. upload_assistant-5.0/src/blvckout.py +140 -0
  25. upload_assistant-5.0/src/book_extractors.py +874 -0
  26. upload_assistant-5.0/src/book_prep.py +1230 -0
  27. upload_assistant-5.0/src/btnid.py +249 -0
  28. upload_assistant-5.0/src/check_requirements.py +138 -0
  29. upload_assistant-5.0/src/clients.py +886 -0
  30. upload_assistant-5.0/src/cogs/redaction.py +195 -0
  31. upload_assistant-5.0/src/configvalidator.py +981 -0
  32. upload_assistant-5.0/src/console.py +523 -0
  33. upload_assistant-5.0/src/cookie_auth.py +867 -0
  34. upload_assistant-5.0/src/css_colors.py +153 -0
  35. upload_assistant-5.0/src/description_languages.py +267 -0
  36. upload_assistant-5.0/src/description_review.py +201 -0
  37. upload_assistant-5.0/src/disc_menus.py +419 -0
  38. upload_assistant-5.0/src/discparse.py +1123 -0
  39. upload_assistant-5.0/src/dupe_checking.py +1081 -0
  40. upload_assistant-5.0/src/early_tasks.py +152 -0
  41. upload_assistant-5.0/src/edition.py +433 -0
  42. upload_assistant-5.0/src/exceptions.py +54 -0
  43. upload_assistant-5.0/src/exportmi.py +444 -0
  44. upload_assistant-5.0/src/external_tools.py +323 -0
  45. upload_assistant-5.0/src/gazellegames.py +388 -0
  46. upload_assistant-5.0/src/get_desc.py +2971 -0
  47. upload_assistant-5.0/src/get_disc.py +101 -0
  48. upload_assistant-5.0/src/get_name.py +820 -0
  49. upload_assistant-5.0/src/get_source.py +126 -0
  50. upload_assistant-5.0/src/get_tracker_data.py +605 -0
  51. upload_assistant-5.0/src/getseasonep.py +565 -0
  52. upload_assistant-5.0/src/google_books.py +153 -0
  53. upload_assistant-5.0/src/igdb.py +280 -0
  54. upload_assistant-5.0/src/imdb.py +1049 -0
  55. upload_assistant-5.0/src/is_scene.py +462 -0
  56. upload_assistant-5.0/src/language_names.py +96 -0
  57. upload_assistant-5.0/src/languages.py +570 -0
  58. upload_assistant-5.0/src/manual_input.py +331 -0
  59. upload_assistant-5.0/src/manual_questions.py +166 -0
  60. upload_assistant-5.0/src/manualpackage.py +158 -0
  61. upload_assistant-5.0/src/meta.py +819 -0
  62. upload_assistant-5.0/src/metadata_cache.py +174 -0
  63. upload_assistant-5.0/src/metadata_searching.py +1036 -0
  64. upload_assistant-5.0/src/music/analyzer.py +640 -0
  65. upload_assistant-5.0/src/music/models.py +160 -0
  66. upload_assistant-5.0/src/music/prep.py +493 -0
  67. upload_assistant-5.0/src/music/sources.py +625 -0
  68. upload_assistant-5.0/src/myanonamouse.py +194 -0
  69. upload_assistant-5.0/src/openlibrary.py +204 -0
  70. upload_assistant-5.0/src/payload_preview.py +500 -0
  71. upload_assistant-5.0/src/post_upload_hooks.py +201 -0
  72. upload_assistant-5.0/src/prep.py +482 -0
  73. upload_assistant-5.0/src/prep_game.py +1398 -0
  74. upload_assistant-5.0/src/prep_helpers.py +2119 -0
  75. upload_assistant-5.0/src/qbitwait.py +455 -0
  76. upload_assistant-5.0/src/queuemanage.py +815 -0
  77. upload_assistant-5.0/src/region.py +3259 -0
  78. upload_assistant-5.0/src/rehostimages.py +855 -0
  79. upload_assistant-5.0/src/release_locks.py +38 -0
  80. upload_assistant-5.0/src/resource_coordinator.py +265 -0
  81. upload_assistant-5.0/src/screenshot_manifest.py +262 -0
  82. upload_assistant-5.0/src/screenshot_overlays.py +120 -0
  83. upload_assistant-5.0/src/screenshot_review.py +674 -0
  84. upload_assistant-5.0/src/slot_rules/base.py +260 -0
  85. upload_assistant-5.0/src/slot_rules/models.py +33 -0
  86. upload_assistant-5.0/src/slot_rules/pages.py +47 -0
  87. upload_assistant-5.0/src/slot_rules/profile.py +560 -0
  88. upload_assistant-5.0/src/slot_rules/trackers/aither.py +107 -0
  89. upload_assistant-5.0/src/slot_rules/trackers/anthelion.py +93 -0
  90. upload_assistant-5.0/src/slot_rules/trackers/avistaz.py +198 -0
  91. upload_assistant-5.0/src/slot_rules/trackers/brazilian.py +171 -0
  92. upload_assistant-5.0/src/slot_rules/trackers/cathoderaytube.py +62 -0
  93. upload_assistant-5.0/src/slot_rules/trackers/hdtorrents.py +90 -0
  94. upload_assistant-5.0/src/slot_rules/trackers/lst.py +89 -0
  95. upload_assistant-5.0/src/slot_rules/trackers/luminarr.py +78 -0
  96. upload_assistant-5.0/src/slot_rules/trackers/orpheus.py +459 -0
  97. upload_assistant-5.0/src/slot_rules/trackers/simple.py +73 -0
  98. upload_assistant-5.0/src/slot_rules/trackers/ulcx.py +82 -0
  99. upload_assistant-5.0/src/stats.py +1446 -0
  100. upload_assistant-5.0/src/tags.py +177 -0
  101. upload_assistant-5.0/src/takescreens.py +3395 -0
  102. upload_assistant-5.0/src/tmdb.py +2191 -0
  103. upload_assistant-5.0/src/torrent_clients/existing_content.py +113 -0
  104. upload_assistant-5.0/src/torrent_clients/qbittorrent.py +2481 -0
  105. upload_assistant-5.0/src/torrent_clients/rtorrent.py +436 -0
  106. upload_assistant-5.0/src/torrent_manifest.py +252 -0
  107. upload_assistant-5.0/src/torrent_provision.py +113 -0
  108. upload_assistant-5.0/src/torrentcreate.py +759 -0
  109. upload_assistant-5.0/src/tpdb.py +206 -0
  110. upload_assistant-5.0/src/tracker_descriptions.py +112 -0
  111. upload_assistant-5.0/src/tracker_images.py +102 -0
  112. upload_assistant-5.0/src/trackerhandle.py +486 -0
  113. upload_assistant-5.0/src/trackermeta.py +853 -0
  114. upload_assistant-5.0/src/trackers/AVISTAZ/__init__.py +1442 -0
  115. upload_assistant-5.0/src/trackers/AVISTAZ/cinemaz.py +388 -0
  116. upload_assistant-5.0/src/trackers/AVISTAZ/exoticaz.py +690 -0
  117. upload_assistant-5.0/src/trackers/AVISTAZ/privatehd.py +653 -0
  118. upload_assistant-5.0/src/trackers/AVISTAZ/routing.py +365 -0
  119. upload_assistant-5.0/src/trackers/GAZELLE/alpharatio.py +530 -0
  120. upload_assistant-5.0/src/trackers/GAZELLE/anthelion.py +677 -0
  121. upload_assistant-5.0/src/trackers/GAZELLE/bjshare.py +2470 -0
  122. upload_assistant-5.0/src/trackers/GAZELLE/brasiltracker.py +1372 -0
  123. upload_assistant-5.0/src/trackers/GAZELLE/greatposterwall.py +1295 -0
  124. upload_assistant-5.0/src/trackers/GAZELLE/nebulance.py +295 -0
  125. upload_assistant-5.0/src/trackers/GAZELLE/orpheus.py +1360 -0
  126. upload_assistant-5.0/src/trackers/GAZELLE/passthepopcorn.py +1909 -0
  127. upload_assistant-5.0/src/trackers/GAZELLE/simurg.py +873 -0
  128. upload_assistant-5.0/src/trackers/LUMINANCE/__init__.py +606 -0
  129. upload_assistant-5.0/src/trackers/LUMINANCE/happyfappy.py +103 -0
  130. upload_assistant-5.0/src/trackers/LUMINANCE/kufirc.py +182 -0
  131. upload_assistant-5.0/src/trackers/NEXUSPHP/__init__.py +504 -0
  132. upload_assistant-5.0/src/trackers/NEXUSPHP/ptcafe.py +419 -0
  133. upload_assistant-5.0/src/trackers/NEXUSPHP/pterclub.py +575 -0
  134. upload_assistant-5.0/src/trackers/NEXUSPHP/ptgtk.py +192 -0
  135. upload_assistant-5.0/src/trackers/NEXUSPHP/ptskit.py +114 -0
  136. upload_assistant-5.0/src/trackers/NEXUSPHP/qingwa.py +278 -0
  137. upload_assistant-5.0/src/trackers/NEXUSPHP/railgunpt.py +186 -0
  138. upload_assistant-5.0/src/trackers/NEXUSPHP/zmpt.py +141 -0
  139. upload_assistant-5.0/src/trackers/UNIT3D/__init__.py +893 -0
  140. upload_assistant-5.0/src/trackers/UNIT3D/aither.py +216 -0
  141. upload_assistant-5.0/src/trackers/UNIT3D/asiancinema.py +192 -0
  142. upload_assistant-5.0/src/trackers/UNIT3D/bitporn.py +313 -0
  143. upload_assistant-5.0/src/trackers/UNIT3D/blutopia.py +254 -0
  144. upload_assistant-5.0/src/trackers/UNIT3D/capybarabr.py +420 -0
  145. upload_assistant-5.0/src/trackers/UNIT3D/cinematik.py +676 -0
  146. upload_assistant-5.0/src/trackers/UNIT3D/darkpeers.py +657 -0
  147. upload_assistant-5.0/src/trackers/UNIT3D/dreadvault.py +226 -0
  148. upload_assistant-5.0/src/trackers/UNIT3D/emuwarez.py +635 -0
  149. upload_assistant-5.0/src/trackers/UNIT3D/hawkeuno.py +649 -0
  150. upload_assistant-5.0/src/trackers/UNIT3D/homiehelpdesk.py +298 -0
  151. upload_assistant-5.0/src/trackers/UNIT3D/infinityhd.py +344 -0
  152. upload_assistant-5.0/src/trackers/UNIT3D/lastdigitalunderground.py +214 -0
  153. upload_assistant-5.0/src/trackers/UNIT3D/latteam.py +324 -0
  154. upload_assistant-5.0/src/trackers/UNIT3D/locadora.py +163 -0
  155. upload_assistant-5.0/src/trackers/UNIT3D/lst.py +316 -0
  156. upload_assistant-5.0/src/trackers/UNIT3D/luminarr.py +57 -0
  157. upload_assistant-5.0/src/trackers/UNIT3D/midnightscene.py +264 -0
  158. upload_assistant-5.0/src/trackers/UNIT3D/oldtoonsworld.py +193 -0
  159. upload_assistant-5.0/src/trackers/UNIT3D/onlyencodes.py +276 -0
  160. upload_assistant-5.0/src/trackers/UNIT3D/peergarden.py +267 -0
  161. upload_assistant-5.0/src/trackers/UNIT3D/polishtorrent.py +56 -0
  162. upload_assistant-5.0/src/trackers/UNIT3D/portugas.py +217 -0
  163. upload_assistant-5.0/src/trackers/UNIT3D/racing4everyone.py +148 -0
  164. upload_assistant-5.0/src/trackers/UNIT3D/reelflix.py +90 -0
  165. upload_assistant-5.0/src/trackers/UNIT3D/retromoviesclub.py +206 -0
  166. upload_assistant-5.0/src/trackers/UNIT3D/rockethd.py +389 -0
  167. upload_assistant-5.0/src/trackers/UNIT3D/seedpool.py +261 -0
  168. upload_assistant-5.0/src/trackers/UNIT3D/shareisland.py +1103 -0
  169. upload_assistant-5.0/src/trackers/UNIT3D/skipthecommercials.py +100 -0
  170. upload_assistant-5.0/src/trackers/UNIT3D/theoldschool.py +156 -0
  171. upload_assistant-5.0/src/trackers/UNIT3D/tlzdigital.py +104 -0
  172. upload_assistant-5.0/src/trackers/UNIT3D/torrenteros.py +142 -0
  173. upload_assistant-5.0/src/trackers/UNIT3D/ulcx.py +337 -0
  174. upload_assistant-5.0/src/trackers/UNIT3D/utopia.py +206 -0
  175. upload_assistant-5.0/src/trackers/UNIT3D/yuscene.py +167 -0
  176. upload_assistant-5.0/src/trackers/UNIT3D/zenith.py +533 -0
  177. upload_assistant-5.0/src/trackers/USENET/curupira.py +552 -0
  178. upload_assistant-5.0/src/trackers/USENET/drunkenslug.py +195 -0
  179. upload_assistant-5.0/src/trackers/USENET/nzbgeek.py +233 -0
  180. upload_assistant-5.0/src/trackers/USENET/nzbnest.py +179 -0
  181. upload_assistant-5.0/src/trackers/USENET/search_helpers.py +237 -0
  182. upload_assistant-5.0/src/trackers/USENET/suio.py +591 -0
  183. upload_assistant-5.0/src/trackers/amigosshare.py +1108 -0
  184. upload_assistant-5.0/src/trackers/beyondhd.py +647 -0
  185. upload_assistant-5.0/src/trackers/bithdtv.py +248 -0
  186. upload_assistant-5.0/src/trackers/broadcasthenet.py +1059 -0
  187. upload_assistant-5.0/src/trackers/cathoderaytube.py +674 -0
  188. upload_assistant-5.0/src/trackers/common.py +1584 -0
  189. upload_assistant-5.0/src/trackers/czteam.py +378 -0
  190. upload_assistant-5.0/src/trackers/digitalcore.py +381 -0
  191. upload_assistant-5.0/src/trackers/dirtybytes.py +375 -0
  192. upload_assistant-5.0/src/trackers/fileiplay.py +478 -0
  193. upload_assistant-5.0/src/trackers/filelist.py +526 -0
  194. upload_assistant-5.0/src/trackers/flood.py +296 -0
  195. upload_assistant-5.0/src/trackers/funfile.py +542 -0
  196. upload_assistant-5.0/src/trackers/hdbits.py +948 -0
  197. upload_assistant-5.0/src/trackers/hdspace.py +341 -0
  198. upload_assistant-5.0/src/trackers/hdtorrents.py +336 -0
  199. upload_assistant-5.0/src/trackers/immortalseed.py +382 -0
  200. upload_assistant-5.0/src/trackers/iptorrents.py +564 -0
  201. upload_assistant-5.0/src/trackers/makingoff.py +2144 -0
  202. upload_assistant-5.0/src/trackers/mteam.py +681 -0
  203. upload_assistant-5.0/src/trackers/retroflix.py +462 -0
  204. upload_assistant-5.0/src/trackers/speedapp.py +430 -0
  205. upload_assistant-5.0/src/trackers/swarmazon.py +244 -0
  206. upload_assistant-5.0/src/trackers/torrentleech.py +492 -0
  207. upload_assistant-5.0/src/trackers/totheglory.py +501 -0
  208. upload_assistant-5.0/src/trackers/tvchaosuk.py +1025 -0
  209. upload_assistant-5.0/src/trackers/vultu.py +303 -0
  210. upload_assistant-5.0/src/trackersetup.py +1353 -0
  211. upload_assistant-5.0/src/trackerstatus.py +466 -0
  212. upload_assistant-5.0/src/trump_reports.py +441 -0
  213. upload_assistant-5.0/src/tvdb.py +901 -0
  214. upload_assistant-5.0/src/tvmaze.py +362 -0
  215. upload_assistant-5.0/src/unit3d_catalogs.py +190 -0
  216. upload_assistant-5.0/src/update_checker.py +513 -0
  217. upload_assistant-5.0/src/uphelper.py +1222 -0
  218. upload_assistant-5.0/src/upload_history.py +1300 -0
  219. upload_assistant-5.0/src/upload_schedule.py +191 -0
  220. upload_assistant-5.0/src/uploadorder.py +54 -0
  221. upload_assistant-5.0/src/uploadscreens.py +1332 -0
  222. upload_assistant-5.0/src/usenetcreate.py +1905 -0
  223. upload_assistant-5.0/src/version.py +5 -0
  224. upload_assistant-5.0/src/video.py +450 -0
  225. upload_assistant-5.0/src/webui_events.py +758 -0
  226. upload_assistant-5.0/src/webui_paths.py +195 -0
  227. upload_assistant-5.0/src/xxx_lookup.py +410 -0
  228. upload_assistant-5.0/src/xxx_match.py +682 -0
  229. upload_assistant-5.0/tests/test_aither.py +424 -0
  230. upload_assistant-5.0/tests/test_amigosshare.py +598 -0
  231. upload_assistant-5.0/tests/test_anthelion.py +287 -0
  232. upload_assistant-5.0/tests/test_api_key_expiry.py +268 -0
  233. upload_assistant-5.0/tests/test_app_db.py +127 -0
  234. upload_assistant-5.0/tests/test_artwork_requirements.py +449 -0
  235. upload_assistant-5.0/tests/test_avistaz_names.py +107 -0
  236. upload_assistant-5.0/tests/test_bbcode.py +346 -0
  237. upload_assistant-5.0/tests/test_beyondhd_rules.py +51 -0
  238. upload_assistant-5.0/tests/test_binary_dependency_updater.py +335 -0
  239. upload_assistant-5.0/tests/test_bitporn.py +131 -0
  240. upload_assistant-5.0/tests/test_bjshare.py +711 -0
  241. upload_assistant-5.0/tests/test_bluray_subheaders.py +508 -0
  242. upload_assistant-5.0/tests/test_broadcasthenet.py +593 -0
  243. upload_assistant-5.0/tests/test_category_from_args.py +155 -0
  244. upload_assistant-5.0/tests/test_cathoderaytube.py +365 -0
  245. upload_assistant-5.0/tests/test_client_path_handling.py +358 -0
  246. upload_assistant-5.0/tests/test_clients.py +197 -0
  247. upload_assistant-5.0/tests/test_clients_tracker_comments.py +68 -0
  248. upload_assistant-5.0/tests/test_config_sync.py +268 -0
  249. upload_assistant-5.0/tests/test_confirmation_languages.py +164 -0
  250. upload_assistant-5.0/tests/test_cross_seed_after_upload.py +75 -0
  251. upload_assistant-5.0/tests/test_czteam.py +338 -0
  252. upload_assistant-5.0/tests/test_darkpeers.py +291 -0
  253. upload_assistant-5.0/tests/test_description_review.py +267 -0
  254. upload_assistant-5.0/tests/test_dirtybytes.py +212 -0
  255. upload_assistant-5.0/tests/test_dreadvault.py +978 -0
  256. upload_assistant-5.0/tests/test_dvd_unmapped_tracks.py +78 -0
  257. upload_assistant-5.0/tests/test_early_tasks.py +171 -0
  258. upload_assistant-5.0/tests/test_ebook_screenshot_pages.py +276 -0
  259. upload_assistant-5.0/tests/test_editarg_suggestions.py +96 -0
  260. upload_assistant-5.0/tests/test_example_config_structure.py +51 -0
  261. upload_assistant-5.0/tests/test_existing_content.py +311 -0
  262. upload_assistant-5.0/tests/test_exoticaz.py +359 -0
  263. upload_assistant-5.0/tests/test_external_tools.py +89 -0
  264. upload_assistant-5.0/tests/test_fileiplay.py +434 -0
  265. upload_assistant-5.0/tests/test_game_description.py +209 -0
  266. upload_assistant-5.0/tests/test_game_platform_detection.py +83 -0
  267. upload_assistant-5.0/tests/test_get_desc_packs.py +241 -0
  268. upload_assistant-5.0/tests/test_get_disc_bdinfo.py +150 -0
  269. upload_assistant-5.0/tests/test_hardcoded_subtitle_language.py +16 -0
  270. upload_assistant-5.0/tests/test_hawkeuno.py +302 -0
  271. upload_assistant-5.0/tests/test_hdbits.py +255 -0
  272. upload_assistant-5.0/tests/test_hdbits_images.py +70 -0
  273. upload_assistant-5.0/tests/test_imported_ua_sections.py +179 -0
  274. upload_assistant-5.0/tests/test_incomplete_tracker_names.py +155 -0
  275. upload_assistant-5.0/tests/test_infinityhd.py +52 -0
  276. upload_assistant-5.0/tests/test_infinityhd_homonym_fallback.py +135 -0
  277. upload_assistant-5.0/tests/test_infinityhd_naming.py +333 -0
  278. upload_assistant-5.0/tests/test_is_scene.py +661 -0
  279. upload_assistant-5.0/tests/test_language_names.py +65 -0
  280. upload_assistant-5.0/tests/test_luminance.py +450 -0
  281. upload_assistant-5.0/tests/test_manual_input.py +269 -0
  282. upload_assistant-5.0/tests/test_manual_sports.py +89 -0
  283. upload_assistant-5.0/tests/test_mediainfo_service.py +223 -0
  284. upload_assistant-5.0/tests/test_meta_sports.py +237 -0
  285. upload_assistant-5.0/tests/test_music_architecture.py +1246 -0
  286. upload_assistant-5.0/tests/test_nordicquality.py +138 -0
  287. upload_assistant-5.0/tests/test_onlyencodes.py +234 -0
  288. upload_assistant-5.0/tests/test_orpheus_rules.py +752 -0
  289. upload_assistant-5.0/tests/test_pack_concurrency.py +356 -0
  290. upload_assistant-5.0/tests/test_payload_preview.py +379 -0
  291. upload_assistant-5.0/tests/test_payload_preview_trackers.py +152 -0
  292. upload_assistant-5.0/tests/test_post_upload_hooks.py +98 -0
  293. upload_assistant-5.0/tests/test_prep_helpers_bluray.py +72 -0
  294. upload_assistant-5.0/tests/test_qui_fallback.py +184 -0
  295. upload_assistant-5.0/tests/test_region.py +29 -0
  296. upload_assistant-5.0/tests/test_rehostimages.py +306 -0
  297. upload_assistant-5.0/tests/test_release_memory.py +426 -0
  298. upload_assistant-5.0/tests/test_resource_coordinator.py +321 -0
  299. upload_assistant-5.0/tests/test_samaritano.py +229 -0
  300. upload_assistant-5.0/tests/test_screenshot_overlays.py +304 -0
  301. upload_assistant-5.0/tests/test_screenshot_review.py +463 -0
  302. upload_assistant-5.0/tests/test_season_pack_completeness.py +267 -0
  303. upload_assistant-5.0/tests/test_seedpool.py +147 -0
  304. upload_assistant-5.0/tests/test_simurg.py +362 -0
  305. upload_assistant-5.0/tests/test_site_check_unsupported_skip.py +49 -0
  306. upload_assistant-5.0/tests/test_slot_rules_integration.py +220 -0
  307. upload_assistant-5.0/tests/test_slot_rules_orpheus.py +211 -0
  308. upload_assistant-5.0/tests/test_slot_rules_trackers.py +489 -0
  309. upload_assistant-5.0/tests/test_stats.py +1043 -0
  310. upload_assistant-5.0/tests/test_tags.py +77 -0
  311. upload_assistant-5.0/tests/test_takescreens_ffmpeg.py +833 -0
  312. upload_assistant-5.0/tests/test_torrent_manifest.py +312 -0
  313. upload_assistant-5.0/tests/test_torrent_reuse.py +1056 -0
  314. upload_assistant-5.0/tests/test_tracker_descriptions.py +417 -0
  315. upload_assistant-5.0/tests/test_tracker_setup.py +164 -0
  316. upload_assistant-5.0/tests/test_tracker_tags.py +34 -0
  317. upload_assistant-5.0/tests/test_trackerstatus_additional_checks.py +151 -0
  318. upload_assistant-5.0/tests/test_trackerstatus_douban.py +94 -0
  319. upload_assistant-5.0/tests/test_trump_reports.py +626 -0
  320. upload_assistant-5.0/tests/test_tvdb_season_episodes.py +117 -0
  321. upload_assistant-5.0/tests/test_ulcx_rules.py +277 -0
  322. upload_assistant-5.0/tests/test_unit3d_comparisons.py +27 -0
  323. upload_assistant-5.0/tests/test_unit3d_description_limit.py +163 -0
  324. upload_assistant-5.0/tests/test_unit3d_flags.py +255 -0
  325. upload_assistant-5.0/tests/test_update_checker.py +258 -0
  326. upload_assistant-5.0/tests/test_uphelper_prompts.py +315 -0
  327. upload_assistant-5.0/tests/test_upload_history.py +575 -0
  328. upload_assistant-5.0/tests/test_upload_order.py +263 -0
  329. upload_assistant-5.0/tests/test_upload_schedule.py +356 -0
  330. upload_assistant-5.0/tests/test_uploadscreens.py +484 -0
  331. upload_assistant-5.0/tests/test_usenet_pesto.py +711 -0
  332. upload_assistant-5.0/tests/test_validate_mediainfo.py +41 -0
  333. upload_assistant-5.0/tests/test_video_discovery.py +165 -0
  334. upload_assistant-5.0/tests/test_video_naming.py +400 -0
  335. upload_assistant-5.0/tests/test_webui_browse_limits.py +144 -0
  336. upload_assistant-5.0/tests/test_webui_client_skip_summary.py +131 -0
  337. upload_assistant-5.0/tests/test_webui_command_validation.py +96 -0
  338. upload_assistant-5.0/tests/test_webui_config_batch.py +408 -0
  339. upload_assistant-5.0/tests/test_webui_debug_run_details.py +96 -0
  340. upload_assistant-5.0/tests/test_webui_dupe_review_progress.py +277 -0
  341. upload_assistant-5.0/tests/test_webui_example_metadata.py +398 -0
  342. upload_assistant-5.0/tests/test_webui_folder_search.py +254 -0
  343. upload_assistant-5.0/tests/test_webui_gui_events.py +638 -0
  344. upload_assistant-5.0/tests/test_webui_history.py +182 -0
  345. upload_assistant-5.0/tests/test_webui_image_hosts.py +22 -0
  346. upload_assistant-5.0/tests/test_webui_kill.py +162 -0
  347. upload_assistant-5.0/tests/test_webui_release_group_overrides.py +230 -0
  348. upload_assistant-5.0/tests/test_webui_screenshot_capture.py +103 -0
  349. upload_assistant-5.0/tests/test_webui_screenshot_overlays.py +92 -0
  350. upload_assistant-5.0/tests/test_webui_session_config.py +34 -0
  351. upload_assistant-5.0/tests/test_webui_static_cache.py +36 -0
  352. upload_assistant-5.0/tests/test_webui_stats.py +550 -0
  353. upload_assistant-5.0/tests/test_webui_tracker_check_feedback.py +263 -0
  354. upload_assistant-5.0/tests/test_webui_tracker_default_overrides.py +198 -0
  355. upload_assistant-5.0/tests/test_webui_trackers.py +436 -0
  356. upload_assistant-5.0/tests/test_webui_upload_paths.py +804 -0
  357. upload_assistant-5.0/tests/test_xxx_contact_sheets.py +723 -0
  358. upload_assistant-5.0/tests/test_xxx_metadata.py +859 -0
  359. upload_assistant-5.0/tests/test_zenith.py +141 -0
  360. upload_assistant-5.0/tests/test_zmpt.py +169 -0
  361. upload_assistant-5.0/upload.py +3841 -0
  362. upload_assistant-5.0/upload_assistant.egg-info/PKG-INFO +589 -0
  363. upload_assistant-5.0/upload_assistant.egg-info/SOURCES.txt +1206 -0
  364. upload_assistant-5.0/upload_assistant.egg-info/requires.txt +47 -0
  365. upload_assistant-5.0/web_ui/access_log.py +189 -0
  366. upload_assistant-5.0/web_ui/auth.py +684 -0
  367. upload_assistant-5.0/web_ui/server.py +8684 -0
  368. upload_assistant-5.0/web_ui/static/css/theme.css +5469 -0
  369. upload_assistant-5.0/web_ui/static/fonts/Inter-OFL.txt +93 -0
  370. upload_assistant-5.0/web_ui/static/fonts/JetBrainsMono-OFL.txt +93 -0
  371. upload_assistant-5.0/web_ui/static/fonts/inter-latin-ext-wght.woff2 +0 -0
  372. upload_assistant-5.0/web_ui/static/fonts/inter-latin-wght.woff2 +0 -0
  373. upload_assistant-5.0/web_ui/static/fonts/jetbrains-mono-latin-ext-wght.woff2 +0 -0
  374. upload_assistant-5.0/web_ui/static/fonts/jetbrains-mono-latin-wght.woff2 +0 -0
  375. upload_assistant-5.0/web_ui/static/img/lucide-icons/archive.svg +17 -0
  376. upload_assistant-5.0/web_ui/static/img/trackers/amigosshare.png +0 -0
  377. upload_assistant-5.0/web_ui/static/img/trackers/czteam.png +0 -0
  378. upload_assistant-5.0/web_ui/static/img/trackers/dirtybytes.png +0 -0
  379. upload_assistant-5.0/web_ui/static/img/trackers/exoticaz.png +0 -0
  380. upload_assistant-5.0/web_ui/static/img/trackers/fileiplay.png +0 -0
  381. upload_assistant-5.0/web_ui/static/img/trackers/happyfappy.png +0 -0
  382. upload_assistant-5.0/web_ui/static/img/trackers/kufirc.png +0 -0
  383. upload_assistant-5.0/web_ui/static/img/trackers/simurg.png +0 -0
  384. upload_assistant-5.0/web_ui/static/img/trackers/zmpt.png +0 -0
  385. upload_assistant-5.0/web_ui/static/js/app.js +13459 -0
  386. upload_assistant-5.0/web_ui/static/js/config_app.js +12835 -0
  387. upload_assistant-5.0/web_ui/static/js/config_image_host_fallback.js +85 -0
  388. upload_assistant-5.0/web_ui/static/js/history_app.js +1452 -0
  389. upload_assistant-5.0/web_ui/static/js/run_gui_state.js +832 -0
  390. upload_assistant-5.0/web_ui/static/js/screenshot_mode.js +368 -0
  391. upload_assistant-5.0/web_ui/static/js/shared_utils.js +2298 -0
  392. upload_assistant-5.0/web_ui/static/js/stats_app.js +3745 -0
  393. upload_assistant-5.0/web_ui/static/js/tracker_layout.js +185 -0
  394. upload_assistant-5.0/web_ui/static/manifest.webmanifest +20 -0
  395. upload_assistant-5.0/web_ui/templates/_theme_bootstrap.html +31 -0
  396. upload_assistant-5.0/web_ui/templates/config.html +125 -0
  397. upload_assistant-5.0/web_ui/templates/history.html +85 -0
  398. upload_assistant-5.0/web_ui/templates/index.html +152 -0
  399. upload_assistant-5.0/web_ui/templates/login.html +226 -0
  400. upload_assistant-5.0/web_ui/templates/login_recovery.html +144 -0
  401. upload_assistant-5.0/web_ui/templates/stats.html +87 -0
  402. upload_assistant-4.8/PKG-INFO +0 -589
  403. upload_assistant-4.8/README.md +0 -515
  404. upload_assistant-4.8/bin/binary_dependencies.py +0 -7
  405. upload_assistant-4.8/bin/binary_dependency_pins/pesto.py +0 -9
  406. upload_assistant-4.8/bin/binary_dependency_pins/seven_zip.py +0 -11
  407. upload_assistant-4.8/bin/get_bdinfo.py +0 -232
  408. upload_assistant-4.8/bin/get_mkbrr.py +0 -368
  409. upload_assistant-4.8/data/example_config.py +0 -3835
  410. upload_assistant-4.8/data/unit3d_catalogs/aither.json +0 -137
  411. upload_assistant-4.8/pyproject.toml +0 -189
  412. upload_assistant-4.8/setup.py +0 -23
  413. upload_assistant-4.8/src/add_comparison.py +0 -196
  414. upload_assistant-4.8/src/api_key_expiry.py +0 -180
  415. upload_assistant-4.8/src/args.py +0 -1739
  416. upload_assistant-4.8/src/artwork.py +0 -265
  417. upload_assistant-4.8/src/audible.py +0 -230
  418. upload_assistant-4.8/src/audio.py +0 -707
  419. upload_assistant-4.8/src/audio_classifier.py +0 -397
  420. upload_assistant-4.8/src/bbcode.py +0 -795
  421. upload_assistant-4.8/src/binaries.py +0 -40
  422. upload_assistant-4.8/src/bluray_com.py +0 -1889
  423. upload_assistant-4.8/src/book_extractors.py +0 -829
  424. upload_assistant-4.8/src/book_prep.py +0 -1199
  425. upload_assistant-4.8/src/btnid.py +0 -245
  426. upload_assistant-4.8/src/check_requirements.py +0 -139
  427. upload_assistant-4.8/src/clients.py +0 -824
  428. upload_assistant-4.8/src/cogs/redaction.py +0 -193
  429. upload_assistant-4.8/src/configvalidator.py +0 -941
  430. upload_assistant-4.8/src/console.py +0 -477
  431. upload_assistant-4.8/src/cookie_auth.py +0 -848
  432. upload_assistant-4.8/src/description_languages.py +0 -242
  433. upload_assistant-4.8/src/description_review.py +0 -86
  434. upload_assistant-4.8/src/disc_menus.py +0 -404
  435. upload_assistant-4.8/src/discparse.py +0 -1087
  436. upload_assistant-4.8/src/dupe_checking.py +0 -1069
  437. upload_assistant-4.8/src/early_tasks.py +0 -148
  438. upload_assistant-4.8/src/edition.py +0 -425
  439. upload_assistant-4.8/src/exceptions.py +0 -46
  440. upload_assistant-4.8/src/exportmi.py +0 -426
  441. upload_assistant-4.8/src/external_tools.py +0 -322
  442. upload_assistant-4.8/src/gazellegames.py +0 -379
  443. upload_assistant-4.8/src/get_desc.py +0 -2755
  444. upload_assistant-4.8/src/get_disc.py +0 -88
  445. upload_assistant-4.8/src/get_name.py +0 -793
  446. upload_assistant-4.8/src/get_source.py +0 -122
  447. upload_assistant-4.8/src/get_tracker_data.py +0 -575
  448. upload_assistant-4.8/src/getseasonep.py +0 -536
  449. upload_assistant-4.8/src/google_books.py +0 -149
  450. upload_assistant-4.8/src/igdb.py +0 -271
  451. upload_assistant-4.8/src/imdb.py +0 -1038
  452. upload_assistant-4.8/src/is_scene.py +0 -445
  453. upload_assistant-4.8/src/languages.py +0 -540
  454. upload_assistant-4.8/src/manualpackage.py +0 -111
  455. upload_assistant-4.8/src/meta.py +0 -769
  456. upload_assistant-4.8/src/metadata_cache.py +0 -170
  457. upload_assistant-4.8/src/metadata_searching.py +0 -1029
  458. upload_assistant-4.8/src/music/analyzer.py +0 -627
  459. upload_assistant-4.8/src/music/models.py +0 -156
  460. upload_assistant-4.8/src/music/prep.py +0 -473
  461. upload_assistant-4.8/src/music/sources.py +0 -615
  462. upload_assistant-4.8/src/myanonamouse.py +0 -188
  463. upload_assistant-4.8/src/openlibrary.py +0 -196
  464. upload_assistant-4.8/src/post_upload_hooks.py +0 -197
  465. upload_assistant-4.8/src/prep.py +0 -476
  466. upload_assistant-4.8/src/prep_game.py +0 -1288
  467. upload_assistant-4.8/src/prep_helpers.py +0 -1933
  468. upload_assistant-4.8/src/qbitwait.py +0 -413
  469. upload_assistant-4.8/src/queuemanage.py +0 -779
  470. upload_assistant-4.8/src/region.py +0 -3246
  471. upload_assistant-4.8/src/rehostimages.py +0 -837
  472. upload_assistant-4.8/src/resource_coordinator.py +0 -256
  473. upload_assistant-4.8/src/screenshot_manifest.py +0 -183
  474. upload_assistant-4.8/src/screenshot_overlays.py +0 -120
  475. upload_assistant-4.8/src/screenshot_review.py +0 -534
  476. upload_assistant-4.8/src/slot_rules/base.py +0 -255
  477. upload_assistant-4.8/src/slot_rules/models.py +0 -29
  478. upload_assistant-4.8/src/slot_rules/profile.py +0 -559
  479. upload_assistant-4.8/src/slot_rules/trackers/aither.py +0 -104
  480. upload_assistant-4.8/src/slot_rules/trackers/anthelion.py +0 -93
  481. upload_assistant-4.8/src/slot_rules/trackers/avistaz.py +0 -142
  482. upload_assistant-4.8/src/slot_rules/trackers/brazilian.py +0 -171
  483. upload_assistant-4.8/src/slot_rules/trackers/cathoderaytube.py +0 -62
  484. upload_assistant-4.8/src/slot_rules/trackers/hdtorrents.py +0 -90
  485. upload_assistant-4.8/src/slot_rules/trackers/lst.py +0 -89
  486. upload_assistant-4.8/src/slot_rules/trackers/luminarr.py +0 -78
  487. upload_assistant-4.8/src/slot_rules/trackers/orpheus.py +0 -463
  488. upload_assistant-4.8/src/slot_rules/trackers/simple.py +0 -73
  489. upload_assistant-4.8/src/slot_rules/trackers/ulcx.py +0 -80
  490. upload_assistant-4.8/src/stats.py +0 -1056
  491. upload_assistant-4.8/src/tags.py +0 -177
  492. upload_assistant-4.8/src/takescreens.py +0 -2990
  493. upload_assistant-4.8/src/tmdb.py +0 -2164
  494. upload_assistant-4.8/src/torrent_clients/qbittorrent.py +0 -2229
  495. upload_assistant-4.8/src/torrent_clients/rtorrent.py +0 -436
  496. upload_assistant-4.8/src/torrent_manifest.py +0 -227
  497. upload_assistant-4.8/src/torrent_provision.py +0 -103
  498. upload_assistant-4.8/src/torrentcreate.py +0 -675
  499. upload_assistant-4.8/src/tracker_descriptions.py +0 -102
  500. upload_assistant-4.8/src/tracker_images.py +0 -92
  501. upload_assistant-4.8/src/trackerhandle.py +0 -431
  502. upload_assistant-4.8/src/trackermeta.py +0 -799
  503. upload_assistant-4.8/src/trackers/AVISTAZ/__init__.py +0 -1363
  504. upload_assistant-4.8/src/trackers/AVISTAZ/cinemaz.py +0 -388
  505. upload_assistant-4.8/src/trackers/AVISTAZ/privatehd.py +0 -651
  506. upload_assistant-4.8/src/trackers/AVISTAZ/routing.py +0 -360
  507. upload_assistant-4.8/src/trackers/GAZELLE/alpharatio.py +0 -473
  508. upload_assistant-4.8/src/trackers/GAZELLE/anthelion.py +0 -611
  509. upload_assistant-4.8/src/trackers/GAZELLE/bjshare.py +0 -1943
  510. upload_assistant-4.8/src/trackers/GAZELLE/brasiltracker.py +0 -1242
  511. upload_assistant-4.8/src/trackers/GAZELLE/greatposterwall.py +0 -1210
  512. upload_assistant-4.8/src/trackers/GAZELLE/nebulance.py +0 -285
  513. upload_assistant-4.8/src/trackers/GAZELLE/orpheus.py +0 -1333
  514. upload_assistant-4.8/src/trackers/GAZELLE/passthepopcorn.py +0 -1714
  515. upload_assistant-4.8/src/trackers/NEXUSPHP/__init__.py +0 -455
  516. upload_assistant-4.8/src/trackers/NEXUSPHP/ptcafe.py +0 -419
  517. upload_assistant-4.8/src/trackers/NEXUSPHP/pterclub.py +0 -543
  518. upload_assistant-4.8/src/trackers/NEXUSPHP/ptgtk.py +0 -192
  519. upload_assistant-4.8/src/trackers/NEXUSPHP/ptskit.py +0 -114
  520. upload_assistant-4.8/src/trackers/NEXUSPHP/qingwa.py +0 -254
  521. upload_assistant-4.8/src/trackers/NEXUSPHP/railgunpt.py +0 -186
  522. upload_assistant-4.8/src/trackers/UNIT3D/__init__.py +0 -776
  523. upload_assistant-4.8/src/trackers/UNIT3D/aither.py +0 -133
  524. upload_assistant-4.8/src/trackers/UNIT3D/asiancinema.py +0 -190
  525. upload_assistant-4.8/src/trackers/UNIT3D/bitporn.py +0 -238
  526. upload_assistant-4.8/src/trackers/UNIT3D/blutopia.py +0 -250
  527. upload_assistant-4.8/src/trackers/UNIT3D/capybarabr.py +0 -411
  528. upload_assistant-4.8/src/trackers/UNIT3D/cinematik.py +0 -630
  529. upload_assistant-4.8/src/trackers/UNIT3D/darkpeers.py +0 -625
  530. upload_assistant-4.8/src/trackers/UNIT3D/dreadvault.py +0 -236
  531. upload_assistant-4.8/src/trackers/UNIT3D/emuwarez.py +0 -637
  532. upload_assistant-4.8/src/trackers/UNIT3D/hawkeuno.py +0 -371
  533. upload_assistant-4.8/src/trackers/UNIT3D/homiehelpdesk.py +0 -293
  534. upload_assistant-4.8/src/trackers/UNIT3D/infinityhd.py +0 -323
  535. upload_assistant-4.8/src/trackers/UNIT3D/lastdigitalunderground.py +0 -211
  536. upload_assistant-4.8/src/trackers/UNIT3D/latteam.py +0 -321
  537. upload_assistant-4.8/src/trackers/UNIT3D/locadora.py +0 -131
  538. upload_assistant-4.8/src/trackers/UNIT3D/lst.py +0 -292
  539. upload_assistant-4.8/src/trackers/UNIT3D/luminarr.py +0 -64
  540. upload_assistant-4.8/src/trackers/UNIT3D/midnightscene.py +0 -253
  541. upload_assistant-4.8/src/trackers/UNIT3D/oldtoonsworld.py +0 -218
  542. upload_assistant-4.8/src/trackers/UNIT3D/onlyencodes.py +0 -272
  543. upload_assistant-4.8/src/trackers/UNIT3D/peergarden.py +0 -267
  544. upload_assistant-4.8/src/trackers/UNIT3D/polishtorrent.py +0 -53
  545. upload_assistant-4.8/src/trackers/UNIT3D/portugas.py +0 -188
  546. upload_assistant-4.8/src/trackers/UNIT3D/racing4everyone.py +0 -137
  547. upload_assistant-4.8/src/trackers/UNIT3D/reelflix.py +0 -87
  548. upload_assistant-4.8/src/trackers/UNIT3D/retromoviesclub.py +0 -203
  549. upload_assistant-4.8/src/trackers/UNIT3D/rockethd.py +0 -383
  550. upload_assistant-4.8/src/trackers/UNIT3D/seedpool.py +0 -258
  551. upload_assistant-4.8/src/trackers/UNIT3D/shareisland.py +0 -1078
  552. upload_assistant-4.8/src/trackers/UNIT3D/skipthecommercials.py +0 -92
  553. upload_assistant-4.8/src/trackers/UNIT3D/theoldschool.py +0 -134
  554. upload_assistant-4.8/src/trackers/UNIT3D/tlzdigital.py +0 -90
  555. upload_assistant-4.8/src/trackers/UNIT3D/torrenteros.py +0 -150
  556. upload_assistant-4.8/src/trackers/UNIT3D/ulcx.py +0 -307
  557. upload_assistant-4.8/src/trackers/UNIT3D/utopia.py +0 -204
  558. upload_assistant-4.8/src/trackers/UNIT3D/yuscene.py +0 -174
  559. upload_assistant-4.8/src/trackers/UNIT3D/zenith.py +0 -522
  560. upload_assistant-4.8/src/trackers/USENET/curupira.py +0 -513
  561. upload_assistant-4.8/src/trackers/USENET/drunkenslug.py +0 -189
  562. upload_assistant-4.8/src/trackers/USENET/nzbgeek.py +0 -196
  563. upload_assistant-4.8/src/trackers/USENET/nzbnest.py +0 -169
  564. upload_assistant-4.8/src/trackers/USENET/search_helpers.py +0 -244
  565. upload_assistant-4.8/src/trackers/USENET/suio.py +0 -535
  566. upload_assistant-4.8/src/trackers/beyondhd.py +0 -605
  567. upload_assistant-4.8/src/trackers/bithdtv.py +0 -200
  568. upload_assistant-4.8/src/trackers/broadcasthenet.py +0 -969
  569. upload_assistant-4.8/src/trackers/cathoderaytube.py +0 -647
  570. upload_assistant-4.8/src/trackers/common.py +0 -1575
  571. upload_assistant-4.8/src/trackers/digitalcore.py +0 -328
  572. upload_assistant-4.8/src/trackers/filelist.py +0 -467
  573. upload_assistant-4.8/src/trackers/flood.py +0 -272
  574. upload_assistant-4.8/src/trackers/funfile.py +0 -524
  575. upload_assistant-4.8/src/trackers/hdbits.py +0 -922
  576. upload_assistant-4.8/src/trackers/hdspace.py +0 -299
  577. upload_assistant-4.8/src/trackers/hdtorrents.py +0 -296
  578. upload_assistant-4.8/src/trackers/immortalseed.py +0 -331
  579. upload_assistant-4.8/src/trackers/iptorrents.py +0 -490
  580. upload_assistant-4.8/src/trackers/makingoff.py +0 -2137
  581. upload_assistant-4.8/src/trackers/mteam.py +0 -631
  582. upload_assistant-4.8/src/trackers/retroflix.py +0 -445
  583. upload_assistant-4.8/src/trackers/speedapp.py +0 -367
  584. upload_assistant-4.8/src/trackers/swarmazon.py +0 -211
  585. upload_assistant-4.8/src/trackers/torrentleech.py +0 -427
  586. upload_assistant-4.8/src/trackers/totheglory.py +0 -429
  587. upload_assistant-4.8/src/trackers/tvchaosuk.py +0 -967
  588. upload_assistant-4.8/src/trackers/vultu.py +0 -281
  589. upload_assistant-4.8/src/trackersetup.py +0 -1612
  590. upload_assistant-4.8/src/trackerstatus.py +0 -468
  591. upload_assistant-4.8/src/tvdb.py +0 -871
  592. upload_assistant-4.8/src/tvmaze.py +0 -354
  593. upload_assistant-4.8/src/unit3d_catalogs.py +0 -168
  594. upload_assistant-4.8/src/update_checker.py +0 -487
  595. upload_assistant-4.8/src/uphelper.py +0 -1131
  596. upload_assistant-4.8/src/uploadorder.py +0 -49
  597. upload_assistant-4.8/src/uploadscreens.py +0 -1215
  598. upload_assistant-4.8/src/usenetcreate.py +0 -1812
  599. upload_assistant-4.8/src/version.py +0 -5
  600. upload_assistant-4.8/src/video.py +0 -392
  601. upload_assistant-4.8/src/webui_events.py +0 -694
  602. upload_assistant-4.8/src/webui_paths.py +0 -172
  603. upload_assistant-4.8/tests/test_aither.py +0 -339
  604. upload_assistant-4.8/tests/test_anthelion.py +0 -158
  605. upload_assistant-4.8/tests/test_api_key_expiry.py +0 -253
  606. upload_assistant-4.8/tests/test_artwork_requirements.py +0 -308
  607. upload_assistant-4.8/tests/test_avistaz_names.py +0 -106
  608. upload_assistant-4.8/tests/test_bbcode.py +0 -187
  609. upload_assistant-4.8/tests/test_beyondhd_rules.py +0 -51
  610. upload_assistant-4.8/tests/test_binary_dependency_updater.py +0 -276
  611. upload_assistant-4.8/tests/test_bitporn.py +0 -76
  612. upload_assistant-4.8/tests/test_bjshare.py +0 -313
  613. upload_assistant-4.8/tests/test_bluray_subheaders.py +0 -318
  614. upload_assistant-4.8/tests/test_broadcasthenet.py +0 -533
  615. upload_assistant-4.8/tests/test_cathoderaytube.py +0 -364
  616. upload_assistant-4.8/tests/test_client_path_handling.py +0 -325
  617. upload_assistant-4.8/tests/test_clients.py +0 -151
  618. upload_assistant-4.8/tests/test_clients_tracker_comments.py +0 -60
  619. upload_assistant-4.8/tests/test_config_sync.py +0 -269
  620. upload_assistant-4.8/tests/test_confirmation_languages.py +0 -164
  621. upload_assistant-4.8/tests/test_darkpeers.py +0 -275
  622. upload_assistant-4.8/tests/test_description_review.py +0 -194
  623. upload_assistant-4.8/tests/test_dreadvault.py +0 -978
  624. upload_assistant-4.8/tests/test_early_tasks.py +0 -171
  625. upload_assistant-4.8/tests/test_ebook_screenshot_pages.py +0 -167
  626. upload_assistant-4.8/tests/test_editarg_suggestions.py +0 -91
  627. upload_assistant-4.8/tests/test_example_config_structure.py +0 -56
  628. upload_assistant-4.8/tests/test_external_tools.py +0 -75
  629. upload_assistant-4.8/tests/test_game_description.py +0 -209
  630. upload_assistant-4.8/tests/test_get_desc_packs.py +0 -140
  631. upload_assistant-4.8/tests/test_hardcoded_subtitle_language.py +0 -11
  632. upload_assistant-4.8/tests/test_hawkeuno.py +0 -105
  633. upload_assistant-4.8/tests/test_hdbits.py +0 -226
  634. upload_assistant-4.8/tests/test_hdbits_images.py +0 -71
  635. upload_assistant-4.8/tests/test_incomplete_tracker_names.py +0 -118
  636. upload_assistant-4.8/tests/test_infinityhd.py +0 -44
  637. upload_assistant-4.8/tests/test_is_scene.py +0 -598
  638. upload_assistant-4.8/tests/test_manual_sports.py +0 -83
  639. upload_assistant-4.8/tests/test_mediainfo_service.py +0 -194
  640. upload_assistant-4.8/tests/test_meta_sports.py +0 -222
  641. upload_assistant-4.8/tests/test_music_architecture.py +0 -1248
  642. upload_assistant-4.8/tests/test_nordicquality.py +0 -141
  643. upload_assistant-4.8/tests/test_onlyencodes.py +0 -233
  644. upload_assistant-4.8/tests/test_orpheus_rules.py +0 -737
  645. upload_assistant-4.8/tests/test_post_upload_hooks.py +0 -91
  646. upload_assistant-4.8/tests/test_prep_helpers_bluray.py +0 -64
  647. upload_assistant-4.8/tests/test_region.py +0 -29
  648. upload_assistant-4.8/tests/test_rehostimages.py +0 -266
  649. upload_assistant-4.8/tests/test_resource_coordinator.py +0 -265
  650. upload_assistant-4.8/tests/test_samaritano.py +0 -197
  651. upload_assistant-4.8/tests/test_screenshot_overlays.py +0 -304
  652. upload_assistant-4.8/tests/test_screenshot_review.py +0 -332
  653. upload_assistant-4.8/tests/test_season_pack_completeness.py +0 -261
  654. upload_assistant-4.8/tests/test_seedpool.py +0 -147
  655. upload_assistant-4.8/tests/test_slot_rules_integration.py +0 -199
  656. upload_assistant-4.8/tests/test_slot_rules_orpheus.py +0 -210
  657. upload_assistant-4.8/tests/test_slot_rules_trackers.py +0 -387
  658. upload_assistant-4.8/tests/test_stats.py +0 -736
  659. upload_assistant-4.8/tests/test_tags.py +0 -63
  660. upload_assistant-4.8/tests/test_takescreens_ffmpeg.py +0 -784
  661. upload_assistant-4.8/tests/test_torrent_manifest.py +0 -223
  662. upload_assistant-4.8/tests/test_torrent_reuse.py +0 -764
  663. upload_assistant-4.8/tests/test_tracker_descriptions.py +0 -260
  664. upload_assistant-4.8/tests/test_tracker_setup.py +0 -78
  665. upload_assistant-4.8/tests/test_tracker_tags.py +0 -35
  666. upload_assistant-4.8/tests/test_trackerstatus_additional_checks.py +0 -81
  667. upload_assistant-4.8/tests/test_trackerstatus_douban.py +0 -60
  668. upload_assistant-4.8/tests/test_tvdb_season_episodes.py +0 -111
  669. upload_assistant-4.8/tests/test_ulcx_rules.py +0 -247
  670. upload_assistant-4.8/tests/test_unit3d_comparisons.py +0 -27
  671. upload_assistant-4.8/tests/test_unit3d_flags.py +0 -256
  672. upload_assistant-4.8/tests/test_update_checker.py +0 -262
  673. upload_assistant-4.8/tests/test_uphelper_prompts.py +0 -300
  674. upload_assistant-4.8/tests/test_upload_order.py +0 -229
  675. upload_assistant-4.8/tests/test_uploadscreens.py +0 -382
  676. upload_assistant-4.8/tests/test_usenet_pesto.py +0 -519
  677. upload_assistant-4.8/tests/test_video_discovery.py +0 -77
  678. upload_assistant-4.8/tests/test_video_naming.py +0 -396
  679. upload_assistant-4.8/tests/test_webui_browse_limits.py +0 -149
  680. upload_assistant-4.8/tests/test_webui_client_skip_summary.py +0 -109
  681. upload_assistant-4.8/tests/test_webui_command_validation.py +0 -100
  682. upload_assistant-4.8/tests/test_webui_config_batch.py +0 -361
  683. upload_assistant-4.8/tests/test_webui_debug_run_details.py +0 -84
  684. upload_assistant-4.8/tests/test_webui_dupe_review_progress.py +0 -244
  685. upload_assistant-4.8/tests/test_webui_example_metadata.py +0 -420
  686. upload_assistant-4.8/tests/test_webui_gui_events.py +0 -541
  687. upload_assistant-4.8/tests/test_webui_image_hosts.py +0 -23
  688. upload_assistant-4.8/tests/test_webui_kill.py +0 -155
  689. upload_assistant-4.8/tests/test_webui_release_group_overrides.py +0 -228
  690. upload_assistant-4.8/tests/test_webui_screenshot_capture.py +0 -74
  691. upload_assistant-4.8/tests/test_webui_screenshot_overlays.py +0 -86
  692. upload_assistant-4.8/tests/test_webui_session_config.py +0 -33
  693. upload_assistant-4.8/tests/test_webui_stats.py +0 -545
  694. upload_assistant-4.8/tests/test_webui_tracker_check_feedback.py +0 -248
  695. upload_assistant-4.8/tests/test_webui_tracker_default_overrides.py +0 -198
  696. upload_assistant-4.8/tests/test_webui_trackers.py +0 -318
  697. upload_assistant-4.8/tests/test_webui_upload_paths.py +0 -757
  698. upload_assistant-4.8/tests/test_xxx_contact_sheets.py +0 -201
  699. upload_assistant-4.8/tests/test_zenith.py +0 -124
  700. upload_assistant-4.8/upload.py +0 -3622
  701. upload_assistant-4.8/upload_assistant.egg-info/PKG-INFO +0 -589
  702. upload_assistant-4.8/upload_assistant.egg-info/SOURCES.txt +0 -1125
  703. upload_assistant-4.8/upload_assistant.egg-info/requires.txt +0 -53
  704. upload_assistant-4.8/web_ui/access_log.py +0 -184
  705. upload_assistant-4.8/web_ui/auth.py +0 -645
  706. upload_assistant-4.8/web_ui/server.py +0 -8312
  707. upload_assistant-4.8/web_ui/static/css/theme.css +0 -4740
  708. upload_assistant-4.8/web_ui/static/js/app.js +0 -12210
  709. upload_assistant-4.8/web_ui/static/js/config_app.js +0 -12658
  710. upload_assistant-4.8/web_ui/static/js/config_image_host_fallback.js +0 -84
  711. upload_assistant-4.8/web_ui/static/js/run_gui_state.js +0 -597
  712. upload_assistant-4.8/web_ui/static/js/screenshot_mode.js +0 -344
  713. upload_assistant-4.8/web_ui/static/js/shared_utils.js +0 -2241
  714. upload_assistant-4.8/web_ui/static/js/stats_app.js +0 -3366
  715. upload_assistant-4.8/web_ui/static/manifest.webmanifest +0 -20
  716. upload_assistant-4.8/web_ui/templates/_theme_bootstrap.html +0 -30
  717. upload_assistant-4.8/web_ui/templates/config.html +0 -122
  718. upload_assistant-4.8/web_ui/templates/index.html +0 -148
  719. upload_assistant-4.8/web_ui/templates/login.html +0 -226
  720. upload_assistant-4.8/web_ui/templates/login_recovery.html +0 -144
  721. upload_assistant-4.8/web_ui/templates/stats.html +0 -84
  722. {upload_assistant-4.8 → upload_assistant-5.0}/LICENSE +0 -0
  723. {upload_assistant-4.8 → upload_assistant-5.0}/bin/__init__.py +0 -0
  724. {upload_assistant-4.8 → upload_assistant-5.0}/bin/binary_dependency_pins/__init__.py +0 -0
  725. {upload_assistant-4.8 → upload_assistant-5.0}/bin/binary_dependency_pins/bdinfo.py +0 -0
  726. {upload_assistant-4.8 → upload_assistant-5.0}/bin/binary_dependency_pins/dovi_tool.py +0 -0
  727. {upload_assistant-4.8 → upload_assistant-5.0}/bin/binary_dependency_pins/ffmpeg.py +0 -0
  728. {upload_assistant-4.8 → upload_assistant-5.0}/bin/binary_dependency_pins/hdr10plus_tool.py +0 -0
  729. {upload_assistant-4.8 → upload_assistant-5.0}/bin/binary_dependency_pins/mkbrr.py +0 -0
  730. {upload_assistant-4.8 → upload_assistant-5.0}/bin/binary_dependency_pins/nyuu.py +0 -0
  731. {upload_assistant-4.8 → upload_assistant-5.0}/bin/binary_dependency_pins/par2.py +0 -0
  732. {upload_assistant-4.8 → upload_assistant-5.0}/bin/download_integrity.py +0 -0
  733. {upload_assistant-4.8 → upload_assistant-5.0}/bin/get_7z.py +0 -0
  734. {upload_assistant-4.8 → upload_assistant-5.0}/bin/get_bdinfo_docker.py +0 -0
  735. {upload_assistant-4.8 → upload_assistant-5.0}/bin/get_dynamic_hdr_tools.py +0 -0
  736. {upload_assistant-4.8 → upload_assistant-5.0}/bin/get_ffmpeg.py +0 -0
  737. {upload_assistant-4.8 → upload_assistant-5.0}/bin/get_ffmpeg_docker.py +0 -0
  738. {upload_assistant-4.8 → upload_assistant-5.0}/bin/get_mediainfo.py +0 -0
  739. {upload_assistant-4.8 → upload_assistant-5.0}/bin/get_nyuu.py +0 -0
  740. {upload_assistant-4.8 → upload_assistant-5.0}/bin/get_par2.py +0 -0
  741. {upload_assistant-4.8 → upload_assistant-5.0}/bin/get_pesto.py +0 -0
  742. {upload_assistant-4.8 → upload_assistant-5.0}/bin/get_playlist.py +0 -0
  743. {upload_assistant-4.8 → upload_assistant-5.0}/data/__init__.py +0 -0
  744. {upload_assistant-4.8 → upload_assistant-5.0}/data/tags.json +0 -0
  745. {upload_assistant-4.8 → upload_assistant-5.0}/data/templates/summary-mediainfo.csv +0 -0
  746. {upload_assistant-4.8 → upload_assistant-5.0}/data/templates/user-args-template.json +0 -0
  747. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/asiancinema.json +0 -0
  748. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/bitporn.json +0 -0
  749. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/blutopia.json +0 -0
  750. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/capybarabr.json +0 -0
  751. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/darkpeers.json +0 -0
  752. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/default.json +0 -0
  753. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/dreadvault.json +0 -0
  754. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/hawkeuno.json +0 -0
  755. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/homiehelpdesk.json +0 -0
  756. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/infinityhd.json +0 -0
  757. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/itatorrents.json +0 -0
  758. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/lastdigitalunderground.json +0 -0
  759. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/latteam.json +0 -0
  760. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/locadora.json +0 -0
  761. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/lst.json +0 -0
  762. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/luminarr.json +0 -0
  763. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/midnightscene.json +0 -0
  764. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/nordicquality.json +0 -0
  765. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/oldtoonsworld.json +0 -0
  766. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/onlyencodes.json +0 -0
  767. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/polishtorrent.json +0 -0
  768. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/portugas.json +0 -0
  769. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/racing4everyone.json +0 -0
  770. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/rastastugan.json +0 -0
  771. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/reelflix.json +0 -0
  772. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/retromoviesclub.json +0 -0
  773. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/samaritano.json +0 -0
  774. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/seedpool.json +0 -0
  775. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/shareisland.json +0 -0
  776. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/skipthecommercials.json +0 -0
  777. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/theleachzone.json +0 -0
  778. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/theoldschool.json +0 -0
  779. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/torrenteros.json +0 -0
  780. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/ulcx.json +0 -0
  781. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/yuscene.json +0 -0
  782. {upload_assistant-4.8 → upload_assistant-5.0}/data/unit3d_catalogs/zenith.json +0 -0
  783. {upload_assistant-4.8 → upload_assistant-5.0}/setup.cfg +0 -0
  784. {upload_assistant-4.8 → upload_assistant-5.0}/src/__init__.py +0 -0
  785. {upload_assistant-4.8 → upload_assistant-5.0}/src/app_paths.py +0 -0
  786. {upload_assistant-4.8 → upload_assistant-5.0}/src/apply_overrides.py +0 -0
  787. {upload_assistant-4.8 → upload_assistant-5.0}/src/audio_spectrogram.py +0 -0
  788. {upload_assistant-4.8 → upload_assistant-5.0}/src/bdinfo_comparator.py +0 -0
  789. {upload_assistant-4.8 → upload_assistant-5.0}/src/cleanup.py +0 -0
  790. {upload_assistant-4.8 → upload_assistant-5.0}/src/cogs/__init__.py +0 -0
  791. {upload_assistant-4.8 → upload_assistant-5.0}/src/config_helpers.py +0 -0
  792. {upload_assistant-4.8 → upload_assistant-5.0}/src/config_sync.py +0 -0
  793. {upload_assistant-4.8 → upload_assistant-5.0}/src/confirm_options.py +0 -0
  794. {upload_assistant-4.8 → upload_assistant-5.0}/src/content_duration.py +0 -0
  795. {upload_assistant-4.8 → upload_assistant-5.0}/src/distributors.py +0 -0
  796. {upload_assistant-4.8 → upload_assistant-5.0}/src/dynamic_hdr_plot.py +0 -0
  797. {upload_assistant-4.8 → upload_assistant-5.0}/src/genre_map.py +0 -0
  798. {upload_assistant-4.8 → upload_assistant-5.0}/src/media_extensions.py +0 -0
  799. {upload_assistant-4.8 → upload_assistant-5.0}/src/mediainfo.py +0 -0
  800. {upload_assistant-4.8 → upload_assistant-5.0}/src/mediainfo_review.py +0 -0
  801. {upload_assistant-4.8 → upload_assistant-5.0}/src/meta_file.py +0 -0
  802. {upload_assistant-4.8 → upload_assistant-5.0}/src/music/__init__.py +0 -0
  803. {upload_assistant-4.8 → upload_assistant-5.0}/src/music/validation.py +0 -0
  804. {upload_assistant-4.8 → upload_assistant-5.0}/src/nfo.py +0 -0
  805. {upload_assistant-4.8 → upload_assistant-5.0}/src/prompt_sound.py +0 -0
  806. {upload_assistant-4.8 → upload_assistant-5.0}/src/prowlarr.py +0 -0
  807. {upload_assistant-4.8 → upload_assistant-5.0}/src/radarr.py +0 -0
  808. {upload_assistant-4.8 → upload_assistant-5.0}/src/slot_rules/__init__.py +0 -0
  809. {upload_assistant-4.8 → upload_assistant-5.0}/src/slot_rules/registry.py +0 -0
  810. {upload_assistant-4.8 → upload_assistant-5.0}/src/slot_rules/trackers/__init__.py +0 -0
  811. {upload_assistant-4.8 → upload_assistant-5.0}/src/slot_rules/trackers/greatposterwall.py +0 -0
  812. {upload_assistant-4.8 → upload_assistant-5.0}/src/slot_rules/trackers/webproviders.py +0 -0
  813. {upload_assistant-4.8 → upload_assistant-5.0}/src/sonarr.py +0 -0
  814. {upload_assistant-4.8 → upload_assistant-5.0}/src/sports.py +0 -0
  815. {upload_assistant-4.8 → upload_assistant-5.0}/src/temp_paths.py +0 -0
  816. {upload_assistant-4.8 → upload_assistant-5.0}/src/torrent_clients/__init__.py +0 -0
  817. {upload_assistant-4.8 → upload_assistant-5.0}/src/torrent_clients/deluge.py +0 -0
  818. {upload_assistant-4.8 → upload_assistant-5.0}/src/torrent_clients/path_utils.py +0 -0
  819. {upload_assistant-4.8 → upload_assistant-5.0}/src/torrent_clients/transmission.py +0 -0
  820. {upload_assistant-4.8 → upload_assistant-5.0}/src/torrent_policy.py +0 -0
  821. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/AVISTAZ/avistaz.py +0 -0
  822. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/GAZELLE/orpheus_tags.py +0 -0
  823. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/NEXUSPHP/lajidui.py +0 -0
  824. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/NEXUSPHP/lemonhd.py +0 -0
  825. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/NEXUSPHP/longpt.py +0 -0
  826. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/NEXUSPHP/oneptba.py +0 -0
  827. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/NEXUSPHP/ptfans.py +0 -0
  828. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/NEXUSPHP/ptzone.py +0 -0
  829. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/NEXUSPHP/xingyungept.py +0 -0
  830. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/UNIT3D/UNIT3D_TEMPLATE.py +0 -0
  831. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/UNIT3D/itatorrents.py +0 -0
  832. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/UNIT3D/nordicquality.py +0 -0
  833. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/UNIT3D/rastastugan.py +0 -0
  834. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/UNIT3D/samaritano.py +0 -0
  835. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/UNIT3D/torrentdesi.py +0 -0
  836. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/UNIT3D/torrenthaven.py +0 -0
  837. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/UNIT3D/torrenthr.py +0 -0
  838. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/USENET/__init__.py +0 -0
  839. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/__init__.py +0 -0
  840. {upload_assistant-4.8 → upload_assistant-5.0}/src/trackers/naming.py +0 -0
  841. {upload_assistant-4.8 → upload_assistant-5.0}/src/type_utils.py +0 -0
  842. {upload_assistant-4.8 → upload_assistant-5.0}/src/vs.py +0 -0
  843. {upload_assistant-4.8 → upload_assistant-5.0}/src/webui_progress.py +0 -0
  844. {upload_assistant-4.8 → upload_assistant-5.0}/src/xxx_keywords.py +0 -0
  845. {upload_assistant-4.8 → upload_assistant-5.0}/src/xxx_keywords_list.py +0 -0
  846. {upload_assistant-4.8 → upload_assistant-5.0}/src/xxx_platforms.py +0 -0
  847. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_anime_arm_mapping.py +0 -0
  848. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_app_paths.py +0 -0
  849. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_argument_builder.py +0 -0
  850. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_asiancinema.py +0 -0
  851. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_audible.py +0 -0
  852. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_audible_metadata.py +0 -0
  853. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_audio_classifier.py +0 -0
  854. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_audio_ex_naming.py +0 -0
  855. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_audio_multitrack_naming.py +0 -0
  856. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_audio_spectrogram.py +0 -0
  857. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_audiobook_series_titles.py +0 -0
  858. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_audiobook_year.py +0 -0
  859. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_avistaz_network_routing.py +0 -0
  860. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_avistaz_rules.py +0 -0
  861. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_avistaz_screenshots_and_desc.py +0 -0
  862. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_avistaz_tags.py +0 -0
  863. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_binaries.py +0 -0
  864. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_bjshare_book_titles.py +0 -0
  865. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_bjshare_image_formats.py +0 -0
  866. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_book_author_sanitization.py +0 -0
  867. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_book_detection.py +0 -0
  868. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_book_image_formats.py +0 -0
  869. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_book_overview_format.py +0 -0
  870. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_book_title_separators.py +0 -0
  871. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_brasiltracker.py +0 -0
  872. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_btnid.py +0 -0
  873. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_catbox_upload.py +0 -0
  874. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_check_requirements.py +0 -0
  875. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_cinemaz_rules.py +0 -0
  876. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_cli_argument_catalog.py +0 -0
  877. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_cli_smoke.py +0 -0
  878. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_compact_unit3d_catalogs.py +0 -0
  879. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_config_helpers.py +0 -0
  880. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_confirm_options.py +0 -0
  881. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_console_links.py +0 -0
  882. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_content_duration.py +0 -0
  883. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_curupira.py +0 -0
  884. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_description_tag_overrides.py +0 -0
  885. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_digitalcore.py +0 -0
  886. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_digitalcore_description.py +0 -0
  887. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_disc_menus.py +0 -0
  888. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_discparse_cwd.py +0 -0
  889. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_distributor_correction.py +0 -0
  890. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_distributors.py +0 -0
  891. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_dts_core_check.py +0 -0
  892. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_dvd_screenshots.py +0 -0
  893. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_dynamic_hdr_plot.py +0 -0
  894. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_edition.py +0 -0
  895. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_execution_preview.py +0 -0
  896. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_exportmi.py +0 -0
  897. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_exportmi_cwd.py +0 -0
  898. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_exportmi_parallel.py +0 -0
  899. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_ffmpeg_binary.py +0 -0
  900. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_filelist_images.py +0 -0
  901. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_flood.py +0 -0
  902. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_format_release_notes.py +0 -0
  903. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_gazellegames.py +0 -0
  904. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_get_desc_mediainfo.py +0 -0
  905. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_get_name_music.py +0 -0
  906. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_get_name_xxx.py +0 -0
  907. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_get_source.py +0 -0
  908. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_greatposterwall_description.py +0 -0
  909. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_greatposterwall_image_host.py +0 -0
  910. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_hardcoded_subtitle_detection.py +0 -0
  911. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_hdbits_pieces.py +0 -0
  912. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_hdbits_result_links.py +0 -0
  913. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_hdbits_search.py +0 -0
  914. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_hdtorrents_search.py +0 -0
  915. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_homiehelpdesk.py +0 -0
  916. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_igdb.py +0 -0
  917. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_image_tags.py +0 -0
  918. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_imdb_cache.py +0 -0
  919. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_imdb_match_validation.py +0 -0
  920. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_inline_description.py +0 -0
  921. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_lostimg_screenshot_validation.py +0 -0
  922. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_lst.py +0 -0
  923. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_makingoff_description.py +0 -0
  924. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_makingoff_dupes.py +0 -0
  925. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_makingoff_index.py +0 -0
  926. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_makingoff_rules.py +0 -0
  927. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_makingoff_topic_metadata.py +0 -0
  928. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_makingoff_upload.py +0 -0
  929. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_manual_book_game_overrides.py +0 -0
  930. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_manual_category.py +0 -0
  931. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_mediainfo_review.py +0 -0
  932. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_meta.py +0 -0
  933. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_meta_file.py +0 -0
  934. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_metadata_cache.py +0 -0
  935. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_metadata_search_year.py +0 -0
  936. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_midnightscene.py +0 -0
  937. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_mkbrr.py +0 -0
  938. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_music_cover_hosting.py +0 -0
  939. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_music_folder_hints.py +0 -0
  940. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_new_nexusphp_trackers.py +0 -0
  941. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_nfo_service.py +0 -0
  942. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_no_imdb.py +0 -0
  943. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_nzbgeek.py +0 -0
  944. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_nzbnest.py +0 -0
  945. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_openlibrary_cache.py +0 -0
  946. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_orpheus_retries.py +0 -0
  947. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_pack_multi_screens.py +0 -0
  948. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_passthepopcorn.py +0 -0
  949. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_peergarden.py +0 -0
  950. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_pesto_binary.py +0 -0
  951. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_portuguese_subtitles.py +0 -0
  952. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_prep_early_screenshots.py +0 -0
  953. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_privatehd_rules.py +0 -0
  954. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_prompt_sound.py +0 -0
  955. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_prowlarr.py +0 -0
  956. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_pterclub.py +0 -0
  957. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_qbittorrent_bandwidth_progress.py +0 -0
  958. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_qbittorrent_proxy_retry.py +0 -0
  959. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_qbittorrent_scheme.py +0 -0
  960. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_qingwa.py +0 -0
  961. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_rastastugan.py +0 -0
  962. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_region_service.py +0 -0
  963. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_release_workflow.py +0 -0
  964. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_retromoviesclub.py +0 -0
  965. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_rockethd.py +0 -0
  966. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_samaritano_image_host.py +0 -0
  967. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_screenshot_header_visibility.py +0 -0
  968. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_screenshot_manifest.py +0 -0
  969. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_screenshot_par.py +0 -0
  970. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_season_episode_fallback.py +0 -0
  971. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_secondary_image_stats.py +0 -0
  972. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_shell_completions.py +0 -0
  973. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_skipthecommercials.py +0 -0
  974. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_slot_rules_profile.py +0 -0
  975. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_stdin_paths.py +0 -0
  976. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_suio.py +0 -0
  977. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_temp_paths.py +0 -0
  978. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_thrimg_upload.py +0 -0
  979. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_tlzdigital.py +0 -0
  980. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_tonemapped_header_import.py +0 -0
  981. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_torrenthaven.py +0 -0
  982. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_torrenthr.py +0 -0
  983. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_torrentleech_description.py +0 -0
  984. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_totheglory_cookies.py +0 -0
  985. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_tracker_cli_aliases.py +0 -0
  986. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_tracker_id_args.py +0 -0
  987. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_tracker_metadata_cache.py +0 -0
  988. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_tracker_torrent_download.py +0 -0
  989. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_tvdb_cache.py +0 -0
  990. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_tvdb_id_selection.py +0 -0
  991. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_unit3d_catalogs.py +0 -0
  992. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_unit3d_keywords.py +0 -0
  993. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_unit3d_search_existing.py +0 -0
  994. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_update_notification.py +0 -0
  995. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_upload_image_host_selection.py +0 -0
  996. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_upload_shutdown.py +0 -0
  997. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_upload_xxx.py +0 -0
  998. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_usenet_cli.py +0 -0
  999. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_usenet_par2.py +0 -0
  1000. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_video_hdr.py +0 -0
  1001. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_video_uhd.py +0 -0
  1002. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_vultu.py +0 -0
  1003. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_webui_auth_hardening.py +0 -0
  1004. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_webui_background_sessions.py +0 -0
  1005. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_webui_browse_visibility.py +0 -0
  1006. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_webui_concurrent_sessions.py +0 -0
  1007. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_webui_config_paths.py +0 -0
  1008. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_webui_conpty.py +0 -0
  1009. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_webui_item_artwork.py +0 -0
  1010. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_webui_media_tracks.py +0 -0
  1011. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_webui_runtime_safety.py +0 -0
  1012. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_webui_same_origin.py +0 -0
  1013. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_webui_screenshot_mode.py +0 -0
  1014. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_webui_subprocess_ui.py +0 -0
  1015. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_webui_usenet_arguments.py +0 -0
  1016. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_xxx_detection.py +0 -0
  1017. {upload_assistant-4.8 → upload_assistant-5.0}/tests/test_zipline_upload.py +0 -0
  1018. {upload_assistant-4.8 → upload_assistant-5.0}/upload_assistant.egg-info/dependency_links.txt +0 -0
  1019. {upload_assistant-4.8 → upload_assistant-5.0}/upload_assistant.egg-info/entry_points.txt +0 -0
  1020. {upload_assistant-4.8 → upload_assistant-5.0}/upload_assistant.egg-info/top_level.txt +0 -0
  1021. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/__init__.py +0 -0
  1022. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/favicon.ico +0 -0
  1023. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/apple-touch-icon.png +0 -0
  1024. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/CIRCLE-FLAGS-LICENSE.md +0 -0
  1025. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/LICENSE +0 -0
  1026. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/PYCOUNTRY-COPYRIGHT +0 -0
  1027. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/PYCOUNTRY-LICENSE +0 -0
  1028. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/README.md +0 -0
  1029. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/UNICODE-LICENSE +0 -0
  1030. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ad.svg +0 -0
  1031. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ae.svg +0 -0
  1032. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/af.svg +0 -0
  1033. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ag.svg +0 -0
  1034. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ai.svg +0 -0
  1035. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/al.svg +0 -0
  1036. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/am.svg +0 -0
  1037. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ao.svg +0 -0
  1038. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/aq.svg +0 -0
  1039. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ar.svg +0 -0
  1040. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/arab.svg +0 -0
  1041. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/as.svg +0 -0
  1042. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/asean.svg +0 -0
  1043. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/at.svg +0 -0
  1044. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/au.svg +0 -0
  1045. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/aw.svg +0 -0
  1046. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ax.svg +0 -0
  1047. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/az.svg +0 -0
  1048. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ba.svg +0 -0
  1049. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bb.svg +0 -0
  1050. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bd.svg +0 -0
  1051. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/be.svg +0 -0
  1052. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bf.svg +0 -0
  1053. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bg.svg +0 -0
  1054. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bh.svg +0 -0
  1055. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bi.svg +0 -0
  1056. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bj.svg +0 -0
  1057. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bl.svg +0 -0
  1058. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bm.svg +0 -0
  1059. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bn.svg +0 -0
  1060. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bo.svg +0 -0
  1061. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bq.svg +0 -0
  1062. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/br.svg +0 -0
  1063. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bs.svg +0 -0
  1064. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bt.svg +0 -0
  1065. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bv.svg +0 -0
  1066. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bw.svg +0 -0
  1067. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/by.svg +0 -0
  1068. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/bz.svg +0 -0
  1069. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ca-qc.svg +0 -0
  1070. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ca.svg +0 -0
  1071. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cc.svg +0 -0
  1072. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cd.svg +0 -0
  1073. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cefta.svg +0 -0
  1074. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cf.svg +0 -0
  1075. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cg.svg +0 -0
  1076. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ch.svg +0 -0
  1077. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ci.svg +0 -0
  1078. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ck.svg +0 -0
  1079. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cl.svg +0 -0
  1080. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cm.svg +0 -0
  1081. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cn.svg +0 -0
  1082. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/co.svg +0 -0
  1083. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cp.svg +0 -0
  1084. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cr.svg +0 -0
  1085. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cu.svg +0 -0
  1086. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cv.svg +0 -0
  1087. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cw.svg +0 -0
  1088. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cx.svg +0 -0
  1089. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cy.svg +0 -0
  1090. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/cz.svg +0 -0
  1091. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/de.svg +0 -0
  1092. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/dg.svg +0 -0
  1093. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/dj.svg +0 -0
  1094. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/dk.svg +0 -0
  1095. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/dm.svg +0 -0
  1096. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/do.svg +0 -0
  1097. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/dz.svg +0 -0
  1098. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/eac.svg +0 -0
  1099. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ec.svg +0 -0
  1100. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ee.svg +0 -0
  1101. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/eg.svg +0 -0
  1102. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/eh.svg +0 -0
  1103. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/er.svg +0 -0
  1104. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/es-ct.svg +0 -0
  1105. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/es-ga.svg +0 -0
  1106. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/es-pv.svg +0 -0
  1107. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/es.svg +0 -0
  1108. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/et.svg +0 -0
  1109. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/eu.svg +0 -0
  1110. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/fi.svg +0 -0
  1111. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/fj.svg +0 -0
  1112. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/fk.svg +0 -0
  1113. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/fm.svg +0 -0
  1114. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/fo.svg +0 -0
  1115. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/fr.svg +0 -0
  1116. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ga.svg +0 -0
  1117. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gb-eng.svg +0 -0
  1118. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gb-nir.svg +0 -0
  1119. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gb-sct.svg +0 -0
  1120. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gb-wls.svg +0 -0
  1121. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gb.svg +0 -0
  1122. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gd.svg +0 -0
  1123. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ge.svg +0 -0
  1124. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gf.svg +0 -0
  1125. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gg.svg +0 -0
  1126. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gh.svg +0 -0
  1127. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gi.svg +0 -0
  1128. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gl.svg +0 -0
  1129. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gm.svg +0 -0
  1130. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gn.svg +0 -0
  1131. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gp.svg +0 -0
  1132. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gq.svg +0 -0
  1133. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gr.svg +0 -0
  1134. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gs.svg +0 -0
  1135. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gt.svg +0 -0
  1136. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gu.svg +0 -0
  1137. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gw.svg +0 -0
  1138. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/gy.svg +0 -0
  1139. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/hk.svg +0 -0
  1140. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/hm.svg +0 -0
  1141. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/hn.svg +0 -0
  1142. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/hr.svg +0 -0
  1143. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ht.svg +0 -0
  1144. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/hu.svg +0 -0
  1145. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ic.svg +0 -0
  1146. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/id.svg +0 -0
  1147. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ie.svg +0 -0
  1148. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/il.svg +0 -0
  1149. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/im.svg +0 -0
  1150. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/in.svg +0 -0
  1151. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/io.svg +0 -0
  1152. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/iq.svg +0 -0
  1153. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ir.svg +0 -0
  1154. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/is.svg +0 -0
  1155. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/it.svg +0 -0
  1156. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/je.svg +0 -0
  1157. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/jm.svg +0 -0
  1158. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/jo.svg +0 -0
  1159. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/jp.svg +0 -0
  1160. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ke.svg +0 -0
  1161. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/kg.svg +0 -0
  1162. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/kh.svg +0 -0
  1163. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ki.svg +0 -0
  1164. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/km.svg +0 -0
  1165. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/kn.svg +0 -0
  1166. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/kp.svg +0 -0
  1167. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/kr.svg +0 -0
  1168. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/kw.svg +0 -0
  1169. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ky.svg +0 -0
  1170. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/kz.svg +0 -0
  1171. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/la.svg +0 -0
  1172. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/lb.svg +0 -0
  1173. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/lc.svg +0 -0
  1174. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/li.svg +0 -0
  1175. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/lk.svg +0 -0
  1176. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/lr.svg +0 -0
  1177. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ls.svg +0 -0
  1178. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/lt.svg +0 -0
  1179. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/lu.svg +0 -0
  1180. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/lv.svg +0 -0
  1181. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ly.svg +0 -0
  1182. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ma.svg +0 -0
  1183. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mc.svg +0 -0
  1184. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/md.svg +0 -0
  1185. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/me.svg +0 -0
  1186. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mf.svg +0 -0
  1187. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mg.svg +0 -0
  1188. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mh.svg +0 -0
  1189. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mk.svg +0 -0
  1190. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ml.svg +0 -0
  1191. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mm.svg +0 -0
  1192. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mn.svg +0 -0
  1193. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mo.svg +0 -0
  1194. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mp.svg +0 -0
  1195. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mq.svg +0 -0
  1196. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mr.svg +0 -0
  1197. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ms.svg +0 -0
  1198. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mt.svg +0 -0
  1199. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mu.svg +0 -0
  1200. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mv.svg +0 -0
  1201. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mw.svg +0 -0
  1202. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mx.svg +0 -0
  1203. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/my.svg +0 -0
  1204. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/mz.svg +0 -0
  1205. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/na.svg +0 -0
  1206. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/nc.svg +0 -0
  1207. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ne.svg +0 -0
  1208. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/nf.svg +0 -0
  1209. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ng.svg +0 -0
  1210. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ni.svg +0 -0
  1211. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/nl.svg +0 -0
  1212. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/no.svg +0 -0
  1213. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/np.svg +0 -0
  1214. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/nr.svg +0 -0
  1215. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/nu.svg +0 -0
  1216. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/nz.svg +0 -0
  1217. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/om.svg +0 -0
  1218. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/pa.svg +0 -0
  1219. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/pc.svg +0 -0
  1220. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/pe.svg +0 -0
  1221. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/pf.svg +0 -0
  1222. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/pg.svg +0 -0
  1223. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ph.svg +0 -0
  1224. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/pk.svg +0 -0
  1225. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/pl.svg +0 -0
  1226. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/pm.svg +0 -0
  1227. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/pn.svg +0 -0
  1228. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/pr.svg +0 -0
  1229. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ps.svg +0 -0
  1230. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/pt.svg +0 -0
  1231. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/pw.svg +0 -0
  1232. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/py.svg +0 -0
  1233. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/qa.svg +0 -0
  1234. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/re.svg +0 -0
  1235. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ro.svg +0 -0
  1236. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/rs.svg +0 -0
  1237. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ru.svg +0 -0
  1238. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/rw.svg +0 -0
  1239. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sa.svg +0 -0
  1240. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sb.svg +0 -0
  1241. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sc.svg +0 -0
  1242. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sd.svg +0 -0
  1243. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/se.svg +0 -0
  1244. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sg.svg +0 -0
  1245. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sh-ac.svg +0 -0
  1246. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sh-hl.svg +0 -0
  1247. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sh-ta.svg +0 -0
  1248. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sh.svg +0 -0
  1249. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/si.svg +0 -0
  1250. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sj.svg +0 -0
  1251. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sk.svg +0 -0
  1252. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sl.svg +0 -0
  1253. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sm.svg +0 -0
  1254. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sn.svg +0 -0
  1255. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/so.svg +0 -0
  1256. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sr.svg +0 -0
  1257. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ss.svg +0 -0
  1258. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/st.svg +0 -0
  1259. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sv.svg +0 -0
  1260. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sx.svg +0 -0
  1261. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sy.svg +0 -0
  1262. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/sz.svg +0 -0
  1263. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/tc.svg +0 -0
  1264. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/td.svg +0 -0
  1265. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/tf.svg +0 -0
  1266. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/tg.svg +0 -0
  1267. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/th.svg +0 -0
  1268. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/tj.svg +0 -0
  1269. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/tk.svg +0 -0
  1270. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/tl.svg +0 -0
  1271. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/tm.svg +0 -0
  1272. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/tn.svg +0 -0
  1273. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/to.svg +0 -0
  1274. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/tr.svg +0 -0
  1275. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/tt.svg +0 -0
  1276. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/tv.svg +0 -0
  1277. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/tw.svg +0 -0
  1278. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/tz.svg +0 -0
  1279. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ua.svg +0 -0
  1280. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ug.svg +0 -0
  1281. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/um.svg +0 -0
  1282. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/un.svg +0 -0
  1283. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/us.svg +0 -0
  1284. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/uy.svg +0 -0
  1285. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/uz.svg +0 -0
  1286. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/va.svg +0 -0
  1287. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/vc.svg +0 -0
  1288. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ve.svg +0 -0
  1289. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/vg.svg +0 -0
  1290. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/vi.svg +0 -0
  1291. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/vn.svg +0 -0
  1292. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/vu.svg +0 -0
  1293. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/wf.svg +0 -0
  1294. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ws.svg +0 -0
  1295. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/xk.svg +0 -0
  1296. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/xx.svg +0 -0
  1297. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/ye.svg +0 -0
  1298. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/yt.svg +0 -0
  1299. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/za.svg +0 -0
  1300. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/zm.svg +0 -0
  1301. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/flags/zw.svg +0 -0
  1302. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/icon-192.png +0 -0
  1303. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/logo.png +0 -0
  1304. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/logo.svg +0 -0
  1305. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/a-large-small.svg +0 -0
  1306. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/activity.svg +0 -0
  1307. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/align-center.svg +0 -0
  1308. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/align-left.svg +0 -0
  1309. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/align-right.svg +0 -0
  1310. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/arrow-left.svg +0 -0
  1311. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/ban.svg +0 -0
  1312. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/bold.svg +0 -0
  1313. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/book-open.svg +0 -0
  1314. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/boxes.svg +0 -0
  1315. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/calendar-days.svg +0 -0
  1316. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/chart-bar.svg +0 -0
  1317. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/chart-column-increasing.svg +0 -0
  1318. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/chart-no-axes-combined.svg +0 -0
  1319. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/chart-pie.svg +0 -0
  1320. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/chart-spline.svg +0 -0
  1321. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/check.svg +0 -0
  1322. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/chevron-down-muted.svg +0 -0
  1323. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/chevron-down.svg +0 -0
  1324. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/chevron-left.svg +0 -0
  1325. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/chevron-right.svg +0 -0
  1326. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/chevron-up.svg +0 -0
  1327. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/circle-check.svg +0 -0
  1328. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/circle-help.svg +0 -0
  1329. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/circle-minus.svg +0 -0
  1330. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/circle-play.svg +0 -0
  1331. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/circle-x.svg +0 -0
  1332. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/circle.svg +0 -0
  1333. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/clapperboard.svg +0 -0
  1334. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/clipboard-check.svg +0 -0
  1335. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/clock.svg +0 -0
  1336. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/cloud-upload.svg +0 -0
  1337. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/code-2.svg +0 -0
  1338. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/code.svg +0 -0
  1339. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/copy-check.svg +0 -0
  1340. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/copy.svg +0 -0
  1341. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/crosshair.svg +0 -0
  1342. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/database.svg +0 -0
  1343. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/download.svg +0 -0
  1344. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/ellipsis.svg +0 -0
  1345. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/external-link.svg +0 -0
  1346. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/eye-off.svg +0 -0
  1347. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/file-pen-line.svg +0 -0
  1348. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/file-search.svg +0 -0
  1349. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/file-stack.svg +0 -0
  1350. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/file-text.svg +0 -0
  1351. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/flag.svg +0 -0
  1352. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/flame.svg +0 -0
  1353. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/folder-open.svg +0 -0
  1354. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/folder-tree.svg +0 -0
  1355. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/folder.svg +0 -0
  1356. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/folders.svg +0 -0
  1357. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/gamepad-2.svg +0 -0
  1358. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/gauge.svg +0 -0
  1359. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/git-branch.svg +0 -0
  1360. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/globe.svg +0 -0
  1361. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/grip-vertical.svg +0 -0
  1362. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/hand-coins.svg +0 -0
  1363. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/history.svg +0 -0
  1364. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/hourglass.svg +0 -0
  1365. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/image-plus.svg +0 -0
  1366. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/image.svg +0 -0
  1367. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/images.svg +0 -0
  1368. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/info.svg +0 -0
  1369. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/italic.svg +0 -0
  1370. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/layout-dashboard.svg +0 -0
  1371. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/link.svg +0 -0
  1372. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/list-collapse.svg +0 -0
  1373. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/list-ordered.svg +0 -0
  1374. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/list-tree.svg +0 -0
  1375. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/list.svg +0 -0
  1376. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/loader-circle.svg +0 -0
  1377. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/log-out.svg +0 -0
  1378. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/magnet.svg +0 -0
  1379. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/maximize-2.svg +0 -0
  1380. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/minimize-2.svg +0 -0
  1381. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/moon.svg +0 -0
  1382. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/music-2.svg +0 -0
  1383. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/network.svg +0 -0
  1384. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/package.svg +0 -0
  1385. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/palette.svg +0 -0
  1386. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/plus.svg +0 -0
  1387. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/quote.svg +0 -0
  1388. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/refresh-cw.svg +0 -0
  1389. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/search.svg +0 -0
  1390. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/shapes.svg +0 -0
  1391. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/sliders-horizontal.svg +0 -0
  1392. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/square-terminal.svg +0 -0
  1393. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/sticky-note.svg +0 -0
  1394. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/strikethrough.svg +0 -0
  1395. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/sun.svg +0 -0
  1396. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/table.svg +0 -0
  1397. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/text-initial.svg +0 -0
  1398. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/trash-2.svg +0 -0
  1399. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/triangle-alert.svg +0 -0
  1400. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/tv.svg +0 -0
  1401. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/type.svg +0 -0
  1402. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/underline.svg +0 -0
  1403. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/upload.svg +0 -0
  1404. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/user-round-plus.svg +0 -0
  1405. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/workflow.svg +0 -0
  1406. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/lucide-icons/x.svg +0 -0
  1407. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/providers/audible.svg +0 -0
  1408. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/providers/discogs.svg +0 -0
  1409. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/providers/douban.svg +0 -0
  1410. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/providers/google_books.svg +0 -0
  1411. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/providers/igdb.svg +0 -0
  1412. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/providers/igdb_light.svg +0 -0
  1413. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/providers/imdb.svg +0 -0
  1414. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/providers/mal.svg +0 -0
  1415. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/providers/musicbrainz.ico +0 -0
  1416. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/providers/openlibrary.svg +0 -0
  1417. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/providers/steam.svg +0 -0
  1418. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/providers/tmdb.svg +0 -0
  1419. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/providers/tvdb.svg +0 -0
  1420. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/providers/tvmaze.svg +0 -0
  1421. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/1ptba.png +0 -0
  1422. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/aither.png +0 -0
  1423. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/alpharatio.png +0 -0
  1424. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/anthelion.png +0 -0
  1425. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/asiancinema.png +0 -0
  1426. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/avistaz.png +0 -0
  1427. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/beyondhd.png +0 -0
  1428. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/bithdtv.png +0 -0
  1429. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/bitporn.png +0 -0
  1430. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/bjshare.png +0 -0
  1431. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/blutopia.png +0 -0
  1432. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/brasiltracker.png +0 -0
  1433. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/broadcasthenet.png +0 -0
  1434. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/capybarabr.png +0 -0
  1435. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/cathoderaytube.png +0 -0
  1436. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/cinematik.png +0 -0
  1437. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/cinemaz.png +0 -0
  1438. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/curupira.png +0 -0
  1439. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/darkpeers.png +0 -0
  1440. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/desitorrents.png +0 -0
  1441. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/digitalcore.png +0 -0
  1442. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/dreadvault.png +0 -0
  1443. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/drunkenslug.png +0 -0
  1444. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/emuwarez.png +0 -0
  1445. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/filelist.png +0 -0
  1446. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/flood.png +0 -0
  1447. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/funfile.png +0 -0
  1448. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/greatposterwall.png +0 -0
  1449. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/hawkeuno.png +0 -0
  1450. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/hdbits.png +0 -0
  1451. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/hdspace.png +0 -0
  1452. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/hdtorrents.png +0 -0
  1453. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/homiehelpdesk.png +0 -0
  1454. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/immortalseed.png +0 -0
  1455. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/infinityhd.png +0 -0
  1456. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/iptorrents.png +0 -0
  1457. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/itatorrents.png +0 -0
  1458. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/lajidui.png +0 -0
  1459. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/lastdigitalunderground.png +0 -0
  1460. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/latteam.png +0 -0
  1461. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/lemonhd.png +0 -0
  1462. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/locadora.png +0 -0
  1463. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/longpt.png +0 -0
  1464. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/lst.png +0 -0
  1465. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/luminarr.png +0 -0
  1466. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/makingoff.png +0 -0
  1467. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/midnightscene.png +0 -0
  1468. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/mteam.png +0 -0
  1469. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/nebulance.png +0 -0
  1470. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/nordicquality.png +0 -0
  1471. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/nzbgeek.png +0 -0
  1472. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/nzbnest.png +0 -0
  1473. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/oldtoonsworld.png +0 -0
  1474. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/onlyencodes.png +0 -0
  1475. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/orpheus.png +0 -0
  1476. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/passthepopcorn.png +0 -0
  1477. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/peergarden.png +0 -0
  1478. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/polishtorrent.png +0 -0
  1479. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/portugas.png +0 -0
  1480. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/privatehd.png +0 -0
  1481. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/ptcafe.png +0 -0
  1482. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/pterclub.png +0 -0
  1483. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/ptfans.png +0 -0
  1484. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/ptgtk.png +0 -0
  1485. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/ptskit.png +0 -0
  1486. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/ptzone.png +0 -0
  1487. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/qingwa.png +0 -0
  1488. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/racing4everyone.png +0 -0
  1489. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/railgunpt.png +0 -0
  1490. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/rastastugan.png +0 -0
  1491. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/reelflix.png +0 -0
  1492. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/retroflix.png +0 -0
  1493. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/retromoviesclub.png +0 -0
  1494. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/rockethd.png +0 -0
  1495. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/samaritano.png +0 -0
  1496. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/seedpool.png +0 -0
  1497. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/shareisland.png +0 -0
  1498. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/skipthecommercials.png +0 -0
  1499. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/speedapp.png +0 -0
  1500. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/swarmazon.png +0 -0
  1501. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/theleachzone.png +0 -0
  1502. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/theoldschool.png +0 -0
  1503. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/torrenteros.png +0 -0
  1504. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/torrenthaven.png +0 -0
  1505. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/torrenthr.png +0 -0
  1506. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/torrentleech.png +0 -0
  1507. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/totheglory.png +0 -0
  1508. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/tvchaosuk.png +0 -0
  1509. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/ulcx.png +0 -0
  1510. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/utopia.png +0 -0
  1511. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/vultu.png +0 -0
  1512. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/xingyungept.png +0 -0
  1513. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/yuscene.png +0 -0
  1514. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/img/trackers/zenith.png +0 -0
  1515. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/js/api_key_status.js +0 -0
  1516. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/js/argument_builder.js +0 -0
  1517. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/js/config_release_group_inheritance.js +0 -0
  1518. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/js/config_save.js +0 -0
  1519. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/js/config_tracker_default_overrides.js +0 -0
  1520. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/js/language_flags.js +0 -0
  1521. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/js/language_flags_data.js +0 -0
  1522. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/js/package-lock.json +0 -0
  1523. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/js/package.json +0 -0
  1524. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/js/prompt_sound.js +0 -0
  1525. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/js/unit3d_bbcode.js +0 -0
  1526. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/js/vendor/tailwindcss-3.4.17.js +0 -0
  1527. {upload_assistant-4.8 → upload_assistant-5.0}/web_ui/static/js/web_ui/static/js/package-lock.json +0 -0
@@ -0,0 +1,589 @@
1
+ Metadata-Version: 2.4
2
+ Name: upload-assistant
3
+ Version: 5.0
4
+ Summary: A simple tool to take the work out of uploading.
5
+ Author: wastaken7
6
+ Maintainer: wastaken7
7
+ Project-URL: Homepage, https://github.com/wastaken7/Upload-Assistant
8
+ Project-URL: Documentation, https://github.com/wastaken7/Upload-Assistant/tree/development/docs
9
+ Project-URL: Issues, https://github.com/wastaken7/Upload-Assistant/issues
10
+ Project-URL: Source, https://github.com/wastaken7/Upload-Assistant
11
+ Keywords: media,torrent,upload-assistant
12
+ Classifier: Development Status :: 5 - Production/Stable
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: End Users/Desktop
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.14
17
+ Classifier: Programming Language :: Python :: 3.15
18
+ Classifier: Topic :: Multimedia
19
+ Classifier: Topic :: Utilities
20
+ Requires-Python: >=3.14
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Requires-Dist: aiofiles==25.1.0
24
+ Requires-Dist: anitopy==2.1.1
25
+ Requires-Dist: argcomplete>=3.7.2
26
+ Requires-Dist: argon2-cffi==25.1.0
27
+ Requires-Dist: babel==2.18.0
28
+ Requires-Dist: bbcode==1.1.0
29
+ Requires-Dist: beautifulsoup4==4.15.0
30
+ Requires-Dist: bencode-py==4.1.0
31
+ Requires-Dist: cachelib==0.17.0
32
+ Requires-Dist: certifi==2026.10.23
33
+ Requires-Dist: cli-ui==0.19.0
34
+ Requires-Dist: click==8.5.0
35
+ Requires-Dist: cloudscraper==1.2.71
36
+ Requires-Dist: cryptography==50.0.2
37
+ Requires-Dist: defusedxml==0.7.1
38
+ Requires-Dist: deluge-client==1.10.2
39
+ Requires-Dist: ffmpeg-python==0.2.0
40
+ Requires-Dist: flask==3.1.3
41
+ Requires-Dist: flask-cors==6.0.5
42
+ Requires-Dist: flask-limiter==4.1.1
43
+ Requires-Dist: flask-session==0.8.0
44
+ Requires-Dist: guessit==4.4.0
45
+ Requires-Dist: httpx==0.28.1
46
+ Requires-Dist: jinja2==3.1.6
47
+ Requires-Dist: langcodes==3.5.1
48
+ Requires-Dist: lxml==6.1.3
49
+ Requires-Dist: mobi==0.4.1
50
+ Requires-Dist: mutagen==1.48.1
51
+ Requires-Dist: packaging>=21
52
+ Requires-Dist: pillow==13.0.0
53
+ Requires-Dist: psutil==7.2.2
54
+ Requires-Dist: pycountry==26.2.16
55
+ Requires-Dist: pyimgbox==1.0.7
56
+ Requires-Dist: pymupdf==1.28.2
57
+ Requires-Dist: pyotp==2.10.0
58
+ Requires-Dist: pywinpty==3.1.2; sys_platform == "win32"
59
+ Requires-Dist: qbittorrent-api==2026.10.1
60
+ Requires-Dist: rarfile==4.5
61
+ Requires-Dist: requests==2.34.2
62
+ Requires-Dist: rich==15.0.0
63
+ Requires-Dist: tmdbsimple==2.9.8
64
+ Requires-Dist: torf==4.3.1
65
+ Requires-Dist: transmission-rpc==7.0.12
66
+ Requires-Dist: unidecode==1.4.0
67
+ Requires-Dist: waitress==3.0.2
68
+ Dynamic: license-file
69
+
70
+ <div align="center">
71
+ <img src="docs/assets/logo.svg" alt="Upload Assistant Logo" width="120" height="120" />
72
+ <h1>Upload-Assistant</h1>
73
+ <p>Prepare media and upload it to supported private trackers and Usenet indexers.</p>
74
+
75
+ [![Python Version](https://img.shields.io/badge/Python-3.14%2B-blue?logo=python&logoColor=white)](https://www.python.org/) [![License](https://img.shields.io/badge/License-UAPL%20v1.0-orange)](LICENSE) [![Ruff](https://img.shields.io/badge/Ruff-000000?logo=ruff&logoColor=white)](https://github.com/astral-sh/ruff) [![Pyright](https://img.shields.io/badge/Pyright-strict-brightgreen)](https://github.com/microsoft/pyright) [![code style: prettier](https://img.shields.io/badge/code%20style-prettier-ff69b4.svg)](https://prettier.io) [![Docker Image CI](https://github.com/wastaken7/Upload-Assistant/actions/workflows/docker-image.yml/badge.svg)](https://github.com/wastaken7/Upload-Assistant/actions/workflows/docker-image.yml)
76
+ </div>
77
+
78
+ Upload Assistant collects metadata, generates screenshots and artwork, creates torrent or NZB files, and publishes releases to the destinations you choose. Use it through a browser interface (WebUI) or the command line (CLI).
79
+
80
+ <img width="1920" height="1080" alt="Upload Interface" src="https://github.com/user-attachments/assets/d0ac719b-632d-4935-aad7-34fa66f7bca7" />
81
+
82
+ ---
83
+
84
+ <img width="1920" height="1350" alt="Statistics Interface" src="https://github.com/user-attachments/assets/1f6c350d-3400-441f-8a42-39dbdfaafac6" />
85
+
86
+ ---
87
+
88
+ **New here? Follow [Start here](#start-here) to install the app, configure one destination, and make your first upload through the WebUI.**
89
+
90
+ > [!IMPORTANT]
91
+ > This is a modified version of Upload Assistant and is not affiliated with or endorsed by Audionut.
92
+
93
+ ## Contents
94
+
95
+ - [Before you start](#before-you-start)
96
+ - [Start here](#start-here)
97
+ - [Your first upload](#your-first-upload)
98
+ - [Troubleshooting](#troubleshooting)
99
+ - [Updating](#updating)
100
+ - [Command-line usage](#command-line-usage)
101
+ - [Configuration file location](#configuration-file-location)
102
+ - [Other installation options](#other-installation-options)
103
+ - [Guides and advanced workflows](#guides-and-advanced-workflows)
104
+ - [Supported sites](#supported-sites)
105
+ - [Fork features and differences from upstream](#fork-features--differences-from-upstream-audionutupload-assistant)
106
+ - [Help](#help)
107
+ - [Attributions](#attributions)
108
+ - [Contributors](#contributors)
109
+
110
+ ## Before you start
111
+
112
+ For your first torrent upload, have these ready:
113
+
114
+ - **A file or folder to upload.** Start with one item whose category is supported by your chosen tracker.
115
+ - **An account with upload permission on that tracker.** Upload Assistant does not create tracker accounts or grant upload permission. Check the site's upload rules first.
116
+ - **The tracker's credentials.** Depending on the site, this may be an API key, login details, or a personal announce URL. An API key lets the app use your account; an announce URL tells your torrent client how to connect to the tracker.
117
+ - **The metadata and image services required for your content.** Metadata means information such as title, year, author, or artist. An image host stores screenshots and artwork used in the release description.
118
+ - **A plan for seeding.** A torrent client such as qBittorrent shares the uploaded content. Configure automatic client integration or add the torrent yourself after uploading.
119
+
120
+ You only need to configure the services you will use. Usenet users should follow the [Usenet guide](docs/usenet.md) for posting-server and indexer requirements.
121
+
122
+ ## Start here
123
+
124
+ This walkthrough installs the published release and runs the WebUI on your own computer. For Docker, Unraid, or a seedbox, use [Other installation options](#other-installation-options).
125
+
126
+ ### 1. Install uv
127
+
128
+ `uv` installs Upload Assistant and manages its Python environment.
129
+
130
+ Choose your operating system below. Run commands in a terminal, one block at a time.
131
+
132
+ <details open>
133
+ <summary><strong>Windows — PowerShell</strong></summary>
134
+
135
+ Open the Start menu, search for **PowerShell**, and open it. Install `uv` with:
136
+
137
+ ```powershell
138
+ winget install --id=astral-sh.uv -e
139
+ ```
140
+
141
+ If `winget` is unavailable, use an alternative from the [official uv installation guide](https://docs.astral.sh/uv/getting-started/installation/).
142
+
143
+ Close PowerShell and open a new window after installation.
144
+
145
+ </details>
146
+
147
+ <details>
148
+ <summary><strong>Linux — Terminal</strong></summary>
149
+
150
+ Open a terminal and install `uv` using the [official installer](https://docs.astral.sh/uv/getting-started/installation/):
151
+
152
+ ```bash
153
+ curl -LsSf https://astral.sh/uv/install.sh | sh
154
+ ```
155
+
156
+ Close the terminal and open a new window after installation.
157
+
158
+ </details>
159
+
160
+ <details>
161
+ <summary><strong>macOS — Terminal</strong></summary>
162
+
163
+ Open **Terminal** and install `uv` using the [official installer](https://docs.astral.sh/uv/getting-started/installation/):
164
+
165
+ ```bash
166
+ curl -LsSf https://astral.sh/uv/install.sh | sh
167
+ ```
168
+
169
+ Close Terminal and open a new window after installation.
170
+
171
+ </details>
172
+
173
+ **Check:** Run `uv --version`. You should see a version number. If the command is not recognized, revisit the installer instructions before continuing.
174
+
175
+ ### 2. Install Upload Assistant
176
+
177
+ In your new terminal window, run:
178
+
179
+ ```text
180
+ uv tool install upload-assistant
181
+ ```
182
+
183
+ `uv` creates an isolated environment and installs a compatible Python version (3.14 or newer) if needed. The installed app is called `ua`, and you can run it from any directory.
184
+
185
+ **Windows:** The app uses FFmpeg already on your PATH or downloads a verified FFmpeg runtime when needed. FFmpeg is the program used to process video and capture screenshots.
186
+
187
+ **Linux / macOS:** Install FFmpeg with your system's package manager. Choose only the command for your system:
188
+
189
+ | System | Command |
190
+ | ------------------- | ------------------------- |
191
+ | Debian / Ubuntu | `sudo apt install ffmpeg` |
192
+ | Arch Linux | `sudo pacman -S ffmpeg` |
193
+ | Fedora | `sudo dnf install ffmpeg` |
194
+ | macOS with Homebrew | `brew install ffmpeg` |
195
+
196
+ On macOS, if you do not have Homebrew, follow the [FFmpeg download options](https://ffmpeg.org/download.html) or install [Homebrew](https://brew.sh/) first.
197
+
198
+ **Check:** Run:
199
+
200
+ ```text
201
+ ua --help
202
+ ```
203
+
204
+ You should see the available commands and options. If `ua` is not recognized, run `uv tool update-shell`, close the terminal, and open it again.
205
+
206
+ ### 3. Open the WebUI
207
+
208
+ Start the app with the folder that contains your media. **Replace the example path with an existing folder on your computer.** Keep the double quotes, especially if the path contains spaces.
209
+
210
+ **Windows — PowerShell:**
211
+
212
+ ```powershell
213
+ ua "D:\MyMovies,G:\" --webui
214
+ ```
215
+
216
+ You can specify multiple browse roots by separating them with commas. In this example, the WebUI can browse `D:\MyMovies` and the entire `G:\` drive, subject to your operating system's file permissions. The File Browser omits hidden and system items. To limit browsing to your media, replace `G:\` with a specific folder such as `G:\Media`.
217
+
218
+ **Linux / macOS — Terminal:**
219
+
220
+ ```bash
221
+ ua "/path/to/media" --webui
222
+ ```
223
+
224
+ Open **<http://127.0.0.1:5000>** in a browser on the same computer. On your first visit, enter the setup code printed in the terminal, then create a username and password for the WebUI's local account. This account is separate from your tracker accounts.
225
+
226
+ **Check:** You should see the Upload workspace and be able to browse the folder you supplied.
227
+
228
+ Keep the terminal open while using the WebUI. To stop the app when finished, press **Ctrl+C** in that terminal. Start it with the same command next time.
229
+
230
+ The folder you supply controls what the WebUI can browse. If you already set `UA_BROWSE_ROOTS`, that setting overrides command-line folders. See the [browse roots guide](docs/web-ui.md#browse-roots).
231
+
232
+ > Running the app on another machine? Paths refer to files on that machine, and `127.0.0.1` refers to the device where you open the browser. Follow the [remote-access guidance](docs/web-ui.md#security-and-administration) before changing the listening address. Docker paths are explained in the [Docker WebUI guide](docs/docker-gui.md).
233
+
234
+ ### 4. Configure one destination
235
+
236
+ The app creates its configuration file on first WebUI launch. Open **Configuration** and set up the services for your first upload:
237
+
238
+ | Section | What to enter |
239
+ | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
240
+ | Metadata services | Add a TMDb API key from [TMDb API settings](https://www.themoviedb.org/settings/api); the app currently requires it before running uploads. Configure any additional providers needed for your category. |
241
+ | Image hosts | Choose a host accepted by your tracker and supply its API key if required. This is where screenshots and artwork are uploaded. |
242
+ | Trackers | Configure one supported tracker with the credentials it requires. Check the [supported sites table](#supported-sites) for category support and its CLI identifier. |
243
+ | Torrent clients | Configure your client connection and select it as the default if you want torrents added automatically. The client must be able to access the content being uploaded. |
244
+
245
+ **Review Pending changes and click Save Config.** Leaving the page does not save staged edits.
246
+
247
+ **Check:** Confirm the changes were saved before returning to Upload. For field-by-field explanations, use the [configuration reference](docs/example-config.md). Keep API keys, passwords, and personal announce URLs private.
248
+
249
+ ## Your first upload
250
+
251
+ 1. Open **Upload** and select **one file or folder** in **File Browser**.
252
+ 2. Select **one configured tracker** for this run.
253
+ 3. Leave optional arguments at their defaults unless your content or tracker requires an override.
254
+ 4. Click **Execute Upload**. This starts the upload workflow and can publish to the selected destination.
255
+ 5. Read the live output and answer prompts at the bottom of the output panel. Review the metadata and, when offered, **Screenshots** and **Description** before continuing.
256
+ 6. Check the final result for your destination. If the app reports a duplicate or an error, read that message before retrying.
257
+ 7. Open the destination site and confirm the release or draft exists. If you configured client integration, check that the torrent is in your client and seeding. Otherwise, add the torrent yourself and verify the client finds the existing data.
258
+
259
+ **A finished process alone does not confirm a successful upload.** Check the destination's result and the seeding status. Some trackers create a draft that still needs to be published on the site.
260
+
261
+ Once this works, add more trackers, explore arguments, or set up queues. The [WebUI quick start](docs/web-ui-basic.md) and [full WebUI guide](docs/web-ui.md) cover the rest of the interface.
262
+
263
+ ## Troubleshooting
264
+
265
+ | Problem | What to check first |
266
+ | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
267
+ | `uv` is not recognized | Close and reopen the terminal after installing it. If it still fails, follow the [uv installation guide](https://docs.astral.sh/uv/getting-started/installation/). |
268
+ | `ua` is not recognized | Run `uv tool update-shell`, then close and reopen the terminal. |
269
+ | The browser cannot open the WebUI | Keep the terminal running and look for startup errors. Use `http://127.0.0.1:5000` on the computer running the app, or the address you explicitly configured. |
270
+ | The port is already in use | Stop the other instance or use `ua "YOUR_MEDIA_FOLDER" --webui 127.0.0.1:5001`, then open `http://127.0.0.1:5001`. Replace the folder placeholder first. |
271
+ | The File Browser cannot see my folder | Restart with the correct folder path. Check whether `UA_BROWSE_ROOTS` overrides it. For Docker, check container paths and volume mappings. |
272
+ | Configuration changes disappeared | Review **Pending changes** and click **Save Config** before leaving the page. |
273
+ | A tracker rejects authentication | Check its configured credentials and your account's upload permission. A reachability/status check does not validate credentials. |
274
+ | Screenshots or image uploads fail | Check FFmpeg, the chosen image host, its credentials, and whether the tracker accepts that host. See [FFmpeg troubleshooting](docs/ffmpeg-max-workers-issues.md). |
275
+ | The torrent was uploaded but is not seeding | Check the client connection, default client, and content paths. Remote clients may require local/remote path mapping. See [torrent client configuration](docs/configuration.md#torrent-clients). |
276
+
277
+ Still stuck? See [Help](#help) and include the relevant error message.
278
+
279
+ ## Updating
280
+
281
+ For the published release installed above, stop the app and run:
282
+
283
+ ```text
284
+ uv tool upgrade upload-assistant
285
+ ```
286
+
287
+ Then start it again with your usual command.
288
+
289
+ On startup, the app adds missing general settings without changing existing values. When this changes `config.py`, it creates a timestamped backup beside the file. Tracker/client sections and optional cache-service/tag overrides are left untouched; add new tracker/client options manually when needed. See the [example configuration](data/example_config.py) for available settings.
290
+
291
+ If you installed from GitHub, use the [GitHub update command](#development-version-from-github) instead.
292
+
293
+ ## Command-line usage
294
+
295
+ The CLI uses the same configuration as the WebUI. After configuring the app, run an upload from any directory:
296
+
297
+ **Windows:**
298
+
299
+ ```powershell
300
+ ua "D:\Media\Example.Movie.2025.mkv" --trackers AITHER
301
+ ```
302
+
303
+ **Linux / macOS:**
304
+
305
+ ```bash
306
+ ua "/path/to/media/Example.Movie.2025.mkv" --trackers AITHER
307
+ ```
308
+
309
+ Replace the path with your own file or folder and `AITHER` with your configured tracker's identifier from [Supported sites](#supported-sites). These commands start a real upload workflow.
310
+
311
+ Options normally follow the path. To see all options:
312
+
313
+ ```text
314
+ ua --help
315
+ ```
316
+
317
+ If you prefer to configure the app without the WebUI, your first CLI upload command creates `config.py` and stops so you can edit it. Fill in the required settings, then run the command again. See [Configuration file location](#configuration-file-location).
318
+
319
+ For all flags and queue input modes, see [CLI arguments](docs/cli-args.md). For command completion in your shell, see [Shell completions](docs/shell-completions.md).
320
+
321
+ ## Configuration file location
322
+
323
+ The installed app stores `config.py` outside the installation directory:
324
+
325
+ | Platform | Default file location |
326
+ | ------------- | ------------------------------------------------ |
327
+ | Windows | `%LOCALAPPDATA%\Upload-Assistant\data\config.py` |
328
+ | Linux / macOS | `~/.local/share/Upload-Assistant/data/config.py` |
329
+
330
+ On Windows, paste `%LOCALAPPDATA%\Upload-Assistant\data` into File Explorer's address bar to open the folder. On Linux/macOS, `$XDG_DATA_HOME` replaces `~/.local/share` when set. Existing Linux/macOS installations may still use the lowercase `upload-assistant` folder if the `Upload-Assistant` folder does not exist.
331
+
332
+ Setting `UA_DATA_DIR` overrides the application data location: the configuration is then in the `data` subfolder of that directory. See the [configuration reference](docs/example-config.md).
333
+
334
+ For manual edits, stop the app, make a copy of `config.py`, edit it in a plain-text/code editor, and restart. The file is Python code; preserve its quotes, commas, and indentation.
335
+
336
+ ## Other installation options
337
+
338
+ ### Docker and Unraid
339
+
340
+ Use the [Docker guide](docs/docker.md) for container installation and the [Docker WebUI / Unraid guide](docs/docker-gui.md) for browser access, persistent configuration, and media volume mappings.
341
+
342
+ A community walkthrough is available at <https://videos.badkitty.zone/ua>.
343
+
344
+ ### Seedbox and Linux without root access
345
+
346
+ Follow the [Seedbox / Linux installation guide](docs/seedbox.md).
347
+
348
+ ### Development version from GitHub
349
+
350
+ For the latest repository version instead of the published package:
351
+
352
+ ```text
353
+ uv tool install git+https://github.com/wastaken7/Upload-Assistant.git
354
+ ```
355
+
356
+ This installation requires Git. If `uv` reports an existing installation, use `--force` to replace it. To update an installation from GitHub, stop the app and run:
357
+
358
+ ```text
359
+ uv tool install --force git+https://github.com/wastaken7/Upload-Assistant.git
360
+ ```
361
+
362
+ ## Guides and advanced workflows
363
+
364
+ | I want to... | Read this |
365
+ | ---------------------------------------------- | ------------------------------------------------------------------------ |
366
+ | Learn the full browser interface | [WebUI guide](docs/web-ui.md) |
367
+ | Understand configuration fields | [Configuration reference](docs/example-config.md) |
368
+ | Find CLI options or create a queue | [CLI arguments](docs/cli-args.md) |
369
+ | Upload to Usenet and indexers | [Usenet guide](docs/usenet.md) |
370
+ | Control upload order and qBittorrent bandwidth | [Upload order and bandwidth](docs/upload-order-and-bandwidth-control.md) |
371
+ | Browse the rest of the documentation | [Documentation home](docs/home.md) |
372
+
373
+ ## Supported Sites
374
+
375
+ <details>
376
+ <summary><strong>Click to view Supported Torrent Trackers</strong></summary>
377
+
378
+ | | Site | Usage | Supported Categories |
379
+ | --------------------------------------------------------------------------------------------- | ---------------------- | ---------------------- | ---------------------------- |
380
+ | <img src="web_ui/static/img/trackers/1ptba.png" width="16" height="16" /> | 1PTBA | 1PTBA | MOVIE, TV |
381
+ | <img src="web_ui/static/img/trackers/aither.png" width="16" height="16" /> | Aither | AITHER | MOVIE, TV |
382
+ | <img src="web_ui/static/img/trackers/alpharatio.png" alt="" width="16" height="16" /> | AlphaRatio | ALPHARATIO | MOVIE, TV |
383
+ | <img src="web_ui/static/img/trackers/amigosshare.png" alt="" width="16" height="16" /> | Amigos Share Club | AMIGOSSHARE | MOVIE, TV, BOOK, GAME, XXX |
384
+ | <img src="web_ui/static/img/trackers/anthelion.png" width="16" height="16" /> | Anthelion | ANTHELION | MOVIE |
385
+ | <img src="web_ui/static/img/trackers/asiancinema.png" width="16" height="16" /> | AsianCinema | ASIANCINEMA | MOVIE, TV, MUSIC |
386
+ | <img src="web_ui/static/img/trackers/avistaz.png" width="16" height="16" /> | AvistaZ | AVISTAZ | MOVIE, TV |
387
+ | <img src="web_ui/static/img/trackers/beyondhd.png" alt="" width="16" height="16" /> | BeyondHD | BEYONDHD | MOVIE, TV |
388
+ | <img src="web_ui/static/img/trackers/bithdtv.png" width="16" height="16" /> | BitHDTV | BITHDTV | MOVIE, TV |
389
+ | <img src="web_ui/static/img/trackers/bitporn.png" width="16" height="16" /> | BitPorn | BITPORN | XXX |
390
+ | <img src="web_ui/static/img/trackers/blutopia.png" width="16" height="16" /> | Blutopia | BLUTOPIA | MOVIE, TV |
391
+ | <img src="web_ui/static/img/trackers/bjshare.png" alt="" width="16" height="16" /> | BJ-Share | BJSHARE | MOVIE, TV, BOOK, GAME, XXX |
392
+ | <img src="web_ui/static/img/trackers/brasiltracker.png" width="16" height="16" /> | BrasilTracker | BRASILTRACKER | MOVIE, TV, BOOK, GAME |
393
+ | <img src="web_ui/static/img/trackers/broadcasthenet.png" width="16" height="16" /> | BroadcasTheNet | BROADCASTHENET | TV |
394
+ | <img src="web_ui/static/img/trackers/capybarabr.png" width="16" height="16" /> | CapybaraBR | CAPYBARABR | MOVIE, TV, BOOK, GAME |
395
+ | <img src="web_ui/static/img/trackers/cathoderaytube.png" width="16" height="16" /> | Cathode-Ray.Tube | CATHODERAYTUBE | MOVIE, TV, GAME |
396
+ | <img src="web_ui/static/img/trackers/cinematik.png" width="16" height="16" /> | Cinematik | CINEMATIK | MOVIE, TV |
397
+ | <img src="web_ui/static/img/trackers/cinemaz.png" width="16" height="16" /> | CinemaZ | CINEMAZ | MOVIE, TV |
398
+ | <img src="web_ui/static/img/trackers/czteam.png" width="16" height="16" /> | CZTeam | CZTEAM | MOVIE, TV, GAME, MUSIC, XXX |
399
+ | <img src="web_ui/static/img/trackers/darkpeers.png" width="16" height="16" /> | DarkPeers | DARKPEERS | MOVIE, TV, BOOK, GAME, MUSIC |
400
+ | <img src="web_ui/static/img/trackers/desitorrents.png" width="16" height="16" /> | DesiTorrents | DESITORRENTS | MOVIE, TV |
401
+ | <img src="web_ui/static/img/trackers/digitalcore.png" width="16" height="16" /> | DigitalCore | DIGITALCORE | MOVIE, TV, BOOK, GAME, MUSIC |
402
+ | <img src="web_ui/static/img/trackers/dirtybytes.png" width="16" height="16" /> | DirtyBytes | DIRTYBYTES | XXX |
403
+ | <img src="web_ui/static/img/trackers/dreadvault.png" alt="" width="16" height="16" /> | DreadVault | DREADVAULT | MOVIE, TV |
404
+ | <img src="web_ui/static/img/trackers/emuwarez.png" alt="" width="16" height="16" /> | eMuwarez | EMUWAREZ | MOVIE, TV |
405
+ | <img src="web_ui/static/img/trackers/exoticaz.png" width="16" height="16" /> | ExoticaZ | EXOTICAZ | XXX |
406
+ | <img src="web_ui/static/img/trackers/fileiplay.png" width="16" height="16" /> | FileIPlay | FILEIPLAY | MOVIE, TV, GAME, MUSIC, XXX |
407
+ | <img src="web_ui/static/img/trackers/filelist.png" width="16" height="16" /> | FileList | FILELIST | MOVIE, TV |
408
+ | <img src="web_ui/static/img/trackers/flood.png" width="16" height="16" /> | Flood | FLOOD | MOVIE, TV |
409
+ | <img src="web_ui/static/img/trackers/funfile.png" width="16" height="16" /> | FunFile | FUNFILE | MOVIE, TV |
410
+ | <img src="web_ui/static/img/trackers/greatposterwall.png" alt="" width="16" height="16" /> | Great Poster Wall | GREATPOSTERWALL | MOVIE |
411
+ | <img src="web_ui/static/img/trackers/happyfappy.png" width="16" height="16" /> | HappyFappy | HAPPYFAPPY | XXX |
412
+ | <img src="web_ui/static/img/trackers/hawkeuno.png" width="16" height="16" /> | hawke-uno | HAWKEUNO | MOVIE, TV |
413
+ | <img src="web_ui/static/img/trackers/hdbits.png" width="16" height="16" /> | HDBits | HDBITS | MOVIE, TV |
414
+ | <img src="web_ui/static/img/trackers/hdspace.png" width="16" height="16" /> | HD-Space | HDSPACE | MOVIE, TV |
415
+ | <img src="web_ui/static/img/trackers/hdtorrents.png" width="16" height="16" /> | HD-Torrents | HDTORRENTS | MOVIE, TV |
416
+ | <img src="web_ui/static/img/trackers/homiehelpdesk.png" width="16" height="16" /> | HomieHelpDesk | HOMIEHELPDESK | MOVIE, TV, BOOK, GAME, MUSIC |
417
+ | <img src="web_ui/static/img/trackers/immortalseed.png" width="16" height="16" /> | ImmortalSeed | IMMORTALSEED | MOVIE, TV, BOOK, MUSIC, GAME |
418
+ | <img src="web_ui/static/img/trackers/infinityhd.png" width="16" height="16" /> | InfinityHD | INFINITYHD | MOVIE, TV |
419
+ | <img src="web_ui/static/img/trackers/iptorrents.png" width="16" height="16" /> | IPTorrents | IPTORRENTS | MOVIE, TV, BOOK, GAME, MUSIC |
420
+ | <img src="web_ui/static/img/trackers/itatorrents.png" width="16" height="16" /> | ItaTorrents | ITATORRENTS | MOVIE, TV |
421
+ | <img src="web_ui/static/img/trackers/kufirc.png" width="16" height="16" /> | Kufirc | KUFIRC | XXX |
422
+ | <img src="web_ui/static/img/trackers/lajidui.png" width="16" height="16" /> | lajidui | LAJIDUI | MOVIE, TV |
423
+ | <img src="web_ui/static/img/trackers/lemonhd.png" width="16" height="16" /> | LemonHD | LEMONHD | MOVIE, TV |
424
+ | <img src="web_ui/static/img/trackers/lastdigitalunderground.png" width="16" height="16" /> | LastDigitalUnderground | LASTDIGITALUNDERGROUND | MOVIE, TV, BOOK |
425
+ | <img src="web_ui/static/img/trackers/latteam.png" width="16" height="16" /> | Lat-Team | LATTEAM | MOVIE, TV, BOOK |
426
+ | <img src="web_ui/static/img/trackers/locadora.png" width="16" height="16" /> | Locadora | LOCADORA | MOVIE, TV |
427
+ | <img src="web_ui/static/img/trackers/longpt.png" width="16" height="16" /> | LongPT | LONGPT | MOVIE, TV |
428
+ | <img src="web_ui/static/img/trackers/lst.png" width="16" height="16" /> | LST | LST | MOVIE, TV, BOOK, MUSIC, XXX |
429
+ | <img src="web_ui/static/img/trackers/luminarr.png" width="16" height="16" /> | Luminarr | LUMINARR | MOVIE, TV |
430
+ | <img src="web_ui/static/img/trackers/makingoff.png" width="16" height="16" /> | MakingOff | MAKINGOFF | MOVIE |
431
+ | <img src="web_ui/static/img/trackers/midnightscene.png" width="16" height="16" /> | MidnightScene | MIDNIGHTSCENE | MOVIE, TV, GAME, MUSIC |
432
+ | <img src="web_ui/static/img/trackers/mteam.png" width="16" height="16" /> | M-Team | MTEAM | MOVIE, TV |
433
+ | <img src="web_ui/static/img/trackers/nebulance.png" width="16" height="16" /> | Nebulance | NEBULANCE | TV |
434
+ | <img src="web_ui/static/img/trackers/nordicquality.png" width="16" height="16" /> | NordicQuality | NORDICQUALITY | MOVIE, TV, MUSIC, BOOK, GAME |
435
+ | <img src="web_ui/static/img/trackers/oldtoonsworld.png" width="16" height="16" /> | OldToonsWorld | OLDTOONSWORLD | MOVIE, TV |
436
+ | <img src="web_ui/static/img/trackers/onlyencodes.png" width="16" height="16" /> | OnlyEncodes+ | ONLYENCODES | MOVIE, TV |
437
+ | <img src="web_ui/static/img/trackers/orpheus.png" width="16" height="16" /> | Orpheus | ORPHEUS | MUSIC |
438
+ | <img src="web_ui/static/img/trackers/passthepopcorn.png" width="16" height="16" /> | PassThePopcorn | PASSTHEPOPCORN | MOVIE |
439
+ | <img src="web_ui/static/img/trackers/peergarden.png" width="16" height="16" /> | PeerGarden | PEERGARDEN | MOVIE, TV, GAME, BOOK, MUSIC |
440
+ | <img src="web_ui/static/img/trackers/polishtorrent.png" alt="" width="16" height="16" /> | Polish Torrent | POLISHTORRENT | MOVIE, TV |
441
+ | <img src="web_ui/static/img/trackers/portugas.png" width="16" height="16" /> | Portugas | PORTUGAS | MOVIE, TV |
442
+ | <img src="web_ui/static/img/trackers/privatehd.png" width="16" height="16" /> | PrivateHD | PRIVATEHD | MOVIE, TV |
443
+ | <img src="web_ui/static/img/trackers/ptgtk.png" width="16" height="16" /> | PT GTK | PTGTK | MOVIE, TV |
444
+ | <img src="web_ui/static/img/trackers/ptzone.png" width="16" height="16" /> | PTZone | PTZONE | MOVIE, TV |
445
+ | <img src="web_ui/static/img/trackers/ptcafe.png" alt="" width="16" height="16" /> | PTCafe | PTCAFE | MOVIE, TV |
446
+ | <img src="web_ui/static/img/trackers/pterclub.png" width="16" height="16" /> | PTerClub | PTERCLUB | MOVIE, TV |
447
+ | <img src="web_ui/static/img/trackers/ptfans.png" width="16" height="16" /> | PTFans | PTFANS | MOVIE, TV |
448
+ | <img src="web_ui/static/img/trackers/ptskit.png" width="16" height="16" /> | PTSKIT | PTSKIT | MOVIE, TV |
449
+ | <img src="web_ui/static/img/trackers/qingwa.png" width="16" height="16" /> | QingWa | QINGWA | MOVIE, TV |
450
+ | <img src="web_ui/static/img/trackers/racing4everyone.png" width="16" height="16" /> | Racing4Everyone | RACING4EVERYONE | MOVIE, TV |
451
+ | <img src="web_ui/static/img/trackers/railgunpt.png" width="16" height="16" /> | RailgunPT | RAILGUNPT | MOVIE, TV |
452
+ | <img src="web_ui/static/img/trackers/rastastugan.png" width="16" height="16" /> | Rastastugan | RASTASTUGAN | MOVIE, TV, BOOK, GAME, MUSIC |
453
+ | <img src="web_ui/static/img/trackers/reelflix.png" width="16" height="16" /> | ReelFLiX | REELFLIX | MOVIE |
454
+ | <img src="web_ui/static/img/trackers/retroflix.png" width="16" height="16" /> | RetroFlix | RETROFLIX | MOVIE, TV |
455
+ | <img src="web_ui/static/img/trackers/retromoviesclub.png" alt="" width="16" height="16" /> | Retro Movies Club | RETROMOVIESCLUB | MOVIE |
456
+ | <img src="web_ui/static/img/trackers/rockethd.png" width="16" height="16" /> | RocketHD | ROCKETHD | MOVIE, TV |
457
+ | <img src="web_ui/static/img/trackers/samaritano.png" width="16" height="16" /> | Samaritano | SAMARITANO | MOVIE, TV, BOOK, GAME |
458
+ | <img src="web_ui/static/img/trackers/seedpool.png" width="16" height="16" /> | seedpool | SEEDPOOL | MOVIE, TV, BOOK, GAME, MUSIC |
459
+ | <img src="web_ui/static/img/trackers/shareisland.png" width="16" height="16" /> | ShareIsland | SHAREISLAND | MOVIE, TV |
460
+ | <img src="web_ui/static/img/trackers/simurg.png" width="16" height="16" /> | Simurg | SIMURG | BOOK |
461
+ | <img src="web_ui/static/img/trackers/skipthecommercials.png" alt="" width="16" height="16" /> | SkipTheCommerials | SKIPTHECOMMERCIALS | MOVIE (Documentary only), TV |
462
+ | <img src="web_ui/static/img/trackers/speedapp.png" width="16" height="16" /> | SpeedApp | SPEEDAPP | MOVIE, TV, BOOK, GAME, MUSIC |
463
+ | <img src="web_ui/static/img/trackers/swarmazon.png" width="16" height="16" /> | Swarmazon | SWARMAZON | MOVIE, TV |
464
+ | <img src="web_ui/static/img/trackers/theleachzone.png" width="16" height="16" /> | The Leach Zone | THELEACHZONE | MOVIE, TV |
465
+ | <img src="web_ui/static/img/trackers/theoldschool.png" alt="" width="16" height="16" /> | The Old School | THEOLDSCHOOL | MOVIE, TV |
466
+ | <img src="web_ui/static/img/trackers/torrenteros.png" width="16" height="16" /> | Torrenteros | TORRENTEROS | MOVIE, TV |
467
+ | <img src="web_ui/static/img/trackers/torrenthaven.png" width="16" height="16" /> | TorrentHaven | TORRENTHAVEN | MOVIE, TV |
468
+ | <img src="web_ui/static/img/trackers/torrenthr.png" width="16" height="16" /> | TorrentHR | TORRENTHR | MOVIE, TV |
469
+ | <img src="web_ui/static/img/trackers/torrentleech.png" width="16" height="16" /> | TorrentLeech | TORRENTLEECH | MOVIE, TV, BOOK, GAME, MUSIC |
470
+ | <img src="web_ui/static/img/trackers/totheglory.png" width="16" height="16" /> | ToTheGlory | TOTHEGLORY | MOVIE, TV |
471
+ | <img src="web_ui/static/img/trackers/tvchaosuk.png" alt="" width="16" height="16" /> | TV Chaos UK | TVCHAOSUK | MOVIE, TV |
472
+ | <img src="web_ui/static/img/trackers/xingyungept.png" width="16" height="16" /> | XingyungePT | XINGYUNGEPT | MOVIE, TV |
473
+ | <img src="web_ui/static/img/trackers/ulcx.png" width="16" height="16" /> | ULCX | ULCX | MOVIE, TV |
474
+ | <img src="web_ui/static/img/trackers/utopia.png" width="16" height="16" /> | UTOPIA | UTOPIA | MOVIE, TV |
475
+ | <img src="web_ui/static/img/trackers/vultu.png" width="16" height="16" /> | vultu | VULTU | MOVIE, TV, GAME |
476
+ | <img src="web_ui/static/img/trackers/yuscene.png" width="16" height="16" /> | YUSCENE | YUSCENE | MOVIE, TV, BOOK, GAME, MUSIC |
477
+ | <img src="web_ui/static/img/trackers/zenith.png" width="16" height="16" /> | Zenith | ZENITH | MOVIE, TV, BOOK, GAME, MUSIC |
478
+ | <img src="web_ui/static/img/trackers/zmpt.png" width="16" height="16" /> | ZmPT (织梦) | ZMPT | MOVIE, TV |
479
+
480
+ </details>
481
+
482
+ <details>
483
+ <summary><strong>Click to view Supported Usenet Indexers</strong></summary>
484
+
485
+ | | Site | Usage | Supported Categories |
486
+ | ------------------------------------------------------------------------------- | ----------- | ----------- | ---------------------------- |
487
+ | <img src="web_ui/static/img/trackers/curupira.png" width="16" height="16" /> | Curupira | CURUPIRA | MOVIE, TV, BOOK, GAME |
488
+ | <img src="web_ui/static/img/trackers/drunkenslug.png" width="16" height="16" /> | DrunkenSlug | DRUNKENSLUG | MOVIE, TV, BOOK, GAME |
489
+ | <img src="web_ui/static/img/trackers/nzbgeek.png" width="16" height="16" /> | NZBGeek | NZBGEEK | MOVIE, TV, BOOK, GAME, MUSIC |
490
+ | <img src="web_ui/static/img/trackers/nzbnest.png" width="16" height="16" /> | NzbNest | NZBNEST | MOVIE, TV, BOOK, GAME, MUSIC |
491
+
492
+ </details>
493
+
494
+ ## Fork Features & Differences from Upstream (Audionut/Upload-Assistant)
495
+
496
+ This branch introduces new media categories and automation features not present in the upstream Audionut repository:
497
+
498
+ ### 1. New Media Category Support
499
+
500
+ - **Ebook & Audiobook (`BOOK` Category)**:
501
+ - **Automatic Type Detection**: Classifies uploads into Ebooks (PDF, EPUB, MOBI), Comics/Manga (CBR, CBZ), Newspapers, or Audiobooks.
502
+ - **Local Metadata Extraction**: Reads metadata from OPF files in EPUB/MOBI, `ComicInfo.xml` in CBR/CBZ, parses tags via Mutagen for audiobooks, and uses PyMuPDF with checksum-validated regex to extract ISBNs from PDFs.
503
+ - **API Integrations**: Queries **MyAnonamouse (MAM) API**, **Google Books API**, and **OpenLibrary API** for automated metadata lookup.
504
+ - **Artwork & Screenshot Generation**: Renders gallery screenshots from PDF/EPUB pages, extracts cover artwork, and auto-generates `POSTER.png`.
505
+ - **Smart Duplicate Checking**: Custom rules distinguishing formats (e.g., EPUB vs PDF) and audiobooks vs ebooks, with tracker-specific overrides.
506
+ - **Video Game (`GAME` Category)**:
507
+ - **Game Directory Parsing**: Priority scans for executables (`.exe`), disc images (`.iso`), or archives (`.rar`, `.zip`, etc.) in the upload path.
508
+ - **GazelleGames, IGDB & Steam Metadata APIs**: Uses exact GazelleGames torrent comments or a guarded title search for game metadata, then fills missing fields and artwork through Twitch/IGDB and Steam.
509
+ - **Platform Detection**: Identifies systems (PC, PS5, Switch, Xbox Series X|S, etc.) and enforces platform-group duplicate checks (so Switch uploads aren't blocked by PC dupes).
510
+ - **Platform-specific Prompts**: Attended prompts for console TV standard (NTSC/PAL) and region codes (USA/EUR/JPN) for trackers like BJSHARE.
511
+ - **Music (`MUSIC` Category)**:
512
+ - **Local Tag & Metadata Extraction**: Parses audio tags, cue sheets, and rip logs (EAC, XLD, etc.) using Mutagen to extract tracklists, artists, and audio metadata.
513
+ - **Discogs & MusicBrainz APIs**: Optionally queries external APIs (Discogs via release/master ID or URL, and MusicBrainz) for metadata enrichment.
514
+ - **Artwork & Cover Extraction**: Automatically searches for local cover images or extracts embedded artwork from FLAC/MP3/M4A tags to upload to image hosts.
515
+ - **Preflight & Rule Validation**: Enforces mechanical validation for audio formats, sample/bit rates, track counts, and hybrid setups before uploading.
516
+ - **Adult Video (`XXX` Category)**:
517
+ - **Automatic Detection & Metadata**: Recognizes supported adult-platform release names, extracts common title, studio, and date fields, and builds descriptive keywords.
518
+ - **Contact Sheets & Artwork**: Generates one configurable contact sheet per video and creates a fallback cover from the source when artwork is not supplied.
519
+ - **Workflow Guide**: See the dedicated [XXX category upload guide](docs/xxx-upload.md) for naming, overrides, WebUI usage, and supported destinations.
520
+
521
+ ### 2. Audio Stream Spectrogram Generation
522
+
523
+ - **Spectrogram Extraction & Plotting**: Use `-as` / `--audio-spectrogram` to automatically extract audio streams from MKVs, Blu-ray BDInfo, music tracks, or audiobook chapters using FFmpeg and plot frequency/time graphs with FFmpeg at each stream's native sample rate (stereo channels shown separately, surround downmixed to mono). Music and audiobook processing is capped by `audio_spectrogram_max_files`.
524
+ - **Dynamic HDR Metadata Plots**: Use `--dynamic-hdr-plot` to create and upload separate Dolby Vision and HDR10+ metadata plots. The required `dovi_tool` and `hdr10plus_tool` binaries are downloaded automatically for the current platform on first use.
525
+ - **Automated Upload**: Automatically uploads generated spectrograms along with your screenshots for release verification.
526
+ - **Stream Selection**: Supports targeting specific tracks using `-ast` / `--audio-spectrogram-tracks` (e.g., track indexes or `all`).
527
+
528
+ ### 3. Upload Order & qBittorrent Bandwidth Control
529
+
530
+ Sequence Usenet and torrent tracker uploads while limiting contention with qBittorrent. See the dedicated [upload order and bandwidth control guide](docs/upload-order-and-bandwidth-control.md) for configuration and every supported workflow.
531
+
532
+ ### 4. Argument-Embedded Text Queue
533
+
534
+ - **Custom Parameter Queues**: When running batch uploads with a `.txt` queue file, each line is treated as an independent execution command.
535
+ - **shlex-Split Parsing**: Allows specifying unique CLI arguments (e.g., different IMDB IDs, tags, or tracker targets) for each file/folder on its respective line.
536
+ - **Resume Capability**: Logs processed lines to prevent reprocessing completed uploads if a queue run is interrupted.
537
+
538
+ ### 5. Usenet & Indexer Posting
539
+
540
+ - **Usenet Upload Support**: Automatically archives and splits files/folders (via `7z`), generates parity recovery blocks (via `par2`), and uploads them to Usenet (via `nyuu`).
541
+ - **Anonymity & Privacy**: Generates randomized poster details and obfuscates post subject lines to protect privacy.
542
+ - **Indexer Integration**: Automatically uploads the generated `.nzb` file to configured Usenet indexers.
543
+
544
+ ### 6. Interactive Screenshot Review Workflow
545
+
546
+ - **Manual Screenshot Review**: Inspect, add, delete, or replace/recapture individual frames before uploading through the interactive Web UI.
547
+
548
+ ### 7. Persistent TTL-Based Metadata Cache
549
+
550
+ - **Provider-Scoped API Caching**: Disk-cached metadata for TMDb, IMDb, TVDB, TVmaze, OpenLibrary, IGDB, GazelleGames, Discogs, and MusicBrainz.
551
+ - **Performance & Rate Limit Protection**: Configurable TTL and negative caching reuse fetched metadata across runs, avoiding redundant API calls and preventing rate-limiting bans.
552
+
553
+ ### 8. Modern Web UI & Real-Time Engine
554
+
555
+ - **Full Parity Web UI**: Modern interface providing full feature parity with CLI options (`--webui`).
556
+ - **Private Local Statistics**: A dedicated Stats workspace tracks daily upload outcomes, cache efficiency, logical API operations, torrent/NZB creation, destinations, and categories without storing media names, paths, external IDs, URLs, or credentials.
557
+ - **Real-Time Execution & Presets**: Live log streams, real-time preparation preview, preset saving, and interactive screenshot management.
558
+
559
+ ## Help
560
+
561
+ For bugs or setup questions, [open a GitHub issue](https://github.com/wastaken7/Upload-Assistant/issues). Include your operating system, installation method (published package, GitHub, or Docker), command or WebUI steps, and the relevant error output. Remove API keys, passwords, personal announce URLs, and other private details before sharing logs or screenshots.
562
+
563
+ If you prefer not to create a GitHub account, use the [Signal group](https://signal.group/#CjQKILmkUCLe5mZULkQGI6B5knmX1ytrIBFicpJ_NZGAHmOrEhDD5F7ctp-obLeLOsa0yCoJ).
564
+
565
+ ## Attributions
566
+
567
+ Built with [autobrr/go-bdinfo](https://github.com/autobrr/go-bdinfo)
568
+
569
+ Features automated binary managers for:
570
+
571
+ - [nyuu](https://github.com/animetosho/nyuu)
572
+ - [par2cmdline-turbo](https://github.com/animetosho/par2cmdline-turbo)
573
+ - [pesto](https://github.com/franzopl/pesto)
574
+ - [7-Zip](https://www.7-zip.org/)
575
+
576
+ <p>
577
+ <a href="https://github.com/autobrr/mkbrr"><img src="https://github.com/autobrr/mkbrr/blob/main/.github/assets/mkbrr-dark.png?raw=true" alt="mkbrr" height="40px;"></a>&nbsp;&nbsp;
578
+ <a href="https://github.com/autobrr/qui"><img src="https://github.com/autobrr/qui/blob/develop/documentation/static/img/qui.png?raw=true" alt="qui" height="40px;"></a>&nbsp;&nbsp;
579
+ <a href="https://ffmpeg.org/"><img src="https://i.postimg.cc/xdj3BS7S/FFmpeg-Logo-new-svg.png" alt="FFmpeg" height="40px;"></a>&nbsp;&nbsp;
580
+ <a href="https://mediaarea.net/en/MediaInfo"><img src="https://i.postimg.cc/vTkjXmHh/Media-Info-Logo-svg.png" alt="Mediainfo" height="40px;"></a>&nbsp;&nbsp;
581
+ <a href="https://www.themoviedb.org/"><img src="https://i.postimg.cc/1tpXHx3k/blue-square-2-d537fb228cf3ded904ef09b136fe3fec72548ebc1fea3fbbd1ad9e36364db38b.png" alt="TMDb" height="40px;"></a>&nbsp;&nbsp;
582
+ <a href="https://www.imdb.com/"><img src="https://i.postimg.cc/CLVmvwr1/IMDb-Logo-Rectangle-Gold-CB443386186.png" alt="IMDb" height="40px;"></a>&nbsp;&nbsp;
583
+ <a href="https://thetvdb.com/"><img src="https://i.postimg.cc/Hs1KKqsS/logo1.png" alt="TheTVDB" height="40px;"></a>&nbsp;&nbsp;
584
+ <a href="https://www.tvmaze.com/"><img src="https://i.postimg.cc/2jdRzkJp/tvm-header-logo.png" alt="TVmaze" height="40px"></a>
585
+ </p>
586
+
587
+ ## Contributors
588
+
589
+ [![Contributors](https://contrib.rocks/image?repo=wastaken7/Upload-Assistant)](https://github.com/wastaken7/Upload-Assistant/graphs/contributors)