ofscraper 3.10.dev1__tar.gz → 3.10.dev2__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 (248) hide show
  1. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/PKG-INFO +1 -1
  2. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/sessionmanager.py +10 -8
  3. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/scraper/actions/like.py +31 -12
  4. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/constants.py +2 -0
  5. ofscraper-3.10.dev2/ofscraper/const/values/like.py +15 -0
  6. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/media/helpers.py +7 -6
  7. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/pyproject.toml +1 -1
  8. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/LICENSE +0 -0
  9. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/README.md +0 -0
  10. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/__main__.py +0 -0
  11. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/__version__.py +0 -0
  12. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/__version__.pye +0 -0
  13. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/archive.py +0 -0
  14. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/common/logs.py +0 -0
  15. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/highlights.py +0 -0
  16. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/init.py +0 -0
  17. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/labels.py +0 -0
  18. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/me.py +0 -0
  19. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/messages.py +0 -0
  20. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/paid.py +0 -0
  21. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/pinned.py +0 -0
  22. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/profile.py +0 -0
  23. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/subscriptions/helpers.py +0 -0
  24. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/subscriptions/individual.py +0 -0
  25. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/subscriptions/lists.py +0 -0
  26. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/subscriptions/subscriptions.py +0 -0
  27. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/timeline.py +0 -0
  28. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/base.py +0 -0
  29. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/labels.py +0 -0
  30. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/media.py +0 -0
  31. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/models.py +0 -0
  32. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/multiprocessprogress.py +0 -0
  33. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/placeholder.py +0 -0
  34. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/posts.py +0 -0
  35. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/button.py +0 -0
  36. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/boolfield.py +0 -0
  37. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/datefield.py +0 -0
  38. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/mediafield.py +0 -0
  39. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/numfield.py +0 -0
  40. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/pricefield.py +0 -0
  41. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/responsefield.py +0 -0
  42. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/selectfield.py +0 -0
  43. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/textsearch.py +0 -0
  44. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/timefield.py +0 -0
  45. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/inputs/filterinput.py +0 -0
  46. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/inputs/intergerinput.py +0 -0
  47. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/inputs/strinput.py +0 -0
  48. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/row_names.py +0 -0
  49. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/status.py +0 -0
  50. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/table.py +0 -0
  51. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/table_console.py +0 -0
  52. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/check.py +0 -0
  53. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/helpers/context.py +0 -0
  54. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/helpers/picker.py +0 -0
  55. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/helpers/shared.py +0 -0
  56. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/helpers/strings.py +0 -0
  57. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/manual.py +0 -0
  58. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/metadata.py +0 -0
  59. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/scraper/actions/download.py +0 -0
  60. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/scraper/post.py +0 -0
  61. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/scraper/runner.py +0 -0
  62. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/scraper/scrape_context.py +0 -0
  63. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/scraper/scraper.py +0 -0
  64. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/binary.py +0 -0
  65. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/config.py +0 -0
  66. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/date.py +0 -0
  67. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/download.py +0 -0
  68. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/files.py +0 -0
  69. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/general.py +0 -0
  70. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/live.py +0 -0
  71. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/logger.py +0 -0
  72. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/metadata.py +0 -0
  73. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/other_url.py +0 -0
  74. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/path.py +0 -0
  75. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/prompts.py +0 -0
  76. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/req.py +0 -0
  77. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/table.py +0 -0
  78. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/test_constants.py +0 -0
  79. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/time.py +0 -0
  80. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/url.py +0 -0
  81. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/__init__.py +0 -0
  82. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations.py +0 -0
  83. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/helpers.py +0 -0
  84. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/labels.py +0 -0
  85. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/media.py +0 -0
  86. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/merge.py +0 -0
  87. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/messages.py +0 -0
  88. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/others.py +0 -0
  89. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/posts.py +0 -0
  90. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/profile.py +0 -0
  91. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/stories.py +0 -0
  92. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/wrapper.py +0 -0
  93. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/alt_download.py +0 -0
  94. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/alt_downloadbatch.py +0 -0
  95. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/download.py +0 -0
  96. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/downloadbatch.py +0 -0
  97. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/downloadnormal.py +0 -0
  98. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/main_download.py +0 -0
  99. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/main_downloadbatch.py +0 -0
  100. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/classes/retries.py +0 -0
  101. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/classes/session.py +0 -0
  102. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/common/alt_common.py +0 -0
  103. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/common/general.py +0 -0
  104. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/common/main_common.py +0 -0
  105. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/globals.py +0 -0
  106. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/keyhelpers.py +0 -0
  107. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/log.py +0 -0
  108. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/media.py +0 -0
  109. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/message.py +0 -0
  110. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/metadata.py +0 -0
  111. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/paths.py +0 -0
  112. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/progress.py +0 -0
  113. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/text.py +0 -0
  114. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/media/main.py +0 -0
  115. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/models/date.py +0 -0
  116. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/models/flags.py +0 -0
  117. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/models/helpers.py +0 -0
  118. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/models/other.py +0 -0
  119. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/models/price.py +0 -0
  120. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/models/sort.py +0 -0
  121. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/models/subtype.py +0 -0
  122. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/models/retriver.py +0 -0
  123. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/models/selector.py +0 -0
  124. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/helpers/model_helpers.py +0 -0
  125. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/helpers/prompt_helpers.py +0 -0
  126. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/keybindings.py +0 -0
  127. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/promptConvert.py +0 -0
  128. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/actions.py +0 -0
  129. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/area.py +0 -0
  130. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/auth.py +0 -0
  131. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/binary.py +0 -0
  132. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/config.py +0 -0
  133. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/menu.py +0 -0
  134. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/merge.py +0 -0
  135. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/model.py +0 -0
  136. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/profile.py +0 -0
  137. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_strings.py +0 -0
  138. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_validators.py +0 -0
  139. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompts.py +0 -0
  140. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/runner/exit.py +0 -0
  141. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/runner/load.py +0 -0
  142. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/runner/run.py +0 -0
  143. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/__init__.py +0 -0
  144. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/actions.py +0 -0
  145. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/advanced_processing.py +0 -0
  146. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/advanced_program.py +0 -0
  147. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/advanced_user_filter.py +0 -0
  148. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/automatic.py +0 -0
  149. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/content.py +0 -0
  150. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/download.py +0 -0
  151. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/file.py +0 -0
  152. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/logging.py +0 -0
  153. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/media_type.py +0 -0
  154. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/program.py +0 -0
  155. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/user_list.py +0 -0
  156. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/user_select.py +0 -0
  157. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/user_sort.py +0 -0
  158. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/advanced_common.py +0 -0
  159. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/common.py +0 -0
  160. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/main.py +0 -0
  161. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/manual.py +0 -0
  162. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/message_check.py +0 -0
  163. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/metadata.py +0 -0
  164. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/paid_check.py +0 -0
  165. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/post_check.py +0 -0
  166. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/story_check.py +0 -0
  167. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/commands/main.py +0 -0
  168. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/commands/manual.py +0 -0
  169. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/commands/message.py +0 -0
  170. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/commands/metadata.py +0 -0
  171. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/commands/paid.py +0 -0
  172. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/commands/post.py +0 -0
  173. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/commands/story.py +0 -0
  174. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/globals.py +0 -0
  175. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/groups/common_args.py +0 -0
  176. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/helpers/areas.py +0 -0
  177. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/helpers/before.py +0 -0
  178. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/helpers/check.py +0 -0
  179. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/helpers/date.py +0 -0
  180. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/helpers/type.py +0 -0
  181. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/output.py +0 -0
  182. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/parse.py +0 -0
  183. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/quality.py +0 -0
  184. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/read.py +0 -0
  185. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/user.py +0 -0
  186. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/write.py +0 -0
  187. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/auth/context.py +0 -0
  188. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/auth/data.py +0 -0
  189. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/auth/file.py +0 -0
  190. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/auth/helpers.py +0 -0
  191. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/auth/make.py +0 -0
  192. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/auth/request.py +0 -0
  193. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/auth/schema.py +0 -0
  194. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/binaries.py +0 -0
  195. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/cache.py +0 -0
  196. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/checkers.py +0 -0
  197. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/config.py +0 -0
  198. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/context.py +0 -0
  199. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/custom.py +0 -0
  200. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/data.py +0 -0
  201. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/file.py +0 -0
  202. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/menu.py +0 -0
  203. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/schema.py +0 -0
  204. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/wrapper.py +0 -0
  205. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/console.py +0 -0
  206. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/constants.py +0 -0
  207. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/context/exit.py +0 -0
  208. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/context/run_async.py +0 -0
  209. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/context/stdout.py +0 -0
  210. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/dates.py +0 -0
  211. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/encoding.py +0 -0
  212. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/hash.py +0 -0
  213. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/empty.py +0 -0
  214. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/groups.py +0 -0
  215. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/live.py +0 -0
  216. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/panel.py +0 -0
  217. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/progress.py +0 -0
  218. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/screens.py +0 -0
  219. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/tasks.py +0 -0
  220. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/updater.py +0 -0
  221. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/classes.py +0 -0
  222. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/close.py +0 -0
  223. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/globals.py +0 -0
  224. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/handle.py +0 -0
  225. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/helpers.py +0 -0
  226. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/logger.py +0 -0
  227. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/logs.py +0 -0
  228. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/other.py +0 -0
  229. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/stdout.py +0 -0
  230. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/manager.py +0 -0
  231. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/me.py +0 -0
  232. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/menu.py +0 -0
  233. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/merge.py +0 -0
  234. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/paths/check.py +0 -0
  235. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/paths/common.py +0 -0
  236. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/paths/manage.py +0 -0
  237. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/paths/paths.py +0 -0
  238. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/profiles/data.py +0 -0
  239. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/profiles/manage.py +0 -0
  240. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/profiles/tools.py +0 -0
  241. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/run.py +0 -0
  242. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/sems.py +0 -0
  243. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/separate.py +0 -0
  244. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/settings.py +0 -0
  245. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/system/free.py +0 -0
  246. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/system/network.py +0 -0
  247. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/system/system.py +0 -0
  248. {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/text.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ofscraper
3
- Version: 3.10.dev1
3
+ Version: 3.10.dev2
4
4
  Summary: automatically scrape onlyfans
5
5
  Author: datawhores
6
6
  Author-email: datawhores@riseup.net
@@ -40,11 +40,13 @@ def is_rate_limited(exception):
40
40
 
41
41
 
42
42
  class SessionSleep:
43
- def __init__(self, sleep=None):
44
- self._sleep = sleep
45
- self._init_sleep = sleep
43
+ def __init__(self, sleep=None,difmin=None):
44
+ self._sleep = None
45
+ self._init_sleep = sleep
46
46
  self._last_date = arrow.now()
47
+ self._difmin=difmin if difmin!=None else constants.getattr("SESSION_SLEEP_INCREASE_TIME_DIFF")
47
48
  self._alock = asyncio.Lock()
49
+
48
50
 
49
51
  def reset_sleep(self):
50
52
  self._sleep = self._init_sleep
@@ -56,13 +58,12 @@ class SessionSleep:
56
58
 
57
59
  def toomany_req(self):
58
60
  log = logging.getLogger("shared")
59
- dif_min = constants.getattr("SESSION_SLEEP_INCREASE_TIME_DIFF")
60
- if self._sleep is None:
61
- self._sleep = constants.getattr("SESSION_SLEEP_INIT")
61
+ if not self._sleep:
62
+ self._sleep = self._init_sleep if self._init_sleep else constants.getattr("SESSION_SLEEP_INIT")
62
63
  log.debug(f"too many req => setting sleep to init [{self._sleep} seconds]")
63
- elif arrow.now().float_timestamp - self._last_date.float_timestamp < dif_min:
64
+ elif arrow.now().float_timestamp - self._last_date.float_timestamp < self._difmin:
64
65
  log.debug(
65
- f"too many req => not changing sleep [{self._sleep} seconds] because last call less than {dif_min} seconds"
66
+ f"too many req => not changing sleep [{self._sleep} seconds] because last call less than {self._difmin} seconds"
66
67
  )
67
68
  return self._sleep
68
69
  else:
@@ -357,6 +358,7 @@ class sessionManager:
357
358
  except Exception as E:
358
359
  if is_rate_limited(E):
359
360
  sleeper.toomany_req()
361
+
360
362
  log.traceback_(E)
361
363
  log.traceback_(traceback.format_exc())
362
364
  sync_sem.release()
@@ -112,18 +112,24 @@ def _like(model_id, ids: list, like_action: bool):
112
112
 
113
113
  [tasks.append(functools.partial(like_func, c, id, model_id)) for id in ids]
114
114
  count = 1
115
+
116
+ stable_sleep_duration=constants.getattr("STABLE_SLEEP_DURATION_LIKE")
117
+ sleep_duration_50=constants.getattr("SLEEP_DURATION_LIKE_50")
118
+ sleep_duration_60=constants.getattr("SLEEP_DURATION_LIKE_60")
119
+ sleep_duration_common=constants.getattr("COMMON_MULTIPLE_SLEEP_DURATION_LIKE")
120
+
115
121
  for count, func in enumerate(tasks):
116
122
  out = func()
117
123
  if out == 0:
118
124
  sleep_duration = 0
119
125
  elif count + 1 % 60 == 0 and count + 1 % 50 == 0:
120
- sleep_duration = 40
126
+ sleep_duration = sleep_duration_common
121
127
  elif count % 60 == 0:
122
- sleep_duration = 1 # Divisible by 60 - 1 second sleep
128
+ sleep_duration = sleep_duration_60 # Divisible by 60 - 1 second sleep
123
129
  elif count % 50 == 0:
124
- sleep_duration = 30 # Divisible by 50 - 30 seconds sleep
130
+ sleep_duration = sleep_duration_50 # Divisible by 50 - 30 seconds sleep
125
131
  else:
126
- sleep_duration = 5
132
+ sleep_duration = stable_sleep_duration
127
133
  if out == 1:
128
134
  progress_utils.increment_like_task(task2)
129
135
  progress_utils.increment_like_task(task)
@@ -132,24 +138,34 @@ def _like(model_id, ids: list, like_action: bool):
132
138
 
133
139
 
134
140
  def _toggle_like_requests(c, id, model_id):
141
+
142
+
143
+ sleeper=sessionManager.SessionSleep(
144
+ sleep=constants.getattr("SESSION_429_SLEEP_STARTER_VAL"),
145
+ difmin=constants.getattr("SESSION_429_LIKE_INCREASE_SLEEP_TIME_DIF"),
146
+ )
135
147
  if not read_args.retriveArgs().force_like and cache.get(f"liked_status_{id}", None):
136
148
  log.debug(f"ID: {id} marked as liked in cache")
137
149
  return 0
138
- sleep_duration = 5
139
- favorited, id = _like_request(c, id, model_id)
150
+ sleep_duration = constants.getattr("DOUBLE_TOGGLE_SLEEP_DURATION_LIKE")
151
+ favorited, id = _like_request(c, id, model_id,sleeper)
140
152
  if favorited:
141
153
  log.debug(f"ID: {id} changed to liked")
142
154
  out = 1
143
155
  else:
144
156
  log.debug(f"ID: {id} restored to liked")
145
157
  time.sleep(sleep_duration)
146
- _like_request(c, id, model_id)
158
+ _like_request(c, id, model_id,sleeper)
147
159
  out = 2
148
160
  cache.set(f"liked_status_{id}", True)
149
161
  return out
150
162
 
151
163
 
152
164
  def _toggle_unlike_requests(c, id, model_id):
165
+ sleeper=sessionManager.SessionSleep(
166
+ sleep=constants.getattr("SESSION_429_SLEEP_STARTER_VAL"),
167
+ difmin=constants.getattr("SESSION_429_LIKE_INCREASE_SLEEP_TIME_DIF")
168
+ )
153
169
  if (
154
170
  not read_args.retriveArgs().force_like
155
171
  and cache.get(f"liked_status_{id}", None) == False
@@ -157,22 +173,25 @@ def _toggle_unlike_requests(c, id, model_id):
157
173
  log.debug(f"ID: {id} marked as unliked in cache")
158
174
 
159
175
  return 0
160
- sleep_duration = 5
161
- favorited, id = _like_request(c, id, model_id)
176
+ sleep_duration = constants.getattr("DOUBLE_TOGGLE_SLEEP_DURATION_LIKE")
177
+ favorited, id = _like_request(c, id, model_id,sleeper)
162
178
  if not favorited:
163
179
  log.debug(f"ID: {id} changed to unliked")
164
180
  out = 1
165
181
  else:
166
182
  log.debug(f"ID: {id} restored to unlike")
167
183
  time.sleep(sleep_duration)
168
- _like_request(c, id, model_id)
184
+ _like_request(c, id, model_id,sleeper)
169
185
  out = 2
170
186
  cache.set(f"liked_status_{id}", False)
171
187
  return out
172
188
 
173
189
 
174
- def _like_request(c, id, model_id):
190
+ def _like_request(c, id, model_id,sleeper):
191
+
175
192
  with c.requests(
176
- constants.getattr("favoriteEP").format(id, model_id), method="post"
193
+ constants.getattr("favoriteEP").format(id, model_id),
194
+ method="post",sleeper=sleeper,
195
+ retries=constants.getattr("LIKE_MAX_RETRIES")
177
196
  ) as r:
178
197
  return r.json_()["isFavorite"], r.json_()["id"]
@@ -25,3 +25,5 @@ from ofscraper.const.values.table import *
25
25
  from ofscraper.const.values.test_constants import *
26
26
  from ofscraper.const.values.time import *
27
27
  from ofscraper.const.values.url import *
28
+ from ofscraper.const.values.like import *
29
+
@@ -0,0 +1,15 @@
1
+
2
+
3
+
4
+
5
+
6
+ STABLE_SLEEP_DURATION_LIKE=5
7
+ SLEEP_DURATION_LIKE_60=1
8
+ SLEEP_DURATION_LIKE_50=30
9
+ COMMON_MULTIPLE_SLEEP_DURATION_LIKE=40
10
+ DOUBLE_TOGGLE_SLEEP_DURATION_LIKE=5
11
+ SESSION_429_LIKE_INCREASE_SLEEP_TIME_DIF=0
12
+ SESSION_429_SLEEP_STARTER_VAL=8
13
+ LIKE_MAX_RETRIES=5
14
+
15
+
@@ -1,4 +1,5 @@
1
1
  import logging
2
+ from collections import defaultdict
2
3
  import random
3
4
  import re
4
5
 
@@ -22,13 +23,13 @@ def sort_by_date(media):
22
23
 
23
24
 
24
25
  def dupefilter(media):
25
- output = []
26
- ids = set()
26
+ output =defaultdict(lambda:None)
27
27
  for item in media:
28
- if not item.id or item.id not in ids:
29
- output.append(item)
30
- ids.add(item.id)
31
- return output
28
+ if not output[item.id]:
29
+ output[item.id]=item
30
+ elif item.canview and not output[item.id].canview:
31
+ output[item.id]=item
32
+ return output.values()
32
33
 
33
34
 
34
35
  def post_datesorter(output):
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "ofscraper"
3
- version = "3.10.dev1"
3
+ version = "3.10.dev2"
4
4
  description = "automatically scrape onlyfans"
5
5
  authors = ["datawhores <datawhores@riseup.net>"]
6
6
  readme = "README.md"
File without changes
File without changes