ofscraper 3.13.dev6__tar.gz → 3.13.dev7__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 (346) hide show
  1. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/PKG-INFO +4 -1
  2. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/README.md +3 -0
  3. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/sessionmanager/sessionmanager.py +0 -1
  4. ofscraper-3.13.dev7/ofscraper/data/api/common/after.py +25 -0
  5. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/models/utils/retriver.py +3 -3
  6. ofscraper-3.13.dev7/ofscraper/utils/args/callbacks/arguments/post.py +6 -0
  7. ofscraper-3.13.dev7/ofscraper/utils/args/callbacks/arguments/username.py +9 -0
  8. {ofscraper-3.13.dev6/ofscraper/utils/args/callbacks → ofscraper-3.13.dev7/ofscraper/utils/args/callbacks/parse}/file.py +1 -1
  9. {ofscraper-3.13.dev6/ofscraper/utils/args/callbacks → ofscraper-3.13.dev7/ofscraper/utils/args/callbacks/parse}/string.py +1 -1
  10. {ofscraper-3.13.dev6/ofscraper/utils/args/callbacks → ofscraper-3.13.dev7/ofscraper/utils/args/callbacks/parse}/username.py +2 -3
  11. ofscraper-3.13.dev7/ofscraper/utils/args/parse/arguments/advanced_processing.py +33 -0
  12. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/advanced_program.py +1 -1
  13. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/automatic.py +1 -1
  14. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/check.py +2 -2
  15. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/media_content.py +3 -3
  16. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/metadata_filters.py +4 -16
  17. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/post_content.py +15 -16
  18. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/user_select.py +1 -1
  19. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/commands/db.py +4 -2
  20. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/commands/main.py +0 -2
  21. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/group_bundles/check.py +3 -2
  22. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/group_bundles/db.py +3 -1
  23. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/group_bundles/main.py +2 -2
  24. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/groups/advanced_processing.py +3 -6
  25. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/groups/post_filter.py +0 -1
  26. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/settings.py +9 -5
  27. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/pyproject.toml +3 -3
  28. ofscraper-3.13.dev6/ofscraper/data/api/common/after.py +0 -34
  29. ofscraper-3.13.dev6/ofscraper/utils/args/parse/arguments/advanced_processing.py +0 -29
  30. ofscraper-3.13.dev6/ofscraper/utils/args/parse/arguments/db.py +0 -15
  31. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/LICENSE +0 -0
  32. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/__main__.py +0 -0
  33. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/__version__.py +0 -0
  34. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/__version__.pye +0 -0
  35. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/labels.py +0 -0
  36. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/of/base.py +0 -0
  37. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/of/media.py +0 -0
  38. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/of/posts.py +0 -0
  39. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/placeholder.py +0 -0
  40. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/sessionmanager/download.py +0 -0
  41. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/sessionmanager/ofsession.py +0 -0
  42. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/app.py +0 -0
  43. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/compose.py +0 -0
  44. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/const.py +0 -0
  45. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/css.py +0 -0
  46. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/fields/boolfield.py +0 -0
  47. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/fields/datefield.py +0 -0
  48. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/fields/downloadfield.py +0 -0
  49. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/fields/mediafield.py +0 -0
  50. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/fields/numfield.py +0 -0
  51. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/fields/pricefield.py +0 -0
  52. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/fields/responsefield.py +0 -0
  53. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/fields/selectfield.py +0 -0
  54. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/fields/sizefield.py +0 -0
  55. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/fields/textsearch.py +0 -0
  56. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/fields/timefield.py +0 -0
  57. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/inputs/filterinput.py +0 -0
  58. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/inputs/intergerinput.py +0 -0
  59. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/inputs/strinput.py +0 -0
  60. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/sections/sidebar.py +0 -0
  61. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/sections/table.py +0 -0
  62. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/sections/table_console.py +0 -0
  63. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/utils/lock.py +0 -0
  64. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/classes/table/utils/names.py +0 -0
  65. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/check.py +0 -0
  66. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/db.py +0 -0
  67. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/manual.py +0 -0
  68. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/metadata/consumer.py +0 -0
  69. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/metadata/desc.py +0 -0
  70. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/metadata/manager.py +0 -0
  71. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/metadata/metadata.py +0 -0
  72. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/download/download.py +0 -0
  73. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/download/managers/alt_download.py +0 -0
  74. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/download/managers/downloadmanager.py +0 -0
  75. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/download/managers/main_download.py +0 -0
  76. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/download/run.py +0 -0
  77. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/download/utils/chunk.py +0 -0
  78. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/download/utils/desc.py +0 -0
  79. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/download/utils/keyhelpers.py +0 -0
  80. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/download/utils/leaky.py +0 -0
  81. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/download/utils/retries.py +0 -0
  82. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/download/utils/text.py +0 -0
  83. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/like/like.py +0 -0
  84. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/utils/buffer.py +0 -0
  85. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/utils/general.py +0 -0
  86. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/utils/globals.py +0 -0
  87. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/utils/log.py +0 -0
  88. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/utils/params.py +0 -0
  89. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/utils/paths/media.py +0 -0
  90. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/utils/paths/paths.py +0 -0
  91. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/utils/progress/convert.py +0 -0
  92. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/utils/progress/update.py +0 -0
  93. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/utils/retries.py +0 -0
  94. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/utils/send/chunk.py +0 -0
  95. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/utils/send/message.py +0 -0
  96. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/utils/threads.py +0 -0
  97. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/actions/utils/workers.py +0 -0
  98. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/scraper.py +0 -0
  99. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/utils/daemon.py +0 -0
  100. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/utils/jobqueue.py +0 -0
  101. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/utils/prepare.py +0 -0
  102. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/utils/print.py +0 -0
  103. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/scraper/utils/schedule.py +0 -0
  104. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/utils/command.py +0 -0
  105. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/utils/scrape_context.py +0 -0
  106. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/commands/utils/strings.py +0 -0
  107. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/constants.py +0 -0
  108. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/action/download.py +0 -0
  109. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/action/like.py +0 -0
  110. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/action/metadata.py +0 -0
  111. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/binary.py +0 -0
  112. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/config.py +0 -0
  113. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/date.py +0 -0
  114. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/download.py +0 -0
  115. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/dynamic.py +0 -0
  116. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/general.py +0 -0
  117. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/list.py +0 -0
  118. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/live.py +0 -0
  119. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/logger.py +0 -0
  120. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/path/bytes.py +0 -0
  121. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/path/files.py +0 -0
  122. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/path/general.py +0 -0
  123. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/path/path.py +0 -0
  124. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/prompts.py +0 -0
  125. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/req/anon.py +0 -0
  126. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/req/api.py +0 -0
  127. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/req/cdm.py +0 -0
  128. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/req/discord.py +0 -0
  129. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/req/git.py +0 -0
  130. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/req/like.py +0 -0
  131. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/req/mpd.py +0 -0
  132. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/req/req.py +0 -0
  133. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/rich.py +0 -0
  134. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/system.py +0 -0
  135. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/table.py +0 -0
  136. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/test/test_constants.py +0 -0
  137. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/time.py +0 -0
  138. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/url/other_url.py +0 -0
  139. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/const/values/url/url.py +0 -0
  140. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/archive.py +0 -0
  141. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/common/cache/read.py +0 -0
  142. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/common/cache/write.py +0 -0
  143. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/common/check.py +0 -0
  144. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/common/logs/logs.py +0 -0
  145. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/common/logs/strings.py +0 -0
  146. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/common/timeline.py +0 -0
  147. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/highlights.py +0 -0
  148. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/init.py +0 -0
  149. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/labels.py +0 -0
  150. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/me.py +0 -0
  151. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/messages.py +0 -0
  152. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/paid.py +0 -0
  153. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/pinned.py +0 -0
  154. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/profile.py +0 -0
  155. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/streams.py +0 -0
  156. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/subscriptions/common.py +0 -0
  157. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/subscriptions/individual.py +0 -0
  158. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/subscriptions/lists.py +0 -0
  159. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/subscriptions/subscriptions.py +0 -0
  160. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/api/timeline.py +0 -0
  161. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/models/manager.py +0 -0
  162. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/models/models.py +0 -0
  163. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/posts/post.py +0 -0
  164. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/data/posts/scrape_paid.py +0 -0
  165. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/__init__.py +0 -0
  166. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/backup.py +0 -0
  167. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/difference.py +0 -0
  168. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/merge.py +0 -0
  169. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/operations.py +0 -0
  170. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/operations_/empty.py +0 -0
  171. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/operations_/labels.py +0 -0
  172. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/operations_/media.py +0 -0
  173. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/operations_/messages.py +0 -0
  174. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/operations_/others.py +0 -0
  175. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/operations_/posts.py +0 -0
  176. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/operations_/profile.py +0 -0
  177. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/operations_/stories.py +0 -0
  178. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/operations_/wrapper.py +0 -0
  179. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/transition.py +0 -0
  180. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/db/utils/convert.py +0 -0
  181. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/filters/media/filters.py +0 -0
  182. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/filters/media/main.py +0 -0
  183. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/filters/models/date.py +0 -0
  184. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/filters/models/flags.py +0 -0
  185. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/filters/models/other.py +0 -0
  186. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/filters/models/price.py +0 -0
  187. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/filters/models/sort.py +0 -0
  188. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/filters/models/subtype.py +0 -0
  189. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/filters/models/utils/logs.py +0 -0
  190. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/main/close/exit.py +0 -0
  191. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/main/close/final/final.py +0 -0
  192. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/main/close/final/final_log.py +0 -0
  193. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/main/close/final/final_script.py +0 -0
  194. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/main/close/final/final_user.py +0 -0
  195. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/main/manager.py +0 -0
  196. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/main/open/load.py +0 -0
  197. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/main/open/run.py +0 -0
  198. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/keybindings.py +0 -0
  199. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/promptConvert.py +0 -0
  200. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/prompt_groups/actions.py +0 -0
  201. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/prompt_groups/area.py +0 -0
  202. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/prompt_groups/auth.py +0 -0
  203. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/prompt_groups/binary.py +0 -0
  204. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/prompt_groups/config.py +0 -0
  205. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/prompt_groups/menu.py +0 -0
  206. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/prompt_groups/merge.py +0 -0
  207. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/prompt_groups/model.py +0 -0
  208. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/prompt_groups/profile.py +0 -0
  209. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/prompt_strings.py +0 -0
  210. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/prompt_validators.py +0 -0
  211. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/prompts.py +0 -0
  212. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/utils/model_helpers.py +0 -0
  213. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/prompts/utils/prompt_helpers.py +0 -0
  214. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/__init__.py +0 -0
  215. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/actions.py +0 -0
  216. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/ads.py +0 -0
  217. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/accessors/actions.py +0 -0
  218. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/accessors/areas.py +0 -0
  219. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/accessors/output.py +0 -0
  220. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/accessors/quality.py +0 -0
  221. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/accessors/read.py +0 -0
  222. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/accessors/time.py +0 -0
  223. {ofscraper-3.13.dev6/ofscraper/utils/args/callbacks → ofscraper-3.13.dev7/ofscraper/utils/args/callbacks/parse}/choice.py +0 -0
  224. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/globals.py +0 -0
  225. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/helpers/hide_args.py +0 -0
  226. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/main.py +0 -0
  227. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/mutators/before.py +0 -0
  228. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/mutators/change.py +0 -0
  229. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/mutators/user.py +0 -0
  230. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/mutators/write.py +0 -0
  231. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/advanced_user_filter.py +0 -0
  232. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/download.py +0 -0
  233. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/file.py +0 -0
  234. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/logging.py +0 -0
  235. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/program.py +0 -0
  236. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/shared.py +0 -0
  237. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/user_list.py +0 -0
  238. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/user_sort.py +0 -0
  239. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/utils/date.py +0 -0
  240. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/arguments/utils/retry.py +0 -0
  241. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/commands/manual.py +0 -0
  242. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/commands/message.py +0 -0
  243. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/commands/metadata.py +0 -0
  244. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/commands/paid.py +0 -0
  245. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/commands/post.py +0 -0
  246. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/commands/story.py +0 -0
  247. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/group_bundles/advanced_common.py +0 -0
  248. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/group_bundles/common.py +0 -0
  249. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/group_bundles/manual.py +0 -0
  250. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/group_bundles/message_check.py +0 -0
  251. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/group_bundles/metadata.py +0 -0
  252. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/group_bundles/paid_check.py +0 -0
  253. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/group_bundles/post_check.py +0 -0
  254. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/group_bundles/story_check.py +0 -0
  255. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/group_bundles/utils/check.py +0 -0
  256. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/groups/advanced_program.py +0 -0
  257. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/groups/advanced_user_filter.py +0 -0
  258. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/groups/automatic.py +0 -0
  259. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/groups/check_content.py +0 -0
  260. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/groups/download.py +0 -0
  261. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/groups/file.py +0 -0
  262. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/groups/logging.py +0 -0
  263. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/groups/media_filter.py +0 -0
  264. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/groups/program.py +0 -0
  265. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/groups/user_list.py +0 -0
  266. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/groups/user_select.py +0 -0
  267. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/parse/groups/user_sort.py +0 -0
  268. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/types/arrow.py +0 -0
  269. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/args/types/choice.py +0 -0
  270. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/auth/data.py +0 -0
  271. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/auth/file.py +0 -0
  272. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/auth/make.py +0 -0
  273. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/auth/request.py +0 -0
  274. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/auth/schema.py +0 -0
  275. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/auth/utils/context.py +0 -0
  276. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/auth/utils/dict.py +0 -0
  277. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/auth/utils/prompt.py +0 -0
  278. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/auth/utils/warning/check.py +0 -0
  279. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/auth/utils/warning/print.py +0 -0
  280. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/auth/utils/warning/warning.py +0 -0
  281. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/binaries.py +0 -0
  282. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/cache.py +0 -0
  283. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/checkers.py +0 -0
  284. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/config/config.py +0 -0
  285. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/config/custom.py +0 -0
  286. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/config/data.py +0 -0
  287. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/config/file.py +0 -0
  288. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/config/menu.py +0 -0
  289. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/config/schema.py +0 -0
  290. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/config/utils/context.py +0 -0
  291. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/config/utils/wrapper.py +0 -0
  292. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/console.py +0 -0
  293. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/constants.py +0 -0
  294. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/context/exit.py +0 -0
  295. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/context/run_async.py +0 -0
  296. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/context/stdout.py +0 -0
  297. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/dates.py +0 -0
  298. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/encoding.py +0 -0
  299. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/hash.py +0 -0
  300. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/live/classes/progress.py +0 -0
  301. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/live/classes/task.py +0 -0
  302. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/live/classes/transfercol.py +0 -0
  303. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/live/clear.py +0 -0
  304. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/live/empty.py +0 -0
  305. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/live/groups.py +0 -0
  306. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/live/live.py +0 -0
  307. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/live/panel.py +0 -0
  308. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/live/progress.py +0 -0
  309. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/live/screens.py +0 -0
  310. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/live/tasks.py +0 -0
  311. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/live/updater.py +0 -0
  312. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/logs/classes/classes.py +0 -0
  313. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/logs/classes/handlers/discord.py +0 -0
  314. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/logs/classes/handlers/file.py +0 -0
  315. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/logs/classes/handlers/text.py +0 -0
  316. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/logs/close.py +0 -0
  317. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/logs/globals.py +0 -0
  318. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/logs/handle.py +0 -0
  319. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/logs/logger.py +0 -0
  320. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/logs/logs.py +0 -0
  321. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/logs/other.py +0 -0
  322. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/logs/stdout.py +0 -0
  323. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/logs/utils/level.py +0 -0
  324. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/logs/utils/trace.py +0 -0
  325. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/manager.py +0 -0
  326. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/me.py +0 -0
  327. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/menu.py +0 -0
  328. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/merge.py +0 -0
  329. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/paths/check.py +0 -0
  330. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/paths/common.py +0 -0
  331. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/paths/db.py +0 -0
  332. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/paths/manage.py +0 -0
  333. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/paths/paths.py +0 -0
  334. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/profiles/data.py +0 -0
  335. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/profiles/manage.py +0 -0
  336. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/profiles/tools.py +0 -0
  337. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/sems.py +0 -0
  338. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/separate.py +0 -0
  339. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/string.py +0 -0
  340. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/system/free.py +0 -0
  341. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/system/network.py +0 -0
  342. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/system/priority.py +0 -0
  343. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/system/speed.py +0 -0
  344. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/system/subprocess.py +0 -0
  345. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/system/system.py +0 -0
  346. {ofscraper-3.13.dev6 → ofscraper-3.13.dev7}/ofscraper/utils/text.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: ofscraper
3
- Version: 3.13.dev6
3
+ Version: 3.13.dev7
4
4
  Summary: automatically scrape onlyfans
5
5
  Author: datawhores
6
6
  Author-email: datawhores@riseup.net
@@ -71,6 +71,9 @@ As the API has changed older version are no longer viable
71
71
 
72
72
  https://github.com/datawhores/OF-Scraper/issues/442
73
73
 
74
+ # For Issues related to Downloading/ No Models Retrieved error
75
+ https://github.com/datawhores/OF-Scraper/issues/542
76
+
74
77
  # ReadMe
75
78
 
76
79
  ## Releases
@@ -11,6 +11,9 @@ As the API has changed older version are no longer viable
11
11
 
12
12
  https://github.com/datawhores/OF-Scraper/issues/442
13
13
 
14
+ # For Issues related to Downloading/ No Models Retrieved error
15
+ https://github.com/datawhores/OF-Scraper/issues/542
16
+
14
17
  # ReadMe
15
18
 
16
19
  ## Releases
@@ -587,7 +587,6 @@ class sessionManager:
587
587
  elif not r.ok:
588
588
  log.debug(f"[bold]failed: [bold] {r.url}")
589
589
  log.debug(f"[bold]status: [bold] {r.status}")
590
- log.debug(f"[bold]response text [/bold]: {await r.text_()}")
591
590
  log.debug(f"response headers {dict(r.headers)}")
592
591
  log.debug(f"requests headers mode{dict(r.request.headers)}")
593
592
  r.raise_for_status()
@@ -0,0 +1,25 @@
1
+ import logging
2
+
3
+ import ofscraper.utils.settings as settings
4
+ from ofscraper.data.api.common.cache.read import read_full_after_scan_check
5
+
6
+ log= logging.getLogger("shared")
7
+ def get_after_pre_checks(model_id, api):
8
+ if settings.get_settings().after is not None:
9
+ log.debug(f"{api}: using provided value for after")
10
+ if settings.get_settings().after !=0:
11
+ return settings.get_settings().after.float_timestamp
12
+ else:
13
+ return 0
14
+ elif not settings.get_settings().auto_after:
15
+ log.debug(f"{api}: auto-after is disabled using 0")
16
+ return 0
17
+ elif read_full_after_scan_check(model_id, api):
18
+ log.debug(f"{api}: full scan has been trigger")
19
+ return 0
20
+ #scan action
21
+ for setting in settings.get_settings().action:
22
+ if setting in {"like","unlike"}:
23
+ log.debug(f"{api}: doing full scan for action like/unlike")
24
+ return 0
25
+
@@ -23,10 +23,10 @@ async def get_models() -> list:
23
23
  return await get_via_list(count)
24
24
  elif "ALL" in settings.get_settings().usernames:
25
25
  return await get_via_list(count)
26
- elif settings.get_settings().individual:
26
+ elif settings.get_settings().username_search=="indvidual":
27
27
  return await get_via_individual()
28
- elif settings.get_settings().list:
29
- return get_via_list(count)
28
+ elif settings.get_settings().username_search=="list":
29
+ return await get_via_list(count)
30
30
  elif (sum(count) // 12) >= len(settings.get_settings().usernames):
31
31
  return await get_via_individual()
32
32
  else:
@@ -0,0 +1,6 @@
1
+ def set_download_type_flag(ctx, param, value):
2
+ # 'value' will be True if --protected-only is used,
3
+ # False if --normal-only is used, and None otherwise.
4
+ if value is None:
5
+ return None
6
+ return "protected" if value else "normal"
@@ -0,0 +1,9 @@
1
+
2
+
3
+ def set_search_strategy_flag(ctx, param, value):
4
+ # 'value' is True for --individual, False for --list, None by default.
5
+ if value is True:
6
+ return "individual"
7
+ # For both --list (value=False) and the default case (value=None),
8
+ # we'll return "list".
9
+ return "list"
@@ -1,6 +1,6 @@
1
1
  import re
2
2
 
3
- from ofscraper.utils.args.callbacks.string import StringSplitParse
3
+ from ofscraper.utils.args.callbacks.parse.string import StringSplitParse
4
4
 
5
5
 
6
6
  def FileCallback(ctx, param, values):
@@ -1,6 +1,6 @@
1
1
  import re
2
2
 
3
- from ofscraper.utils.args.callbacks.choice import MultiChoiceCallback
3
+ from ofscraper.utils.args.callbacks.parse.choice import MultiChoiceCallback
4
4
 
5
5
 
6
6
  def StringSplitParse(ctx, param, value):
@@ -1,7 +1,6 @@
1
- from ofscraper.utils.args.callbacks.string import StringSplitParse
2
-
1
+ from ofscraper.utils.args.callbacks.parse.string import StringSplitParse
3
2
 
4
3
  def UsernameParse(ctx, param, value):
5
4
  out = StringSplitParse(ctx, param, value)
6
5
  out = list(map(lambda y: y.lower() if not y == "ALL" else y, out))
7
- return out
6
+ return out
@@ -0,0 +1,33 @@
1
+ import cloup as click
2
+ from ofscraper.utils.args.callbacks.arguments.username import set_search_strategy_flag
3
+
4
+
5
+ users_first_option = click.option(
6
+ "-uf",
7
+ "--users-first",
8
+ "--user-first",
9
+ "--usersfirst",
10
+ "--userfirst",
11
+ "users_first",
12
+ help="Process all users first rather than one at a time (affects --action)",
13
+ default=False,
14
+ is_flag=True, # Shorthand for action="store_true"
15
+ )
16
+
17
+ username_search_option = click.option(
18
+ "-fi/-fl",
19
+ "--username-individual-search/--username-list-search",
20
+ "--user-individual-search/--user-list-search",
21
+ "username_search", # The new, shared destination
22
+ help="""
23
+ \b
24
+ Set the search strategy when --username is provided.
25
+ --individual: Search each username as a separate request.
26
+ --list: Search entire enabled lists before filtering (default).
27
+ """,
28
+ # The default from the callback will be used.
29
+ # We set default=None here so the callback is triggered correctly.
30
+ default=None,
31
+ callback=set_search_strategy_flag,
32
+ is_flag=True
33
+ )
@@ -81,7 +81,7 @@ update_profile_option = click.option(
81
81
  )
82
82
 
83
83
  download_script_option = click.option(
84
- "-ds",
84
+ "-dls",
85
85
  "--download-script",
86
86
  "download_script",
87
87
  help="""
@@ -1,6 +1,6 @@
1
1
  import cloup as click
2
2
 
3
- from ofscraper.utils.args.callbacks.string import (
3
+ from ofscraper.utils.args.callbacks.parse.string import (
4
4
  StringSplitParse,
5
5
  )
6
6
  from ofscraper.utils.args.types.choice import MutuallyExclusiveMultichoice
@@ -1,8 +1,8 @@
1
1
  # checkmode args
2
2
  import cloup as click
3
3
 
4
- from ofscraper.utils.args.callbacks.file import FileCallback
5
- from ofscraper.utils.args.callbacks.string import (
4
+ from ofscraper.utils.args.callbacks.parse.file import FileCallback
5
+ from ofscraper.utils.args.callbacks.parse.string import (
6
6
  StringSplitParse,
7
7
  StringSplitParseTitle,
8
8
  )
@@ -3,7 +3,7 @@ import cloup as click
3
3
  # import click
4
4
  from humanfriendly import parse_size
5
5
 
6
- from ofscraper.utils.args.callbacks.string import (
6
+ from ofscraper.utils.args.callbacks.parse.string import (
7
7
  StringSplitParse,
8
8
  StringSplitParseTitle,
9
9
  )
@@ -47,7 +47,7 @@ min_size_option = click.option(
47
47
 
48
48
 
49
49
  media_id_filter = click.option(
50
- "-md",
50
+ "-mid",
51
51
  "--media-id",
52
52
  help="Filter media based on media id",
53
53
  required=False,
@@ -73,7 +73,7 @@ length_min = click.option(
73
73
 
74
74
 
75
75
  max_media_count_option = click.option(
76
- "-xc",
76
+ "-mxc",
77
77
  "--max-media-count",
78
78
  "max_count",
79
79
  help="Maximum number of media to process",
@@ -15,7 +15,7 @@ check_post_id_filter_option = click.option(
15
15
 
16
16
 
17
17
  check_media_id_filter_option = click.option(
18
- "-md",
18
+ "-mid",
19
19
  "--media-id",
20
20
  help="Filter media based on media id",
21
21
  required=False,
@@ -23,7 +23,7 @@ check_media_id_filter_option = click.option(
23
23
  )
24
24
 
25
25
  lock_option = click.option(
26
- "-ul/-l",
26
+ "-ucl/-lc",
27
27
  "--unlocked/--locked",
28
28
  "unlocked",
29
29
  help="""
@@ -36,7 +36,7 @@ lock_option = click.option(
36
36
  )
37
37
 
38
38
  downloaded_option = click.option(
39
- "-dl/-ndl",
39
+ "-dwl/-ndw",
40
40
  "--downloaded/--not-downloaded",
41
41
  "downloaded",
42
42
  help="""
@@ -77,7 +77,7 @@ created_before = click.option(
77
77
 
78
78
 
79
79
  preview_option = click.option(
80
- "-p/-np",
80
+ "-pv/-npv",
81
81
  "--preview/--no-preview",
82
82
  "preview",
83
83
  help="""
@@ -88,15 +88,3 @@ preview_option = click.option(
88
88
  required=False,
89
89
  is_flag=True,
90
90
  )
91
-
92
-
93
- download_type_option = preview_option = click.option(
94
- "-no/-to",
95
- "--normal-only/--protected_only",
96
- "download_type_filter",
97
- help="""
98
- \b
99
- Type of downloda to retrict to """,
100
- default=None,
101
- required=False,
102
- )
@@ -1,11 +1,12 @@
1
1
  import cloup as click
2
2
 
3
- from ofscraper.utils.args.callbacks.string import (
3
+ from ofscraper.utils.args.callbacks.parse.string import (
4
4
  StringSplitNormalizeParse,
5
5
  StringSplitParse,
6
6
  StringSplitParseTitle,
7
7
  StringTupleList,
8
8
  )
9
+ from ofscraper.utils.args.callbacks.arguments.post import set_download_type_flag
9
10
  from ofscraper.utils.args.types.choice import MultiChoice, MultiChoicePost
10
11
 
11
12
  # Define individual options
@@ -316,22 +317,21 @@ timeline_strict = click.option(
316
317
  is_flag=True,
317
318
  )
318
319
 
319
-
320
- protected_only = click.option(
321
- "-to",
322
- "--protected-only",
323
- help="Restricts downloads to content that requires decryption.",
324
- required=False,
325
- is_flag=True,
320
+ download_type_option = click.option(
321
+ "-to/-no",
322
+ "--protected-only/--normal-only",
323
+ "download_type",
324
+ help="""
325
+ \b
326
+ Filter downloads by type.
327
+ --protected-only: For content that requires decryption.
328
+ --normal-only: For content that does not require decryption.
329
+ """,
330
+ default=None,
331
+ callback=set_download_type_flag,
332
+ is_flag=True # is_flag is still needed for the split flag to work
326
333
  )
327
334
 
328
- normal_only = click.option(
329
- "-no",
330
- "--normal-only",
331
- help="Restricts downloads to content that does not require decryption.",
332
- required=False,
333
- is_flag=True,
334
- )
335
335
 
336
336
  max_post_count_option = click.option(
337
337
  "-xc",
@@ -341,4 +341,3 @@ max_post_count_option = click.option(
341
341
  default=0,
342
342
  type=int,
343
343
  )
344
- download_type_option = click.constraints.mutually_exclusive(normal_only, protected_only)
@@ -3,7 +3,7 @@ import re
3
3
 
4
4
  import cloup as click
5
5
 
6
- from ofscraper.utils.args.callbacks.username import UsernameParse
6
+ from ofscraper.utils.args.callbacks.parse.username import UsernameParse
7
7
 
8
8
  usernames_option = click.option(
9
9
  "-u",
@@ -6,6 +6,8 @@ from ofscraper.utils.args.parse.group_bundles.db import db_args
6
6
  @db_args
7
7
  @click.pass_context
8
8
  def db(ctx, *args, **kwargs):
9
- ctx.params["post_id"] = set(ctx.params["post_id"])
10
- ctx.params["media_id"] = set(ctx.params["media_id"])
9
+ if ctx.params["post_id"]:
10
+ ctx.params["post_id"]=set(ctx.params["post_id"])
11
+ if ctx.params["media_id"]:
12
+ ctx.params["media_id"] = set(ctx.params["media_id"])
11
13
  return ctx.params, ctx.info_name
@@ -1,7 +1,6 @@
1
1
  import cloup as click
2
2
 
3
3
  from ofscraper.utils.args.parse.group_bundles.advanced_common import advanced_args
4
- from ofscraper.utils.args.parse.group_bundles.common import common_args
5
4
  from ofscraper.utils.args.parse.group_bundles.main import main_program_args
6
5
  import ofscraper.utils.args.parse.arguments.utils.retry as retry_helper
7
6
 
@@ -12,7 +11,6 @@ import ofscraper.utils.args.parse.arguments.utils.retry as retry_helper
12
11
  invoke_without_command=True,
13
12
  show_constraints=True,
14
13
  )
15
- @common_args
16
14
  @main_program_args
17
15
  @advanced_args
18
16
  @click.pass_context
@@ -30,9 +30,10 @@ from ofscraper.utils.args.parse.groups.program import program_options
30
30
  from ofscraper.utils.args.parse.arguments.metadata_filters import (
31
31
  posted_after,
32
32
  posted_before,
33
- download_type_option,
34
33
  )
35
-
34
+ from ofscraper.utils.args.parse.arguments.post_content import (
35
+ download_type_option
36
+ )
36
37
 
37
38
  def main_check(func):
38
39
  @force
@@ -31,7 +31,6 @@ from ofscraper.utils.args.parse.arguments.metadata_filters import (
31
31
  created_before,
32
32
  posted_after,
33
33
  posted_before,
34
- download_type_option,
35
34
  )
36
35
 
37
36
 
@@ -45,6 +44,9 @@ from ofscraper.utils.args.parse.groups.advanced_program import (
45
44
  advanced_options_help,
46
45
  update_profile_option,
47
46
  )
47
+ from ofscraper.utils.args.parse.arguments.post_content import (
48
+ download_type_option,
49
+ )
48
50
 
49
51
 
50
52
  def db_args(func):
@@ -9,17 +9,17 @@ from ofscraper.utils.args.parse.groups.advanced_user_filter import (
9
9
  advanced_userfilters_options,
10
10
  )
11
11
  from ofscraper.utils.args.parse.groups.automatic import automatic_options
12
- from ofscraper.utils.args.parse.groups.media_filter import media_filter_options
13
12
  from ofscraper.utils.args.parse.groups.post_filter import post_filter_options
14
13
  from ofscraper.utils.args.parse.groups.user_list import userlist_options
15
14
  from ofscraper.utils.args.parse.groups.user_select import user_select_options
16
15
  from ofscraper.utils.args.parse.groups.user_sort import user_sorting_options
16
+ from ofscraper.utils.args.parse.group_bundles.common import common_args
17
17
 
18
18
  # import click
19
19
 
20
20
 
21
21
  def main_program_args(func):
22
- @media_filter_options
22
+ @common_args
23
23
  @post_filter_options
24
24
  @automatic_options
25
25
  @user_select_options
@@ -1,9 +1,8 @@
1
1
  import cloup as click
2
2
 
3
3
  from ofscraper.utils.args.parse.arguments.advanced_processing import (
4
- individual_search_option,
5
- search_entire_list_option,
6
- users_first_option,
4
+ username_search_option,
5
+ users_first_option
7
6
  )
8
7
 
9
8
  advanced_processing_desc = "Advanced Search & Processing Options"
@@ -11,9 +10,7 @@ advanced_processing_desc = "Advanced Search & Processing Options"
11
10
  advanced_processing_help = "Choose how usernames are searched, and define the order in which users are processed for actions"
12
11
  advanced_processing_tuple = (
13
12
  users_first_option,
14
- click.constraints.mutually_exclusive(
15
- individual_search_option, search_entire_list_option
16
- ),
13
+ username_search_option
17
14
  )
18
15
  advanced_processing_options = click.option_group(
19
16
  advanced_processing_desc, *advanced_processing_tuple, help=advanced_processing_help
@@ -30,7 +30,6 @@ post_filter_options_tuple = (
30
30
  label_option,
31
31
  mass_msg_option,
32
32
  timed_only_option,
33
- max_post_count_option,
34
33
  )
35
34
  # Create the option group
36
35
  post_filter_options = click.option_group(
@@ -97,7 +97,8 @@ def setup_settings(mediatype):
97
97
  or config_data.get_post_download_script()
98
98
  )
99
99
  merged.auto_resume = get_auto_resume(mediatype)
100
- merged.cached_disabled = get_auto_after_enabled()
100
+ merged.auto_after = get_auto_after_enabled()
101
+ merged.cached_disabled=get_cached_disabled()
101
102
  merged.logs_expire_time=config_data.get_logs_expire()
102
103
 
103
104
  return merged
@@ -120,13 +121,16 @@ def get_ffmpeg():
120
121
 
121
122
 
122
123
  def get_auto_after_enabled():
123
- if read_args.retriveArgs().no_cache:
124
- return False
125
- if read_args.retriveArgs().no_api_cache:
124
+ if get_cached_disabled():
126
125
  return False
127
126
  return config_data.get_enable_after()
128
127
 
129
-
128
+ def get_cached_disabled():
129
+ if read_args.retriveArgs().no_cache:
130
+ return True
131
+ if read_args.retriveArgs().no_api_cache:
132
+ return True
133
+ return False
130
134
  def get_auto_resume(mediatype=None):
131
135
  if read_args.retriveArgs().no_auto_resume:
132
136
  return False
@@ -1,12 +1,12 @@
1
1
  [tool.poetry]
2
2
  name = "ofscraper"
3
- version = "3.13.dev6"
3
+ version = "3.13.dev7"
4
4
  description = "automatically scrape onlyfans"
5
5
  authors = ["datawhores <datawhores@riseup.net>"]
6
6
  readme = "README.md"
7
7
 
8
8
  [tool.poetry.dependencies]
9
- python = ">=3.11,<3.14"
9
+ python = "^3.11,<3.14"
10
10
 
11
11
 
12
12
  httpx = {extras = ["http2"], version = "^0.28.1"}
@@ -72,7 +72,7 @@ random-emoji = "^1.0.15"
72
72
  pytest-mock = "^3.12.0"
73
73
 
74
74
  [tool.poetry.group.docs.dependencies]
75
- sphinx-argparse = "^0.4.0"
75
+ sphinx-argparse = "^0.5.2"
76
76
 
77
77
 
78
78
  [tool.poetry.extras]
@@ -1,34 +0,0 @@
1
- import logging
2
-
3
- import ofscraper.utils.settings as settings
4
- from ofscraper.data.api.common.cache.read import read_full_after_scan_check
5
-
6
-
7
- def get_after_pre_checks(model_id, api):
8
- val = None
9
- if settings.get_settings().after == 0:
10
- val = 0
11
- elif settings.get_settings().after is not None:
12
- val = settings.get_settings().after.float_timestamp
13
- elif not settings.get_settings().auto_after:
14
- val = 0
15
- elif read_full_after_scan_check(model_id, api):
16
- val = 0
17
- elif "like" in settings.get_settings().action:
18
- val = 0
19
- elif "unlike" in settings.get_settings().action:
20
- val = 0
21
- return _return_val(val, api)
22
-
23
-
24
- def _return_val(val, api):
25
- if val is None:
26
- logging.getLogger("shared").info(
27
- f"precheck failed for setting after {api} using db"
28
- )
29
- return val
30
- else:
31
- logging.getLogger("shared").info(
32
- f"precheck success for setting after {api} skipping db"
33
- )
34
- return val
@@ -1,29 +0,0 @@
1
- import cloup as click
2
-
3
- users_first_option = click.option(
4
- "-uf",
5
- "--users-first",
6
- "--user-first",
7
- "--usersfirst",
8
- "--userfirst",
9
- "users_first",
10
- help="Process all users first rather than one at a time (affects --action)",
11
- default=False,
12
- is_flag=True, # Shorthand for action="store_true"
13
- )
14
-
15
- individual_search_option = click.option(
16
- "-fi",
17
- "--individual",
18
- help="Search each username as a separate request when --username is provided",
19
- default=False,
20
- is_flag=True,
21
- )
22
-
23
- search_entire_list_option = click.option(
24
- "-fl",
25
- "--list",
26
- help="Search entire enabled lists before filtering for usernames when --username is provided",
27
- default=False,
28
- is_flag=True,
29
- )
@@ -1,15 +0,0 @@
1
- # db args
2
- # import cloup as click
3
-
4
- # preview_option = click.option(
5
- # "-p/-np",
6
- # "--preview/--no-preview",
7
- # "preview",
8
- # help="""
9
- # \b
10
- # Flag for filtering accounts based on preview status.
11
- # [select one --preview or --no-preview]""",
12
- # default=None,
13
- # required=False,
14
- # is_flag=True,
15
- # )
File without changes