ofscraper 3.13.dev2__tar.gz → 3.13.dev3__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.dev2 → ofscraper-3.13.dev3}/PKG-INFO +2 -2
  2. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/README.md +1 -1
  3. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/sessionmanager/sessionmanager.py +2 -2
  4. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/utils/scrape_context.py +5 -3
  5. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/prompt_groups/config.py +15 -7
  6. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/config/data.py +12 -4
  7. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/config/schema.py +24 -16
  8. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/hash.py +1 -1
  9. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/live/updater.py +2 -2
  10. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/logs.py +1 -1
  11. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/settings.py +1 -0
  12. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/pyproject.toml +1 -1
  13. ofscraper-3.13.dev2/ofscraper/commands/scraper/actions/utils/send/send_bar_msg.py +0 -16
  14. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/LICENSE +0 -0
  15. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/__main__.py +0 -0
  16. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/__version__.py +0 -0
  17. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/__version__.pye +0 -0
  18. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/labels.py +0 -0
  19. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/of/base.py +0 -0
  20. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/of/media.py +0 -0
  21. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/of/posts.py +0 -0
  22. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/placeholder.py +0 -0
  23. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/sessionmanager/download.py +0 -0
  24. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/sessionmanager/ofsession.py +0 -0
  25. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/app.py +0 -0
  26. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/compose.py +0 -0
  27. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/const.py +0 -0
  28. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/css.py +0 -0
  29. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/fields/boolfield.py +0 -0
  30. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/fields/datefield.py +0 -0
  31. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/fields/downloadfield.py +0 -0
  32. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/fields/mediafield.py +0 -0
  33. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/fields/numfield.py +0 -0
  34. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/fields/pricefield.py +0 -0
  35. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/fields/responsefield.py +0 -0
  36. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/fields/selectfield.py +0 -0
  37. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/fields/sizefield.py +0 -0
  38. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/fields/textsearch.py +0 -0
  39. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/fields/timefield.py +0 -0
  40. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/inputs/filterinput.py +0 -0
  41. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/inputs/intergerinput.py +0 -0
  42. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/inputs/strinput.py +0 -0
  43. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/sections/sidebar.py +0 -0
  44. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/sections/table.py +0 -0
  45. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/sections/table_console.py +0 -0
  46. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/utils/lock.py +0 -0
  47. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/classes/table/utils/names.py +0 -0
  48. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/check.py +0 -0
  49. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/db.py +0 -0
  50. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/manual.py +0 -0
  51. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/metadata/consumer.py +0 -0
  52. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/metadata/desc.py +0 -0
  53. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/metadata/manager.py +0 -0
  54. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/metadata/metadata.py +0 -0
  55. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/download/download.py +0 -0
  56. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/download/managers/alt_download.py +0 -0
  57. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/download/managers/downloadmanager.py +0 -0
  58. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/download/managers/main_download.py +0 -0
  59. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/download/run.py +0 -0
  60. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/download/utils/chunk.py +0 -0
  61. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/download/utils/desc.py +0 -0
  62. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/download/utils/keyhelpers.py +0 -0
  63. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/download/utils/leaky.py +0 -0
  64. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/download/utils/retries.py +0 -0
  65. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/download/utils/text.py +0 -0
  66. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/like/like.py +0 -0
  67. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/utils/buffer.py +0 -0
  68. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/utils/general.py +0 -0
  69. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/utils/globals.py +0 -0
  70. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/utils/log.py +0 -0
  71. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/utils/params.py +0 -0
  72. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/utils/paths/media.py +0 -0
  73. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/utils/paths/paths.py +0 -0
  74. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/utils/progress/convert.py +0 -0
  75. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/utils/progress/update.py +0 -0
  76. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/utils/retries.py +0 -0
  77. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/utils/send/chunk.py +0 -0
  78. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/utils/send/message.py +0 -0
  79. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/utils/threads.py +0 -0
  80. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/actions/utils/workers.py +0 -0
  81. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/scraper.py +0 -0
  82. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/utils/daemon.py +0 -0
  83. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/utils/jobqueue.py +0 -0
  84. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/utils/prepare.py +0 -0
  85. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/utils/print.py +0 -0
  86. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/scraper/utils/schedule.py +0 -0
  87. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/utils/command.py +0 -0
  88. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/commands/utils/strings.py +0 -0
  89. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/constants.py +0 -0
  90. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/action/download.py +0 -0
  91. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/action/like.py +0 -0
  92. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/action/metadata.py +0 -0
  93. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/binary.py +0 -0
  94. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/config.py +0 -0
  95. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/date.py +0 -0
  96. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/download.py +0 -0
  97. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/dynamic.py +0 -0
  98. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/general.py +0 -0
  99. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/list.py +0 -0
  100. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/live.py +0 -0
  101. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/logger.py +0 -0
  102. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/path/bytes.py +0 -0
  103. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/path/files.py +0 -0
  104. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/path/general.py +0 -0
  105. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/path/path.py +0 -0
  106. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/prompts.py +0 -0
  107. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/req/anon.py +0 -0
  108. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/req/api.py +0 -0
  109. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/req/cdm.py +0 -0
  110. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/req/discord.py +0 -0
  111. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/req/git.py +0 -0
  112. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/req/like.py +0 -0
  113. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/req/mpd.py +0 -0
  114. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/req/req.py +0 -0
  115. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/rich.py +0 -0
  116. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/system.py +0 -0
  117. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/table.py +0 -0
  118. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/test/test_constants.py +0 -0
  119. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/time.py +0 -0
  120. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/url/other_url.py +0 -0
  121. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/const/values/url/url.py +0 -0
  122. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/archive.py +0 -0
  123. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/common/after.py +0 -0
  124. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/common/cache/read.py +0 -0
  125. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/common/cache/write.py +0 -0
  126. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/common/check.py +0 -0
  127. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/common/logs/logs.py +0 -0
  128. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/common/logs/strings.py +0 -0
  129. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/common/timeline.py +0 -0
  130. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/highlights.py +0 -0
  131. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/init.py +0 -0
  132. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/labels.py +0 -0
  133. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/me.py +0 -0
  134. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/messages.py +0 -0
  135. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/paid.py +0 -0
  136. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/pinned.py +0 -0
  137. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/profile.py +0 -0
  138. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/streams.py +0 -0
  139. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/subscriptions/common.py +0 -0
  140. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/subscriptions/individual.py +0 -0
  141. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/subscriptions/lists.py +0 -0
  142. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/subscriptions/subscriptions.py +0 -0
  143. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/api/timeline.py +0 -0
  144. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/models/manager.py +0 -0
  145. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/models/models.py +0 -0
  146. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/models/utils/retriver.py +0 -0
  147. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/posts/post.py +0 -0
  148. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/data/posts/scrape_paid.py +0 -0
  149. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/__init__.py +0 -0
  150. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/backup.py +0 -0
  151. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/difference.py +0 -0
  152. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/merge.py +0 -0
  153. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/operations.py +0 -0
  154. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/operations_/empty.py +0 -0
  155. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/operations_/labels.py +0 -0
  156. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/operations_/media.py +0 -0
  157. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/operations_/messages.py +0 -0
  158. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/operations_/others.py +0 -0
  159. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/operations_/posts.py +0 -0
  160. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/operations_/profile.py +0 -0
  161. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/operations_/stories.py +0 -0
  162. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/operations_/wrapper.py +0 -0
  163. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/transition.py +0 -0
  164. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/db/utils/convert.py +0 -0
  165. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/filters/media/filters.py +0 -0
  166. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/filters/media/main.py +0 -0
  167. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/filters/models/date.py +0 -0
  168. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/filters/models/flags.py +0 -0
  169. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/filters/models/other.py +0 -0
  170. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/filters/models/price.py +0 -0
  171. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/filters/models/sort.py +0 -0
  172. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/filters/models/subtype.py +0 -0
  173. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/filters/models/utils/logs.py +0 -0
  174. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/main/close/exit.py +0 -0
  175. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/main/close/final/final.py +0 -0
  176. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/main/close/final/final_log.py +0 -0
  177. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/main/close/final/final_script.py +0 -0
  178. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/main/close/final/final_user.py +0 -0
  179. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/main/manager.py +0 -0
  180. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/main/open/load.py +0 -0
  181. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/main/open/run.py +0 -0
  182. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/keybindings.py +0 -0
  183. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/promptConvert.py +0 -0
  184. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/prompt_groups/actions.py +0 -0
  185. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/prompt_groups/area.py +0 -0
  186. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/prompt_groups/auth.py +0 -0
  187. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/prompt_groups/binary.py +0 -0
  188. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/prompt_groups/menu.py +0 -0
  189. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/prompt_groups/merge.py +0 -0
  190. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/prompt_groups/model.py +0 -0
  191. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/prompt_groups/profile.py +0 -0
  192. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/prompt_strings.py +0 -0
  193. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/prompt_validators.py +0 -0
  194. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/prompts.py +0 -0
  195. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/utils/model_helpers.py +0 -0
  196. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/prompts/utils/prompt_helpers.py +0 -0
  197. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/__init__.py +0 -0
  198. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/actions.py +0 -0
  199. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/ads.py +0 -0
  200. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/accessors/actions.py +0 -0
  201. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/accessors/areas.py +0 -0
  202. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/accessors/output.py +0 -0
  203. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/accessors/quality.py +0 -0
  204. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/accessors/read.py +0 -0
  205. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/accessors/time.py +0 -0
  206. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/callbacks/choice.py +0 -0
  207. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/callbacks/file.py +0 -0
  208. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/callbacks/string.py +0 -0
  209. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/callbacks/username.py +0 -0
  210. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/globals.py +0 -0
  211. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/helpers/hide_args.py +0 -0
  212. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/main.py +0 -0
  213. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/mutators/before.py +0 -0
  214. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/mutators/change.py +0 -0
  215. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/mutators/user.py +0 -0
  216. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/mutators/write.py +0 -0
  217. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/advanced_processing.py +0 -0
  218. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/advanced_program.py +0 -0
  219. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/advanced_user_filter.py +0 -0
  220. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/automatic.py +0 -0
  221. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/check.py +0 -0
  222. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/db.py +0 -0
  223. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/download.py +0 -0
  224. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/file.py +0 -0
  225. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/logging.py +0 -0
  226. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/media_content.py +0 -0
  227. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/metadata_filters.py +0 -0
  228. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/post_content.py +0 -0
  229. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/program.py +0 -0
  230. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/shared.py +0 -0
  231. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/user_list.py +0 -0
  232. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/user_select.py +0 -0
  233. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/user_sort.py +0 -0
  234. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/utils/date.py +0 -0
  235. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/arguments/utils/retry.py +0 -0
  236. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/commands/db.py +0 -0
  237. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/commands/main.py +0 -0
  238. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/commands/manual.py +0 -0
  239. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/commands/message.py +0 -0
  240. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/commands/metadata.py +0 -0
  241. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/commands/paid.py +0 -0
  242. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/commands/post.py +0 -0
  243. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/commands/story.py +0 -0
  244. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/group_bundles/advanced_common.py +0 -0
  245. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/group_bundles/check.py +0 -0
  246. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/group_bundles/common.py +0 -0
  247. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/group_bundles/db.py +0 -0
  248. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/group_bundles/main.py +0 -0
  249. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/group_bundles/manual.py +0 -0
  250. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/group_bundles/message_check.py +0 -0
  251. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/group_bundles/metadata.py +0 -0
  252. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/group_bundles/paid_check.py +0 -0
  253. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/group_bundles/post_check.py +0 -0
  254. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/group_bundles/story_check.py +0 -0
  255. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/group_bundles/utils/check.py +0 -0
  256. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/groups/advanced_processing.py +0 -0
  257. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/groups/advanced_program.py +0 -0
  258. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/groups/advanced_user_filter.py +0 -0
  259. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/groups/automatic.py +0 -0
  260. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/groups/check_content.py +0 -0
  261. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/groups/download.py +0 -0
  262. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/groups/file.py +0 -0
  263. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/groups/logging.py +0 -0
  264. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/groups/media_filter.py +0 -0
  265. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/groups/post_filter.py +0 -0
  266. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/groups/program.py +0 -0
  267. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/groups/user_list.py +0 -0
  268. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/groups/user_select.py +0 -0
  269. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/parse/groups/user_sort.py +0 -0
  270. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/types/arrow.py +0 -0
  271. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/args/types/choice.py +0 -0
  272. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/auth/data.py +0 -0
  273. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/auth/file.py +0 -0
  274. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/auth/make.py +0 -0
  275. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/auth/request.py +0 -0
  276. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/auth/schema.py +0 -0
  277. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/auth/utils/context.py +0 -0
  278. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/auth/utils/dict.py +0 -0
  279. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/auth/utils/prompt.py +0 -0
  280. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/auth/utils/warning/check.py +0 -0
  281. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/auth/utils/warning/print.py +0 -0
  282. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/auth/utils/warning/warning.py +0 -0
  283. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/binaries.py +0 -0
  284. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/cache.py +0 -0
  285. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/checkers.py +0 -0
  286. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/config/config.py +0 -0
  287. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/config/custom.py +0 -0
  288. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/config/file.py +0 -0
  289. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/config/menu.py +0 -0
  290. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/config/utils/context.py +0 -0
  291. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/config/utils/wrapper.py +0 -0
  292. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/console.py +0 -0
  293. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/constants.py +0 -0
  294. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/context/exit.py +0 -0
  295. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/context/run_async.py +0 -0
  296. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/context/stdout.py +0 -0
  297. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/dates.py +0 -0
  298. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/encoding.py +0 -0
  299. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/live/classes/progress.py +0 -0
  300. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/live/classes/task.py +0 -0
  301. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/live/classes/transfercol.py +0 -0
  302. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/live/clear.py +0 -0
  303. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/live/empty.py +0 -0
  304. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/live/groups.py +0 -0
  305. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/live/live.py +0 -0
  306. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/live/panel.py +0 -0
  307. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/live/progress.py +0 -0
  308. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/live/screens.py +0 -0
  309. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/live/tasks.py +0 -0
  310. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/classes/classes.py +0 -0
  311. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/classes/handlers/discord.py +0 -0
  312. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/classes/handlers/file.py +0 -0
  313. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/classes/handlers/pipe.py +0 -0
  314. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/classes/handlers/rich.py +0 -0
  315. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/classes/handlers/text.py +0 -0
  316. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/classes/handlers/zmq.py +0 -0
  317. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/close.py +0 -0
  318. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/globals.py +0 -0
  319. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/handle.py +0 -0
  320. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/logger.py +0 -0
  321. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/other.py +0 -0
  322. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/stdout.py +0 -0
  323. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/utils/level.py +0 -0
  324. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/logs/utils/trace.py +0 -0
  325. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/manager.py +0 -0
  326. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/me.py +0 -0
  327. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/menu.py +0 -0
  328. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/merge.py +0 -0
  329. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/paths/check.py +0 -0
  330. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/paths/common.py +0 -0
  331. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/paths/db.py +0 -0
  332. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/paths/manage.py +0 -0
  333. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/paths/paths.py +0 -0
  334. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/profiles/data.py +0 -0
  335. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/profiles/manage.py +0 -0
  336. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/profiles/tools.py +0 -0
  337. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/sems.py +0 -0
  338. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/separate.py +0 -0
  339. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/string.py +0 -0
  340. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/system/free.py +0 -0
  341. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/system/network.py +0 -0
  342. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/system/priority.py +0 -0
  343. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/system/speed.py +0 -0
  344. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/system/subprocess.py +0 -0
  345. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/system/system.py +0 -0
  346. {ofscraper-3.13.dev2 → ofscraper-3.13.dev3}/ofscraper/utils/text.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: ofscraper
3
- Version: 3.13.dev2
3
+ Version: 3.13.dev3
4
4
  Summary: automatically scrape onlyfans
5
5
  Author: datawhores
6
6
  Author-email: datawhores@riseup.net
@@ -78,7 +78,7 @@ https://github.com/datawhores/OF-Scraper/issues/442
78
78
 
79
79
  ```Text
80
80
 
81
- Docker and binary releases also availible
81
+ Docker and binary releases also available
82
82
  ```
83
83
 
84
84
  ## Stable
@@ -19,7 +19,7 @@ https://github.com/datawhores/OF-Scraper/issues/442
19
19
 
20
20
  ```Text
21
21
 
22
- Docker and binary releases also availible
22
+ Docker and binary releases also available
23
23
  ```
24
24
 
25
25
  ## Stable
@@ -7,7 +7,6 @@ import time
7
7
  import traceback
8
8
 
9
9
  import aiohttp
10
- import aiohttp.client_exceptions
11
10
  import arrow
12
11
  import certifi
13
12
  import httpx
@@ -18,6 +17,7 @@ import ofscraper.utils.auth.request as auth_requests
18
17
  import ofscraper.utils.config.data as data
19
18
  import ofscraper.utils.constants as constants
20
19
  from ofscraper.utils.auth.utils.warning.print import print_auth_warning
20
+ import ofscraper.utils.settings as settings
21
21
 
22
22
  TOO_MANY = "too_many"
23
23
  AUTH = "auth"
@@ -481,7 +481,7 @@ class sessionManager:
481
481
  params=params,
482
482
  json=json,
483
483
  data=data,
484
- ssl=ssl.create_default_context(cafile=certifi.where()),
484
+ ssl=False if not settings.get_settings().ssl_validation else ssl.create_default_context(cafile=certifi.where()),
485
485
  )
486
486
  else:
487
487
  r = await self._httpx_funct_async(
@@ -12,7 +12,7 @@ r"""
12
12
  """
13
13
 
14
14
  import logging
15
- import timeit
15
+ from datetime import datetime
16
16
  from contextlib import contextmanager
17
17
 
18
18
  import arrow
@@ -24,7 +24,7 @@ log = logging.getLogger("shared")
24
24
  def scrape_context_manager():
25
25
  # reset stream if needed
26
26
  # Before yield as the enter method
27
- start = timeit.default_timer()
27
+ start = datetime.now()
28
28
  log.warning(
29
29
  """
30
30
  ==============================
@@ -33,12 +33,14 @@ def scrape_context_manager():
33
33
  """
34
34
  )
35
35
  yield
36
- end = timeit.default_timer()
36
+ end = datetime.now()
37
37
  log.warning(
38
38
  f"""
39
39
  ===========================
40
40
  [bold] Script Finished [/bold]
41
41
  Run Time: [bold]{str(arrow.get(end)-arrow.get(start)).split(".")[0]}[/bold]
42
+ Started At: [bold]{str(arrow.get(start).format("YYYY-MM-DD hh:mm:ss"))}[/bold]
43
+ Finished At: [bold]{str(arrow.get(end).format("YYYY-MM-DD hh:mm:ss"))}[/bold]
42
44
  ===========================
43
45
  """
44
46
  )
@@ -104,7 +104,8 @@ def funct(prompt_):
104
104
  enable_auto_after: whether to dynamically set --after: default True
105
105
  default_user_list: default user list for --action
106
106
  default_black_list: default black list for --action
107
- logs_expire_time: max age for a log before it is autodeleted
107
+ logs_expire_time: max age for a log before it is autodelete
108
+ ssl_validation: option for whether to validate ssl certificates
108
109
  remove_hash_match: remove files if hash matches
109
110
  ----------------------------------------------------------
110
111
  [Response Type]
@@ -646,13 +647,20 @@ List are case insensitive\n
646
647
  "type": "input",
647
648
  "name": "logs_expire_time",
648
649
  "message": "Logs expire Time",
649
- "default": data.get_logs_expire_time(),
650
+ "default": data.get_logs_expire(),
650
651
  "option_instruction": """
651
- A comma seperated list of userlists to set as black listed
652
- Main user list with all active+expired users can be called main or ofscraper.main
653
- Active user list can be called active or ofscraper.active
654
- Expired user list can be called expired or ofscraper.expired
655
- List are case insensitive\n
652
+ Logs will auto delete after the selected amount of time has passed
653
+ If value is 'None' or '0' no logs will be touched
654
+ """,
655
+ },
656
+
657
+ {
658
+ "type": "input",
659
+ "name": "ssl_validation",
660
+ "message": "ssl validation",
661
+ "default": data.get_ssl_validation(),
662
+ "option_instruction": """
663
+ Option to disable ssl certificate validation
656
664
  """,
657
665
  },
658
666
  {
@@ -268,12 +268,20 @@ def get_default_userlist(config=None):
268
268
 
269
269
  @wrapper.config_reader
270
270
  def get_logs_expire(config=None):
271
- val = (
271
+ return(
272
272
  config.get("logs_expire_time")
273
273
  if not any(x == config.get("logs_expire_time") for x in [None, ""])
274
274
  else config.get("advanced_options", {}).get("logs_expire_time")
275
275
  )
276
- return val
276
+
277
+ @wrapper.config_reader
278
+ def get_ssl_validation(config=None):
279
+ val = (
280
+ config.get("ssl_validation")
281
+ if not any(x == config.get("ssl_validation") for x in [None, ""])
282
+ else config.get("advanced_options", {}).get("ssl_validation")
283
+ )
284
+ return val if val else True
277
285
  @wrapper.config_reader
278
286
  def get_post_download_script(config=None):
279
287
  if config is False:
@@ -301,8 +309,8 @@ def get_post_script(config=None):
301
309
  val = config.get("post_script")
302
310
  elif config.get("advanced_options", {}).get("post_script") is not None:
303
311
  val = config.get("advanced_options", {}).get("post_script")
304
- elif config.get("scripts", {}).get("post_download_script") is not None:
305
- val = config.get("scripts", {}).get("post_download_script")
312
+ elif config.get("scripts", {}).get("post_script") is not None:
313
+ val = config.get("scripts", {}).get("post_script")
306
314
  elif config.get("script_options", {}).get("post_script") is not None:
307
315
  val = config.get("script_options", {}).get("post_script")
308
316
  return val if val is not None else constants_attr.getattr("POST_SCRIPT_DEFAULT")
@@ -64,9 +64,10 @@ def get_current_config_schema(config: dict = None) -> dict:
64
64
  "enable_auto_after": data.get_enable_after(config=config),
65
65
  "default_user_list": data.get_default_userlist(config=config),
66
66
  "default_black_list": data.get_default_blacklist(config=config),
67
- "logs_expire_time":data.get_logs_expire(config=config)
67
+ "logs_expire_time":data.get_logs_expire(config=config),
68
+ "ssl_validation":data.get_ssl_validation(config=config)
68
69
  },
69
- "scripts_options": {
70
+ "script_options": {
70
71
  "post_download_script": data.get_post_download_script(config=config),
71
72
  "post_script": data.get_post_script(config=config),
72
73
  },
@@ -98,20 +99,27 @@ def config_diff(config):
98
99
  if config.get("config"):
99
100
  config = config["config"]
100
101
  schema = get_current_config_schema()
101
- return config_diff_helper(config, schema)
102
+ return _config_diff_helper(config, schema)
102
103
 
104
+ def _config_diff_helper(config, schema):
105
+ # Check for keys in schema but missing in config
106
+ if set(schema.keys()) - set(config.keys()):
107
+ return True
103
108
 
104
- def config_diff_helper(config, schema, key=None):
105
- if key:
106
- config = config[key]
107
- schema = schema[key]
108
- diff = set(schema.keys()) - set(config.keys())
109
- if len(diff) > 0:
109
+ # Check for keys in config but missing in schema
110
+ if set(config.keys()) - set(schema.keys()):
110
111
  return True
111
- for key in schema.keys():
112
- if not isinstance(schema[key], dict):
113
- continue
114
- elif not isinstance(config[key], dict):
115
- return True
116
- elif config_diff_helper(config, schema, key):
117
- return True
112
+
113
+ for key, schema_value in schema.items():
114
+ if key in config:
115
+ config_value = config[key]
116
+ if isinstance(schema_value, dict):
117
+ if not isinstance(config_value, dict):
118
+ return True
119
+ if _config_diff_helper(config_value, schema_value):
120
+ return True
121
+ elif schema_value != config_value: # Simple value comparison
122
+ return True
123
+ # Keys missing from config are already handled above
124
+
125
+ return False
@@ -18,7 +18,7 @@ fileHashes = {}
18
18
  def get_hash(file_data, mediatype=None):
19
19
  global fileHashes
20
20
  hash = None
21
- if settings.get_hash(mediatype=mediatype) is None:
21
+ if settings.get_settings().hash is None:
22
22
  return
23
23
  if isinstance(file_data, placeholder.Placeholders):
24
24
  file_data = file_data.trunicated_filepath
@@ -137,7 +137,7 @@ downloads_pending = set()
137
137
  def add_download_job_task(*args, **kwargs):
138
138
  max_visible = constants.getattr("MAX_PROGRESS_BARS")
139
139
  visible = (
140
- settings.get_settings().download_bars()
140
+ settings.get_settings().download_bars
141
141
  and len(download_job_progress.tasks) < max_visible
142
142
  )
143
143
  task = download_job_progress.add_task(*args, visible=visible, **kwargs)
@@ -160,7 +160,7 @@ def update_download_task(*args, **kwargs):
160
160
 
161
161
 
162
162
  def update_download_job_task(*args, **kwargs):
163
- if not settings.get_settings().download_bars():
163
+ if not settings.get_settings().download_bars:
164
164
  return
165
165
  download_job_progress.update(*args, **kwargs)
166
166
 
@@ -102,7 +102,7 @@ def print_latest_version():
102
102
  "[bold yellow]OF-Scraper can't check version (probably from zip)[/bold yellow]"
103
103
  )
104
104
  elif ".dev" in __version__:
105
- log.error("OF-Scraper up to date[/bold yellow]")
105
+ log.error("[bold yellow]OF-Scraper up to date[/bold yellow]")
106
106
  else:
107
107
  log.error(
108
108
  f"[bold yellow]new version of OF-Scraper available[/bold yellow]: [bold]{new_version}[/bold]"
@@ -99,6 +99,7 @@ def setup_settings(mediatype):
99
99
  merged.auto_resume = get_auto_resume(mediatype)
100
100
  merged.cached_disabled = get_auto_after_enabled()
101
101
  merged.logs_expire_time=config_data.get_logs_expire()
102
+ merged.ssl_validation=config_data.get_ssl_validation()
102
103
 
103
104
  return merged
104
105
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "ofscraper"
3
- version = "3.13.dev2"
3
+ version = "3.13.dev3"
4
4
  description = "automatically scrape onlyfans"
5
5
  authors = ["datawhores <datawhores@riseup.net>"]
6
6
  readme = "README.md"
@@ -1,16 +0,0 @@
1
- # import asyncio
2
-
3
- # import ofscraper.commands.scraper.actions.utils.globals as common_globals
4
- # import ofscraper.utils.settings as settings
5
-
6
-
7
- # async def send_bar_msg_batch(msg, count, update_count):
8
- # if not settings.get_settings().download_bars():
9
- # return
10
- # await send_msg_alt(msg)
11
-
12
-
13
- # async def send_bar_msg(func, count, update_count):
14
- # if not settings.get_settings().download_bars():
15
- # return
16
- # await asyncio.get_event_loop().run_in_executor(common_globals.thread, func)
File without changes