ofscraper 3.12.8__tar.gz → 3.13.dev0__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 (398) hide show
  1. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/PKG-INFO +9 -5
  2. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/README.md +4 -1
  3. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/__main__.py +1 -1
  4. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/__version__.py +3 -3
  5. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/classes/labels.py +1 -1
  6. {ofscraper-3.12.8/ofscraper/classes → ofscraper-3.13.dev0/ofscraper/classes/of}/base.py +5 -3
  7. {ofscraper-3.12.8/ofscraper/classes → ofscraper-3.13.dev0/ofscraper/classes/of}/media.py +17 -12
  8. {ofscraper-3.12.8/ofscraper/classes → ofscraper-3.13.dev0/ofscraper/classes/of}/posts.py +2 -2
  9. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/classes/placeholder.py +12 -26
  10. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/classes/sessionmanager/download.py +5 -32
  11. ofscraper-3.13.dev0/ofscraper/classes/table/app.py +480 -0
  12. ofscraper-3.13.dev0/ofscraper/classes/table/compose.py +128 -0
  13. ofscraper-3.13.dev0/ofscraper/classes/table/const.py +2 -0
  14. ofscraper-3.13.dev0/ofscraper/classes/table/css.py +84 -0
  15. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/classes/table/fields/boolfield.py +0 -15
  16. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/classes/table/fields/datefield.py +32 -9
  17. ofscraper-3.13.dev0/ofscraper/classes/table/fields/downloadfield.py +60 -0
  18. ofscraper-3.13.dev0/ofscraper/classes/table/fields/mediafield.py +35 -0
  19. ofscraper-3.13.dev0/ofscraper/classes/table/fields/numfield.py +50 -0
  20. ofscraper-3.13.dev0/ofscraper/classes/table/fields/pricefield.py +46 -0
  21. ofscraper-3.13.dev0/ofscraper/classes/table/fields/responsefield.py +99 -0
  22. ofscraper-3.13.dev0/ofscraper/classes/table/fields/selectfield.py +61 -0
  23. ofscraper-3.13.dev0/ofscraper/classes/table/fields/sizefield.py +33 -0
  24. ofscraper-3.13.dev0/ofscraper/classes/table/fields/textsearch.py +45 -0
  25. ofscraper-3.13.dev0/ofscraper/classes/table/fields/timefield.py +112 -0
  26. ofscraper-3.13.dev0/ofscraper/classes/table/inputs/filterinput.py +16 -0
  27. ofscraper-3.13.dev0/ofscraper/classes/table/inputs/intergerinput.py +9 -0
  28. ofscraper-3.13.dev0/ofscraper/classes/table/inputs/strinput.py +10 -0
  29. ofscraper-3.13.dev0/ofscraper/classes/table/sections/sidebar.py +10 -0
  30. ofscraper-3.13.dev0/ofscraper/classes/table/sections/table.py +129 -0
  31. ofscraper-3.13.dev0/ofscraper/classes/table/utils/lock.py +2 -0
  32. ofscraper-3.12.8/ofscraper/const/values/table.py → ofscraper-3.13.dev0/ofscraper/classes/table/utils/names.py +14 -1
  33. {ofscraper-3.12.8/ofscraper/commands/runners → ofscraper-3.13.dev0/ofscraper/commands}/check.py +140 -97
  34. ofscraper-3.13.dev0/ofscraper/commands/db.py +380 -0
  35. {ofscraper-3.12.8/ofscraper/commands/runners → ofscraper-3.13.dev0/ofscraper/commands}/manual.py +10 -12
  36. {ofscraper-3.12.8/ofscraper/actions/actions/metadata/normal/utils → ofscraper-3.13.dev0/ofscraper/commands/metadata}/consumer.py +5 -5
  37. ofscraper-3.12.8/ofscraper/actions/actions/metadata/managers/metadata.py → ofscraper-3.13.dev0/ofscraper/commands/metadata/manager.py +11 -24
  38. {ofscraper-3.12.8/ofscraper/commands/managers → ofscraper-3.13.dev0/ofscraper/commands/metadata}/metadata.py +149 -16
  39. ofscraper-3.12.8/ofscraper/actions/actions/download/normal/downloadnormal.py → ofscraper-3.13.dev0/ofscraper/commands/scraper/actions/download/download.py +74 -33
  40. {ofscraper-3.12.8/ofscraper/actions → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/download/managers/alt_download.py +29 -44
  41. {ofscraper-3.12.8/ofscraper/actions → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/download/managers/downloadmanager.py +22 -50
  42. {ofscraper-3.12.8/ofscraper/actions → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/download/managers/main_download.py +27 -22
  43. ofscraper-3.12.8/ofscraper/actions/actions/download/normal/utils/consumer.py → ofscraper-3.13.dev0/ofscraper/commands/scraper/actions/download/run.py +34 -7
  44. ofscraper-3.13.dev0/ofscraper/commands/scraper/actions/download/utils/chunk.py +24 -0
  45. {ofscraper-3.12.8/ofscraper/actions → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/download/utils/keyhelpers.py +22 -21
  46. ofscraper-3.13.dev0/ofscraper/commands/scraper/actions/download/utils/leaky.py +14 -0
  47. ofscraper-3.12.8/ofscraper/classes/download_retries.py → ofscraper-3.13.dev0/ofscraper/commands/scraper/actions/download/utils/retries.py +1 -1
  48. {ofscraper-3.12.8/ofscraper/actions → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/download/utils/text.py +3 -6
  49. {ofscraper-3.12.8/ofscraper/actions → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/like/like.py +4 -4
  50. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/general.py +2 -2
  51. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/globals.py +4 -5
  52. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/log.py +5 -5
  53. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/paths/paths.py +3 -3
  54. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/progress/update.py +1 -1
  55. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/retries.py +3 -2
  56. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/send/chunk.py +2 -2
  57. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/send/message.py +1 -1
  58. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/send/send_bar_msg.py +3 -3
  59. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/workers.py +3 -1
  60. ofscraper-3.13.dev0/ofscraper/commands/scraper/scraper.py +276 -0
  61. ofscraper-3.13.dev0/ofscraper/commands/scraper/utils/jobqueue.py +2 -0
  62. {ofscraper-3.12.8/ofscraper/commands/runners → ofscraper-3.13.dev0/ofscraper/commands}/scraper/utils/prepare.py +21 -4
  63. ofscraper-3.13.dev0/ofscraper/commands/scraper/utils/print.py +4 -0
  64. ofscraper-3.13.dev0/ofscraper/commands/scraper/utils/schedule.py +45 -0
  65. ofscraper-3.12.8/ofscraper/commands/managers/manager.py → ofscraper-3.13.dev0/ofscraper/commands/utils/command.py +6 -10
  66. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/action/download.py +1 -1
  67. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/date.py +0 -1
  68. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/req/cdm.py +3 -3
  69. ofscraper-3.13.dev0/ofscraper/const/values/req/like.py +0 -0
  70. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/req/req.py +1 -1
  71. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/archive.py +13 -15
  72. ofscraper-3.13.dev0/ofscraper/data/api/common/after.py +34 -0
  73. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/common/cache/read.py +2 -2
  74. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/common/cache/write.py +3 -3
  75. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/common/timeline.py +3 -3
  76. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/highlights.py +1 -1
  77. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/init.py +2 -3
  78. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/labels.py +4 -4
  79. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/me.py +1 -1
  80. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/messages.py +16 -17
  81. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/paid.py +7 -5
  82. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/pinned.py +11 -12
  83. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/profile.py +4 -4
  84. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/streams.py +14 -16
  85. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/subscriptions/common.py +2 -2
  86. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/subscriptions/individual.py +3 -3
  87. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/subscriptions/lists.py +7 -7
  88. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/subscriptions/subscriptions.py +1 -1
  89. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/timeline.py +21 -15
  90. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/models/manager.py +42 -36
  91. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/models/utils/retriver.py +8 -8
  92. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/posts/post.py +22 -17
  93. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/posts/scrape_paid.py +10 -11
  94. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/operations_/labels.py +2 -2
  95. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/operations_/media.py +17 -9
  96. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/operations_/messages.py +2 -2
  97. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/operations_/posts.py +3 -3
  98. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/operations_/stories.py +2 -2
  99. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/filters/media/filters.py +56 -41
  100. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/filters/media/main.py +46 -16
  101. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/filters/models/date.py +19 -19
  102. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/filters/models/flags.py +13 -13
  103. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/filters/models/other.py +4 -4
  104. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/filters/models/price.py +37 -38
  105. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/filters/models/sort.py +3 -4
  106. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/filters/models/subtype.py +7 -7
  107. {ofscraper-3.12.8/ofscraper/runner → ofscraper-3.13.dev0/ofscraper/main}/close/final/final.py +2 -2
  108. {ofscraper-3.12.8/ofscraper/runner → ofscraper-3.13.dev0/ofscraper/main}/close/final/final_script.py +8 -6
  109. {ofscraper-3.12.8/ofscraper/runner → ofscraper-3.13.dev0/ofscraper/main}/close/final/final_user.py +4 -5
  110. {ofscraper-3.12.8/ofscraper/runner → ofscraper-3.13.dev0/ofscraper/main}/manager.py +44 -34
  111. {ofscraper-3.12.8/ofscraper/runner → ofscraper-3.13.dev0/ofscraper/main}/open/load.py +1 -1
  112. {ofscraper-3.12.8/ofscraper/runner → ofscraper-3.13.dev0/ofscraper/main}/open/run.py +2 -5
  113. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/promptConvert.py +19 -23
  114. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/prompt_groups/actions.py +6 -7
  115. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/prompt_groups/area.py +4 -4
  116. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/prompt_groups/config.py +2 -27
  117. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/prompt_groups/model.py +19 -18
  118. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/utils/model_helpers.py +21 -22
  119. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/utils/prompt_helpers.py +46 -42
  120. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/actions.py +11 -12
  121. ofscraper-3.13.dev0/ofscraper/utils/ads.py +2 -0
  122. ofscraper-3.13.dev0/ofscraper/utils/args/accessors/actions.py +0 -0
  123. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/accessors/areas.py +13 -13
  124. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/accessors/quality.py +2 -2
  125. ofscraper-3.13.dev0/ofscraper/utils/args/accessors/time.py +54 -0
  126. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/main.py +1 -1
  127. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/arguments/check.py +33 -0
  128. ofscraper-3.13.dev0/ofscraper/utils/args/parse/arguments/db.py +15 -0
  129. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/arguments/download.py +1 -14
  130. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/arguments/logging.py +3 -0
  131. ofscraper-3.13.dev0/ofscraper/utils/args/parse/arguments/media_content.py +163 -0
  132. ofscraper-3.13.dev0/ofscraper/utils/args/parse/arguments/metadata_filters.py +102 -0
  133. ofscraper-3.12.8/ofscraper/utils/args/parse/arguments/content.py → ofscraper-3.13.dev0/ofscraper/utils/args/parse/arguments/post_content.py +34 -112
  134. ofscraper-3.13.dev0/ofscraper/utils/args/parse/arguments/shared.py +1 -0
  135. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/arguments/utils/date.py +1 -1
  136. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/arguments/utils/retry.py +7 -4
  137. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/commands/db.py +2 -2
  138. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/commands/main.py +2 -1
  139. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/commands/metadata.py +1 -1
  140. ofscraper-3.13.dev0/ofscraper/utils/args/parse/group_bundles/check.py +86 -0
  141. ofscraper-3.13.dev0/ofscraper/utils/args/parse/group_bundles/db.py +109 -0
  142. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/group_bundles/main.py +4 -2
  143. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/group_bundles/manual.py +2 -1
  144. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/group_bundles/message_check.py +3 -3
  145. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/group_bundles/metadata.py +21 -43
  146. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/group_bundles/paid_check.py +3 -3
  147. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/group_bundles/post_check.py +3 -3
  148. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/group_bundles/story_check.py +3 -2
  149. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/groups/check_content.py +2 -3
  150. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/groups/download.py +0 -2
  151. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/groups/media_filter.py +20 -8
  152. ofscraper-3.13.dev0/ofscraper/utils/args/parse/groups/post_filter.py +38 -0
  153. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/auth/make.py +1 -2
  154. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/auth/request.py +5 -7
  155. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/auth/utils/warning/print.py +3 -1
  156. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/cache.py +4 -4
  157. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/checkers.py +4 -1
  158. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/config/data.py +0 -17
  159. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/config/file.py +1 -0
  160. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/config/schema.py +0 -1
  161. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/context/stdout.py +3 -2
  162. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/hash.py +1 -1
  163. {ofscraper-3.12.8/ofscraper/classes/progress → ofscraper-3.13.dev0/ofscraper/utils/live/classes}/progress.py +1 -96
  164. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/live/clear.py +2 -1
  165. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/live/empty.py +1 -1
  166. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/live/groups.py +1 -15
  167. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/live/progress.py +2 -14
  168. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/live/screens.py +3 -11
  169. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/live/updater.py +18 -53
  170. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/classes/handlers/rich.py +2 -2
  171. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/classes/handlers/text.py +1 -1
  172. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/close.py +1 -5
  173. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/logger.py +1 -1
  174. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/logs.py +27 -21
  175. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/other.py +19 -16
  176. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/stdout.py +9 -9
  177. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/utils/level.py +2 -3
  178. ofscraper-3.13.dev0/ofscraper/utils/logs/utils/trace.py +9 -0
  179. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/me.py +2 -2
  180. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/menu.py +2 -6
  181. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/paths/common.py +4 -4
  182. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/paths/paths.py +1 -1
  183. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/profiles/data.py +3 -3
  184. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/profiles/manage.py +6 -6
  185. ofscraper-3.13.dev0/ofscraper/utils/sems.py +1 -0
  186. ofscraper-3.13.dev0/ofscraper/utils/settings.py +176 -0
  187. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/system/network.py +1 -1
  188. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/text.py +1 -3
  189. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/pyproject.toml +4 -4
  190. ofscraper-3.12.8/ofscraper/actions/actions/download/batch/downloadbatch.py +0 -243
  191. ofscraper-3.12.8/ofscraper/actions/actions/download/batch/utils/consumer.py +0 -31
  192. ofscraper-3.12.8/ofscraper/actions/actions/download/batch/utils/queue.py +0 -127
  193. ofscraper-3.12.8/ofscraper/actions/actions/download/download.py +0 -71
  194. ofscraper-3.12.8/ofscraper/actions/actions/download/runners/download.py +0 -45
  195. ofscraper-3.12.8/ofscraper/actions/actions/download/utils/chunk.py +0 -76
  196. ofscraper-3.12.8/ofscraper/actions/actions/metadata/batch/metadatabatch.py +0 -219
  197. ofscraper-3.12.8/ofscraper/actions/actions/metadata/batch/utils/consumer.py +0 -28
  198. ofscraper-3.12.8/ofscraper/actions/actions/metadata/batch/utils/queue.py +0 -115
  199. ofscraper-3.12.8/ofscraper/actions/actions/metadata/metadata.py +0 -37
  200. ofscraper-3.12.8/ofscraper/actions/actions/metadata/normal/metadata.py +0 -83
  201. ofscraper-3.12.8/ofscraper/actions/manager.py +0 -3
  202. ofscraper-3.12.8/ofscraper/actions/utils/mediasplit.py +0 -13
  203. ofscraper-3.12.8/ofscraper/classes/sessionmanager/chunk.py +0 -12
  204. ofscraper-3.12.8/ofscraper/classes/sessionmanager/leaky.py +0 -56
  205. ofscraper-3.12.8/ofscraper/classes/table/button.py +0 -6
  206. ofscraper-3.12.8/ofscraper/classes/table/fields/mediafield.py +0 -19
  207. ofscraper-3.12.8/ofscraper/classes/table/fields/numfield.py +0 -37
  208. ofscraper-3.12.8/ofscraper/classes/table/fields/pricefield.py +0 -41
  209. ofscraper-3.12.8/ofscraper/classes/table/fields/responsefield.py +0 -22
  210. ofscraper-3.12.8/ofscraper/classes/table/fields/selectfield.py +0 -42
  211. ofscraper-3.12.8/ofscraper/classes/table/fields/textsearch.py +0 -58
  212. ofscraper-3.12.8/ofscraper/classes/table/fields/timefield.py +0 -74
  213. ofscraper-3.12.8/ofscraper/classes/table/inputs/filterinput.py +0 -55
  214. ofscraper-3.12.8/ofscraper/classes/table/inputs/intergerinput.py +0 -5
  215. ofscraper-3.12.8/ofscraper/classes/table/inputs/strinput.py +0 -5
  216. ofscraper-3.12.8/ofscraper/classes/table/row_names.py +0 -15
  217. ofscraper-3.12.8/ofscraper/classes/table/status.py +0 -129
  218. ofscraper-3.12.8/ofscraper/classes/table/table.py +0 -624
  219. ofscraper-3.12.8/ofscraper/commands/managers/db.py +0 -285
  220. ofscraper-3.12.8/ofscraper/commands/managers/scraper.py +0 -135
  221. ofscraper-3.12.8/ofscraper/commands/runners/db.py +0 -13
  222. ofscraper-3.12.8/ofscraper/commands/runners/metadata/metadata.py +0 -77
  223. ofscraper-3.12.8/ofscraper/commands/runners/scraper/scraper.py +0 -77
  224. ofscraper-3.12.8/ofscraper/commands/runners/scraper/utils/print.py +0 -8
  225. ofscraper-3.12.8/ofscraper/commands/runners/scraper/utils/prompt.py +0 -12
  226. ofscraper-3.12.8/ofscraper/commands/runners/scraper/utils/select.py +0 -41
  227. ofscraper-3.12.8/ofscraper/commands/utils/picker.py +0 -5
  228. ofscraper-3.12.8/ofscraper/data/api/common/after.py +0 -27
  229. ofscraper-3.12.8/ofscraper/filters/media/sorter.py +0 -2
  230. ofscraper-3.12.8/ofscraper/filters/media/utils/trace.py +0 -29
  231. ofscraper-3.12.8/ofscraper/utils/ads.py +0 -2
  232. ofscraper-3.12.8/ofscraper/utils/args/accessors/command.py +0 -4
  233. ofscraper-3.12.8/ofscraper/utils/args/parse/arguments/media_type.py +0 -84
  234. ofscraper-3.12.8/ofscraper/utils/args/parse/group_bundles/db.py +0 -168
  235. ofscraper-3.12.8/ofscraper/utils/args/parse/group_bundles/main_check.py +0 -19
  236. ofscraper-3.12.8/ofscraper/utils/args/parse/groups/content.py +0 -66
  237. ofscraper-3.12.8/ofscraper/utils/live/reader.py +0 -12
  238. ofscraper-3.12.8/ofscraper/utils/logs/utils/trace.py +0 -6
  239. ofscraper-3.12.8/ofscraper/utils/run.py +0 -112
  240. ofscraper-3.12.8/ofscraper/utils/settings.py +0 -237
  241. ofscraper-3.12.8/ofscraper/utils/zmq.py +0 -15
  242. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/LICENSE +0 -0
  243. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/__version__.pye +0 -0
  244. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/classes/sessionmanager/ofsession.py +0 -0
  245. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/classes/sessionmanager/sessionmanager.py +0 -0
  246. {ofscraper-3.12.8/ofscraper/classes/table → ofscraper-3.13.dev0/ofscraper/classes/table/sections}/table_console.py +0 -0
  247. {ofscraper-3.12.8/ofscraper/actions/actions/metadata/utils → ofscraper-3.13.dev0/ofscraper/commands/metadata}/desc.py +0 -0
  248. {ofscraper-3.12.8/ofscraper/actions → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/download/utils/desc.py +0 -0
  249. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/buffer.py +0 -0
  250. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/params.py +0 -0
  251. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/paths/media.py +0 -0
  252. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/progress/convert.py +0 -0
  253. {ofscraper-3.12.8/ofscraper → ofscraper-3.13.dev0/ofscraper/commands/scraper}/actions/utils/threads.py +0 -0
  254. ofscraper-3.12.8/ofscraper/const/values/req/like.py → ofscraper-3.13.dev0/ofscraper/commands/scraper/utils/daemon.py +0 -0
  255. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/commands/utils/scrape_context.py +0 -0
  256. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/commands/utils/strings.py +0 -0
  257. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/constants.py +0 -0
  258. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/action/like.py +0 -0
  259. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/action/metadata.py +0 -0
  260. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/binary.py +0 -0
  261. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/config.py +0 -0
  262. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/download.py +0 -0
  263. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/dynamic.py +0 -0
  264. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/general.py +0 -0
  265. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/list.py +0 -0
  266. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/live.py +0 -0
  267. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/logger.py +0 -0
  268. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/path/bytes.py +0 -0
  269. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/path/files.py +0 -0
  270. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/path/general.py +0 -0
  271. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/path/path.py +0 -0
  272. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/prompts.py +0 -0
  273. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/req/anon.py +0 -0
  274. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/req/api.py +0 -0
  275. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/req/discord.py +0 -0
  276. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/req/git.py +0 -0
  277. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/req/mpd.py +0 -0
  278. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/rich.py +0 -0
  279. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/system.py +0 -0
  280. ofscraper-3.12.8/ofscraper/db/__init__.py → ofscraper-3.13.dev0/ofscraper/const/values/table.py +0 -0
  281. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/test/test_constants.py +0 -0
  282. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/time.py +0 -0
  283. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/url/other_url.py +0 -0
  284. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/const/values/url/url.py +0 -0
  285. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/common/check.py +0 -0
  286. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/common/logs/logs.py +0 -0
  287. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/data/api/common/logs/strings.py +0 -0
  288. {ofscraper-3.12.8/ofscraper/classes → ofscraper-3.13.dev0/ofscraper/data/models}/models.py +0 -0
  289. {ofscraper-3.12.8/ofscraper/utils → ofscraper-3.13.dev0/ofscraper/db}/__init__.py +0 -0
  290. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/backup.py +0 -0
  291. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/difference.py +0 -0
  292. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/merge.py +0 -0
  293. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/operations.py +0 -0
  294. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/operations_/empty.py +0 -0
  295. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/operations_/others.py +0 -0
  296. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/operations_/profile.py +0 -0
  297. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/operations_/wrapper.py +0 -0
  298. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/transition.py +0 -0
  299. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/db/utils/convert.py +0 -0
  300. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/filters/models/utils/logs.py +0 -0
  301. {ofscraper-3.12.8/ofscraper/runner → ofscraper-3.13.dev0/ofscraper/main}/close/exit.py +0 -0
  302. {ofscraper-3.12.8/ofscraper/runner → ofscraper-3.13.dev0/ofscraper/main}/close/final/final_log.py +0 -0
  303. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/keybindings.py +0 -0
  304. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/prompt_groups/auth.py +0 -0
  305. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/prompt_groups/binary.py +0 -0
  306. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/prompt_groups/menu.py +0 -0
  307. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/prompt_groups/merge.py +0 -0
  308. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/prompt_groups/profile.py +0 -0
  309. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/prompt_strings.py +0 -0
  310. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/prompt_validators.py +0 -0
  311. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/prompts/prompts.py +0 -0
  312. ofscraper-3.12.8/ofscraper/utils/sems.py → ofscraper-3.13.dev0/ofscraper/utils/__init__.py +0 -0
  313. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/accessors/output.py +0 -0
  314. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/accessors/read.py +0 -0
  315. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/callbacks/choice.py +0 -0
  316. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/callbacks/file.py +0 -0
  317. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/callbacks/string.py +0 -0
  318. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/callbacks/username.py +0 -0
  319. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/globals.py +0 -0
  320. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/helpers/hide_args.py +0 -0
  321. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/mutators/before.py +0 -0
  322. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/mutators/change.py +0 -0
  323. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/mutators/user.py +0 -0
  324. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/mutators/write.py +0 -0
  325. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/arguments/advanced_processing.py +0 -0
  326. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/arguments/advanced_program.py +0 -0
  327. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/arguments/advanced_user_filter.py +0 -0
  328. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/arguments/automatic.py +0 -0
  329. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/arguments/file.py +0 -0
  330. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/arguments/program.py +0 -0
  331. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/arguments/user_list.py +0 -0
  332. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/arguments/user_select.py +0 -0
  333. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/arguments/user_sort.py +0 -0
  334. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/commands/manual.py +0 -0
  335. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/commands/message.py +0 -0
  336. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/commands/paid.py +0 -0
  337. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/commands/post.py +0 -0
  338. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/commands/story.py +0 -0
  339. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/group_bundles/advanced_common.py +0 -0
  340. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/group_bundles/common.py +0 -0
  341. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/group_bundles/utils/check.py +0 -0
  342. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/groups/advanced_processing.py +0 -0
  343. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/groups/advanced_program.py +0 -0
  344. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/groups/advanced_user_filter.py +0 -0
  345. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/groups/automatic.py +0 -0
  346. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/groups/file.py +0 -0
  347. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/groups/logging.py +0 -0
  348. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/groups/program.py +0 -0
  349. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/groups/user_list.py +0 -0
  350. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/groups/user_select.py +0 -0
  351. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/parse/groups/user_sort.py +0 -0
  352. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/types/arrow.py +0 -0
  353. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/args/types/choice.py +0 -0
  354. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/auth/data.py +0 -0
  355. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/auth/file.py +0 -0
  356. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/auth/schema.py +0 -0
  357. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/auth/utils/context.py +0 -0
  358. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/auth/utils/dict.py +0 -0
  359. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/auth/utils/prompt.py +0 -0
  360. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/auth/utils/warning/check.py +0 -0
  361. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/auth/utils/warning/warning.py +0 -0
  362. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/binaries.py +0 -0
  363. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/config/config.py +0 -0
  364. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/config/custom.py +0 -0
  365. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/config/menu.py +0 -0
  366. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/config/utils/context.py +0 -0
  367. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/config/utils/wrapper.py +0 -0
  368. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/console.py +0 -0
  369. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/constants.py +0 -0
  370. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/context/exit.py +0 -0
  371. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/context/run_async.py +0 -0
  372. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/dates.py +0 -0
  373. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/encoding.py +0 -0
  374. {ofscraper-3.12.8/ofscraper/classes/progress → ofscraper-3.13.dev0/ofscraper/utils/live/classes}/task.py +0 -0
  375. {ofscraper-3.12.8/ofscraper/classes/progress → ofscraper-3.13.dev0/ofscraper/utils/live/classes}/transfercol.py +0 -0
  376. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/live/live.py +0 -0
  377. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/live/panel.py +0 -0
  378. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/live/tasks.py +0 -0
  379. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/classes/classes.py +0 -0
  380. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/classes/handlers/discord.py +0 -0
  381. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/classes/handlers/file.py +0 -0
  382. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/classes/handlers/pipe.py +0 -0
  383. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/classes/handlers/zmq.py +0 -0
  384. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/globals.py +0 -0
  385. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/logs/handle.py +0 -0
  386. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/manager.py +0 -0
  387. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/merge.py +0 -0
  388. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/paths/check.py +0 -0
  389. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/paths/db.py +0 -0
  390. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/paths/manage.py +0 -0
  391. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/profiles/tools.py +0 -0
  392. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/separate.py +0 -0
  393. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/string.py +0 -0
  394. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/system/free.py +0 -0
  395. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/system/priority.py +0 -0
  396. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/system/speed.py +0 -0
  397. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/system/subprocess.py +0 -0
  398. {ofscraper-3.12.8 → ofscraper-3.13.dev0}/ofscraper/utils/system/system.py +1 -1
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: ofscraper
3
- Version: 3.12.8
3
+ Version: 3.13.dev0
4
4
  Summary: automatically scrape onlyfans
5
5
  Author: datawhores
6
6
  Author-email: datawhores@riseup.net
@@ -8,9 +8,10 @@ Requires-Python: >=3.11,<3.14
8
8
  Classifier: Programming Language :: Python :: 3
9
9
  Classifier: Programming Language :: Python :: 3.11
10
10
  Classifier: Programming Language :: Python :: 3.12
11
+ Classifier: Programming Language :: Python :: 3.13
11
12
  Provides-Extra: pyinstaller
12
13
  Requires-Dist: aiofiles (>=23.2.1,<24.0.0)
13
- Requires-Dist: aiohttp (==3.10.2)
14
+ Requires-Dist: aiohttp (==3.10.11)
14
15
  Requires-Dist: aiolimiter (>=1.1.0,<2.0.0)
15
16
  Requires-Dist: aioprocessing (>=2.0.1,<3.0.0)
16
17
  Requires-Dist: aiosqlite (>=0.20.0,<0.21.0)
@@ -48,7 +49,7 @@ Requires-Dist: setproctitle (>=1.3.3,<2.0.0)
48
49
  Requires-Dist: setuptools (>=69.1.1,<71.0.0)
49
50
  Requires-Dist: speedtest-cli (>=2.1.3,<3.0.0)
50
51
  Requires-Dist: tenacity (>=8.2.3,<9.0.0)
51
- Requires-Dist: textual (==0.52.1)
52
+ Requires-Dist: textual (==1.0.0)
52
53
  Requires-Dist: tqdm (>=4.66.4,<5.0.0)
53
54
  Requires-Dist: uvloop (>=0.19.0,<0.20.0) ; sys_platform == "linux" or sys_platform == "linux2"
54
55
  Requires-Dist: win32-setctime (>=1.1.0,<2.0.0)
@@ -56,10 +57,13 @@ Requires-Dist: xxhash (>=3.4.1,<4.0.0)
56
57
  Project-URL: Homepage, https://github.com/datawhores/OF-Scraper
57
58
  Description-Content-Type: text/markdown
58
59
 
59
- # Notice
60
+ # Notice
61
+
60
62
  1. OF-Scraper can not bypass pay walls
61
63
  2. OF-Scraper requires a subscription to the model, models can not be scraped anonymously whether free or paid
64
+
62
65
  # Please Update to 3.11.6
66
+
63
67
  As the API has changed older version are no longer viable
64
68
 
65
69
  # For auth issues
@@ -1,7 +1,10 @@
1
- # Notice
1
+ # Notice
2
+
2
3
  1. OF-Scraper can not bypass pay walls
3
4
  2. OF-Scraper requires a subscription to the model, models can not be scraped anonymously whether free or paid
5
+
4
6
  # Please Update to 3.11.6
7
+
5
8
  As the API has changed older version are no longer viable
6
9
 
7
10
  # For auth issues
@@ -1,7 +1,7 @@
1
1
  #!/root/OF-Scraper/.venv/bin/python
2
2
  import multiprocessing
3
3
 
4
- import ofscraper.runner.open.load as load
4
+ import ofscraper.main.open.load as load
5
5
  import ofscraper.utils.system.system as system
6
6
 
7
7
 
@@ -25,9 +25,9 @@ try:
25
25
  __version__ = __hardcoded__ or Version.from_git(
26
26
  pattern="(?P<base>\d+\.\d+(\.((\d+\.\w+)|\w+)|))"
27
27
  ).serialize(format="{base}+{branch}.{commit}", metadata=False)
28
- if __version__ == "0.0.0":
29
- print(__version__)
30
- # raise Exception("pipx error")
28
+ # if __version__ == "0.0.0":
29
+ # print(__version__)
30
+ # raise Exception("pipx error")
31
31
  except:
32
32
  import importlib.metadata
33
33
 
@@ -1,4 +1,4 @@
1
- import ofscraper.classes.posts as posts_
1
+ import ofscraper.classes.of.posts as posts_
2
2
 
3
3
 
4
4
  class Label:
@@ -18,10 +18,10 @@ class base:
18
18
  return "None"
19
19
  if len(text) == 0:
20
20
  return text
21
- length = int(settings.get_textlength(mediatype=self.mediatype))
21
+ length = int(settings.get_settings(mediatype=self.mediatype).text_length)
22
22
  if length == 0:
23
23
  return text
24
- elif settings.get_text_type() == "letter":
24
+ elif settings.get_settings(mediatype=self.mediatype).text_type == "letter":
25
25
  return f"{''.join(list(text)[:length])}"
26
26
  else:
27
27
  # split and reduce
@@ -37,7 +37,9 @@ class base:
37
37
  text = re.sub('[\n<>:"/\|?*:;]+', "", text)
38
38
  text = re.sub("-+", "_", text)
39
39
  text = re.sub(" +", " ", text)
40
- text = re.sub(" ", settings.get_space_replacer(mediatype=mediatype), text)
40
+ text = re.sub(
41
+ " ", settings.get_settings(mediatype=mediatype).space_replacer, text
42
+ )
41
43
  return text
42
44
 
43
45
  def db_cleanup(self, string):
@@ -10,13 +10,13 @@ from bs4 import MarkupResemblesLocatorWarning
10
10
  from mpegdash.parser import MPEGDASHParser
11
11
  from async_property import async_cached_property
12
12
 
13
- import ofscraper.classes.base as base
13
+ import ofscraper.classes.of.base as base
14
14
  import ofscraper.utils.args.accessors.quality as quality
15
15
  import ofscraper.utils.config.data as data
16
16
  import ofscraper.utils.constants as constants
17
17
  import ofscraper.utils.dates as dates
18
18
  import ofscraper.utils.logs.utils.level as log_helpers
19
- import ofscraper.runner.manager as manager
19
+ import ofscraper.main.manager as manager
20
20
 
21
21
 
22
22
  warnings.filterwarnings("ignore", category=MarkupResemblesLocatorWarning)
@@ -50,11 +50,13 @@ class Media(base.base):
50
50
  @property
51
51
  def media_source(self):
52
52
  return self._media.get("source", {})
53
-
54
53
 
55
54
  @property
56
55
  def files_source(self):
57
- return {key: (inner_dict or {}).get("url") for key, inner_dict in self._media.get("files",{}).items()}
56
+ return {
57
+ key: (inner_dict or {}).get("url")
58
+ for key, inner_dict in self._media.get("files", {}).items()
59
+ }
58
60
 
59
61
  @property
60
62
  def quality(self):
@@ -101,16 +103,15 @@ class Media(base.base):
101
103
 
102
104
  def _url_quality_picker(self):
103
105
  quality = self.normal_quality_helper()
104
- out=None
106
+ out = None
105
107
  if quality != "source":
106
- out=self._media.get("videoSources", {}).get(quality)
108
+ out = self._media.get("videoSources", {}).get(quality)
107
109
  elif out is None:
108
- out=self.files_source.get("full")
109
-
110
+ out = self.files_source.get("full")
111
+
110
112
  elif out is None:
111
- out=self.media_source.get("source")
113
+ out = self.media_source.get("source")
112
114
  return out
113
-
114
115
 
115
116
  @property
116
117
  def post(self):
@@ -309,7 +310,7 @@ class Media(base.base):
309
310
  text = self.file_cleanup(text, mediatype=self.mediatype)
310
311
  text = self.text_trunicate(text)
311
312
  if not text:
312
- return self.id
313
+ return self.id
313
314
  return text
314
315
 
315
316
  @property
@@ -372,7 +373,11 @@ class Media(base.base):
372
373
 
373
374
  @property
374
375
  def linked(self):
375
- return None
376
+ return (self.url or self.mpd) is not None
377
+
378
+ @property
379
+ def link(self):
380
+ return self.url or self.mpd
376
381
 
377
382
  @property
378
383
  def media(self):
@@ -2,8 +2,8 @@ import logging
2
2
 
3
3
  import arrow
4
4
 
5
- import ofscraper.classes.base as base
6
- import ofscraper.classes.media as Media
5
+ import ofscraper.classes.of.base as base
6
+ import ofscraper.classes.of.media as Media
7
7
  import ofscraper.utils.config.data as data
8
8
 
9
9
  log = logging.getLogger("shared")
@@ -17,31 +17,12 @@ import ofscraper.utils.paths.paths as paths
17
17
  import ofscraper.utils.profiles.data as profile_data
18
18
  import ofscraper.utils.settings as settings
19
19
  from ofscraper.utils.string import parse_safe
20
- import ofscraper.runner.manager as manager
20
+ import ofscraper.main.manager as manager
21
21
 
22
22
 
23
23
  log = logging.getLogger("shared")
24
24
 
25
25
 
26
- def check_uniquename():
27
- format = data.get_fileformat()
28
- if re.search("text", format):
29
- return True
30
- elif re.search("filename", format):
31
- return True
32
- elif re.search("post_id", format):
33
- return True
34
- elif re.search("postid", format):
35
- return True
36
- elif re.search("media_id", format):
37
- return True
38
- elif re.search("mediaid", format):
39
- return True
40
- elif re.search("custom", format):
41
- return True
42
- return False
43
-
44
-
45
26
  class basePlaceholder:
46
27
  def __init__(self) -> None:
47
28
  self._ele = None
@@ -179,6 +160,7 @@ class databasePlaceholder(basePlaceholder):
179
160
  def metadata(self, input):
180
161
  self._matadata = input
181
162
 
163
+
182
164
  class Placeholders(basePlaceholder):
183
165
  def __init__(self, ele, ext) -> None:
184
166
  super().__init__()
@@ -189,7 +171,7 @@ class Placeholders(basePlaceholder):
189
171
  self._ele = ele
190
172
  self._ext = ext
191
173
 
192
- async def init(self,create=True):
174
+ async def init(self, create=True):
193
175
  dir = await self.getmediadir(create=create)
194
176
  file = await self.createfilename()
195
177
  self._filepath = paths.truncate(pathlib.Path(dir, file))
@@ -258,7 +240,9 @@ class Placeholders(basePlaceholder):
258
240
  self._variables.update({"response_type": ele.modified_responsetype})
259
241
  self._variables.update({"label": ele.label_string})
260
242
  self._variables.update({"download_type": ele.downloadtype})
261
- self._variables.update({"modelObj": manager.Manager.model_manager.get_model(username)})
243
+ self._variables.update(
244
+ {"modelObj": manager.Manager.model_manager.get_model(username)}
245
+ )
262
246
  self._variables.update({"quality": await ele.selected_quality_placeholder})
263
247
  self._variables.update({"file_name": await ele.final_filename})
264
248
  self._variables.update({"original_filename": ele.filename})
@@ -397,7 +381,7 @@ class Placeholders(basePlaceholder):
397
381
 
398
382
  @property
399
383
  def trunicated_filepath(self):
400
- if settings.get_trunication(mediatype=self._ele.mediatype):
384
+ if settings.get_settings(mediatype=self._ele.mediatype).trunicate:
401
385
  return pathlib.Path(paths.truncate(self._filepath))
402
386
  return self._filepath
403
387
 
@@ -425,7 +409,7 @@ class Textholders(basePlaceholder):
425
409
  self._ele = ele
426
410
  self._ext = ext
427
411
 
428
- async def init(self,create=True):
412
+ async def init(self, create=True):
429
413
  dir = await self.getmediadir(create=create)
430
414
  file = await self.createfilename()
431
415
  self._filepath = paths.truncate(pathlib.Path(dir, file))
@@ -488,7 +472,9 @@ class Textholders(basePlaceholder):
488
472
  self._variables.update({"media_type": "Text"})
489
473
  self._variables.update({"response_type": ele.modified_responsetype})
490
474
  self._variables.update({"label": ele.label_string})
491
- self._variables.update({"modelObj": manager.Manager.model_manager.get_model(username)})
475
+ self._variables.update(
476
+ {"modelObj": manager.Manager.model_manager.get_model(username)}
477
+ )
492
478
  self._variables.update({"text": ele.text_trunicate(ele.file_sanitized_text)})
493
479
  self._variables.update({"config": config_file.open_config()})
494
480
  self._variables.update({"args": read_args.retriveArgs()})
@@ -594,7 +580,7 @@ class Textholders(basePlaceholder):
594
580
 
595
581
  @property
596
582
  def trunicated_filepath(self):
597
- if settings.get_trunication(mediatype=self._ele.mediatype):
583
+ if settings.get_settings(mediatype=self._ele.mediatype).trunicate:
598
584
  return pathlib.Path(paths.truncate(self._filepath))
599
585
  return self._filepath
600
586
 
@@ -1,11 +1,9 @@
1
1
  import contextlib
2
- import time
3
- import asyncio
4
2
  import ofscraper.classes.sessionmanager.ofsession as ofsessionmanager
5
3
  import ofscraper.classes.sessionmanager.sessionmanager as sessionManager
6
- import ofscraper.actions.utils.globals as common_globals
4
+ import ofscraper.commands.scraper.actions.utils.globals as common_globals
7
5
  import ofscraper.utils.constants as constants
8
- from ofscraper.actions.utils.retries import get_download_req_retries
6
+ from ofscraper.commands.scraper.actions.utils.retries import get_download_req_retries
9
7
  from ofscraper.classes.sessionmanager.sessionmanager import (
10
8
  AUTH,
11
9
  COOKIES,
@@ -14,34 +12,10 @@ from ofscraper.classes.sessionmanager.sessionmanager import (
14
12
  SIGN,
15
13
  TOO_MANY,
16
14
  )
17
- from ofscraper.classes.sessionmanager.leaky import LeakyBucket
15
+ from ofscraper.commands.scraper.actions.download.utils.leaky import LeakyBucket
18
16
  import ofscraper.utils.settings as settings
19
17
 
20
18
 
21
- class TokenBucket:
22
- def __init__(self, capacity, fill_rate):
23
- self.capacity = capacity
24
- self.fill_rate = fill_rate
25
- self.tokens = 0
26
- self.last_update = time.time()
27
-
28
- async def consume(self, tokens):
29
- if self.capacity <= 0:
30
- return True
31
- while True:
32
- now = time.time()
33
- delta = now - self.last_update
34
- self.last_update = now
35
- self.tokens = min(self.capacity, self.tokens + delta * self.fill_rate)
36
-
37
- if self.tokens >= tokens:
38
- self.tokens -= tokens
39
- return True
40
-
41
- # Not enough tokens, wait for refill
42
- await asyncio.sleep(0.01)
43
-
44
-
45
19
  class download_session(sessionManager.sessionManager):
46
20
  def __init__(
47
21
  self, sem_count=None, retries=None, wait_min=None, wait_max=None, log=None
@@ -51,7 +25,7 @@ class download_session(sessionManager.sessionManager):
51
25
  wait_min = wait_min or constants.getattr("OF_MIN_WAIT_API")
52
26
  wait_max = wait_max or constants.getattr("OF_MAX_WAIT_API")
53
27
  log = log or common_globals.log
54
- self.leaky_bucket = LeakyBucket(settings.get_download_limit(), 1)
28
+ self.leaky_bucket = LeakyBucket(settings.get_settings().download_limit, 1)
55
29
  super().__init__(
56
30
  sem_count=sem_count,
57
31
  retries=retries,
@@ -105,11 +79,10 @@ class download_session(sessionManager.sessionManager):
105
79
  async for chunk in funct(*args, **kwargs):
106
80
  await self.get_token(chunk)
107
81
  yield chunk
82
+
108
83
  return wrapper
109
84
 
110
85
  async def get_token(self, chunk):
111
- if settings.get_download_limit() <= 0:
112
- return
113
86
  await self.leaky_bucket.acquire(chunk)
114
87
 
115
88