ofscraper 3.10.dev5__tar.gz → 3.10.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 (257) hide show
  1. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/PKG-INFO +1 -1
  2. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/labels.py +5 -38
  3. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/sessionmanager.py +5 -5
  4. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/check.py +5 -5
  5. ofscraper-3.10.dev7/ofscraper/commands/helpers/data.py +39 -0
  6. ofscraper-3.10.dev7/ofscraper/commands/helpers/final_log.py +14 -0
  7. ofscraper-3.10.dev7/ofscraper/commands/helpers/normal.py +52 -0
  8. ofscraper-3.10.dev7/ofscraper/commands/helpers/scrape_paid.py +69 -0
  9. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/helpers/shared.py +5 -0
  10. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/helpers/strings.py +11 -2
  11. ofscraper-3.10.dev5/ofscraper/commands/helpers/context.py → ofscraper-3.10.dev7/ofscraper/commands/helpers/user_first.py +4 -74
  12. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/metadata.py +57 -94
  13. ofscraper-3.10.dev7/ofscraper/commands/scraper/actions/download.py +61 -0
  14. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/scraper/actions/like.py +38 -9
  15. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/scraper/post.py +2 -2
  16. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/scraper/runner.py +30 -20
  17. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/general.py +1 -0
  18. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/alt_download.py +19 -15
  19. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/alt_downloadbatch.py +20 -14
  20. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/download.py +2 -2
  21. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/downloadbatch.py +7 -7
  22. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/downloadnormal.py +6 -6
  23. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/main_download.py +16 -15
  24. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/main_downloadbatch.py +17 -12
  25. ofscraper-3.10.dev7/ofscraper/download/shared/alt_common.py +23 -0
  26. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/shared/classes/session.py +1 -1
  27. {ofscraper-3.10.dev5/ofscraper/download/shared/common → ofscraper-3.10.dev7/ofscraper/download/shared}/general.py +5 -49
  28. ofscraper-3.10.dev5/ofscraper/download/shared/common/alt_common.py → ofscraper-3.10.dev7/ofscraper/download/shared/handle_result.py +53 -28
  29. {ofscraper-3.10.dev5/ofscraper/download/shared/utils → ofscraper-3.10.dev7/ofscraper/download/shared}/keyhelpers.py +2 -2
  30. ofscraper-3.10.dev7/ofscraper/download/shared/log.py +108 -0
  31. {ofscraper-3.10.dev5/ofscraper/download/shared/utils → ofscraper-3.10.dev7/ofscraper/download/shared}/metadata.py +4 -4
  32. {ofscraper-3.10.dev5/ofscraper/download/shared/utils → ofscraper-3.10.dev7/ofscraper/download/shared/paths}/paths.py +2 -2
  33. ofscraper-3.10.dev7/ofscraper/download/shared/progress/chunk.py +66 -0
  34. {ofscraper-3.10.dev5/ofscraper/download/shared/utils → ofscraper-3.10.dev7/ofscraper/download/shared/progress}/progress.py +1 -1
  35. {ofscraper-3.10.dev5/ofscraper/download/shared/utils → ofscraper-3.10.dev7/ofscraper/download/shared/send}/message.py +1 -1
  36. ofscraper-3.10.dev7/ofscraper/download/shared/send/send_bar_msg.py +27 -0
  37. {ofscraper-3.10.dev5/ofscraper/download/shared/utils → ofscraper-3.10.dev7/ofscraper/download/shared}/text.py +1 -1
  38. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/model.py +6 -6
  39. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/runner/run.py +1 -1
  40. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/empty.py +4 -2
  41. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/live.py +5 -0
  42. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/classes.py +12 -10
  43. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/pyproject.toml +1 -1
  44. ofscraper-3.10.dev5/ofscraper/commands/scraper/actions/download.py +0 -80
  45. ofscraper-3.10.dev5/ofscraper/download/shared/common/main_common.py +0 -53
  46. ofscraper-3.10.dev5/ofscraper/download/shared/utils/log.py +0 -89
  47. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/LICENSE +0 -0
  48. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/README.md +0 -0
  49. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/__main__.py +0 -0
  50. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/__version__.py +0 -0
  51. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/__version__.pye +0 -0
  52. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/archive.py +0 -0
  53. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/common/logs.py +0 -0
  54. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/highlights.py +0 -0
  55. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/init.py +0 -0
  56. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/me.py +0 -0
  57. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/messages.py +0 -0
  58. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/paid.py +0 -0
  59. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/pinned.py +0 -0
  60. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/profile.py +0 -0
  61. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/subscriptions/helpers.py +0 -0
  62. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/subscriptions/individual.py +0 -0
  63. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/subscriptions/lists.py +0 -0
  64. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/subscriptions/subscriptions.py +0 -0
  65. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/timeline.py +0 -0
  66. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/base.py +0 -0
  67. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/labels.py +0 -0
  68. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/media.py +0 -0
  69. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/models.py +0 -0
  70. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/multiprocessprogress.py +0 -0
  71. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/placeholder.py +0 -0
  72. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/posts.py +0 -0
  73. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/button.py +0 -0
  74. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/boolfield.py +0 -0
  75. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/datefield.py +0 -0
  76. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/mediafield.py +0 -0
  77. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/numfield.py +0 -0
  78. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/pricefield.py +0 -0
  79. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/responsefield.py +0 -0
  80. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/selectfield.py +0 -0
  81. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/textsearch.py +0 -0
  82. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/timefield.py +0 -0
  83. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/inputs/filterinput.py +0 -0
  84. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/inputs/intergerinput.py +0 -0
  85. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/inputs/strinput.py +0 -0
  86. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/row_names.py +0 -0
  87. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/status.py +0 -0
  88. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/table.py +0 -0
  89. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/table_console.py +0 -0
  90. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/helpers/picker.py +0 -0
  91. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/manual.py +0 -0
  92. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/scraper/scrape_context.py +0 -0
  93. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/scraper/scraper.py +0 -0
  94. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/constants.py +0 -0
  95. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/binary.py +0 -0
  96. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/config.py +0 -0
  97. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/date.py +0 -0
  98. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/download.py +0 -0
  99. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/files.py +0 -0
  100. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/like.py +0 -0
  101. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/live.py +0 -0
  102. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/logger.py +0 -0
  103. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/metadata.py +0 -0
  104. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/other_url.py +0 -0
  105. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/path.py +0 -0
  106. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/prompts.py +0 -0
  107. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/req.py +0 -0
  108. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/table.py +0 -0
  109. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/test_constants.py +0 -0
  110. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/time.py +0 -0
  111. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/url.py +0 -0
  112. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/__init__.py +0 -0
  113. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations.py +0 -0
  114. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/helpers.py +0 -0
  115. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/labels.py +0 -0
  116. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/media.py +0 -0
  117. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/merge.py +0 -0
  118. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/messages.py +0 -0
  119. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/others.py +0 -0
  120. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/posts.py +0 -0
  121. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/profile.py +0 -0
  122. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/stories.py +0 -0
  123. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/wrapper.py +0 -0
  124. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/shared/classes/retries.py +0 -0
  125. {ofscraper-3.10.dev5/ofscraper/download/shared → ofscraper-3.10.dev7/ofscraper/download/shared/globals}/globals.py +0 -0
  126. {ofscraper-3.10.dev5/ofscraper/download/shared/utils → ofscraper-3.10.dev7/ofscraper/download/shared/paths}/media.py +0 -0
  127. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/media/helpers.py +0 -0
  128. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/media/main.py +0 -0
  129. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/models/date.py +0 -0
  130. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/models/flags.py +0 -0
  131. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/models/helpers.py +0 -0
  132. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/models/other.py +0 -0
  133. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/models/price.py +0 -0
  134. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/models/sort.py +0 -0
  135. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/models/subtype.py +0 -0
  136. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/models/retriver.py +0 -0
  137. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/models/selector.py +0 -0
  138. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/helpers/model_helpers.py +0 -0
  139. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/helpers/prompt_helpers.py +0 -0
  140. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/keybindings.py +0 -0
  141. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/promptConvert.py +0 -0
  142. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/actions.py +0 -0
  143. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/area.py +0 -0
  144. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/auth.py +0 -0
  145. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/binary.py +0 -0
  146. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/config.py +0 -0
  147. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/menu.py +0 -0
  148. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/merge.py +0 -0
  149. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/profile.py +0 -0
  150. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_strings.py +0 -0
  151. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_validators.py +0 -0
  152. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompts.py +0 -0
  153. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/runner/exit.py +0 -0
  154. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/runner/load.py +0 -0
  155. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/__init__.py +0 -0
  156. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/actions.py +0 -0
  157. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/advanced_processing.py +0 -0
  158. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/advanced_program.py +0 -0
  159. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/advanced_user_filter.py +0 -0
  160. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/automatic.py +0 -0
  161. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/content.py +0 -0
  162. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/download.py +0 -0
  163. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/file.py +0 -0
  164. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/logging.py +0 -0
  165. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/media_type.py +0 -0
  166. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/program.py +0 -0
  167. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/user_list.py +0 -0
  168. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/user_select.py +0 -0
  169. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/user_sort.py +0 -0
  170. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/advanced_common.py +0 -0
  171. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/common.py +0 -0
  172. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/main.py +0 -0
  173. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/manual.py +0 -0
  174. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/message_check.py +0 -0
  175. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/metadata.py +0 -0
  176. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/paid_check.py +0 -0
  177. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/post_check.py +0 -0
  178. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/story_check.py +0 -0
  179. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/commands/main.py +0 -0
  180. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/commands/manual.py +0 -0
  181. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/commands/message.py +0 -0
  182. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/commands/metadata.py +0 -0
  183. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/commands/paid.py +0 -0
  184. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/commands/post.py +0 -0
  185. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/commands/story.py +0 -0
  186. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/globals.py +0 -0
  187. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/groups/common_args.py +0 -0
  188. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/helpers/areas.py +0 -0
  189. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/helpers/before.py +0 -0
  190. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/helpers/check.py +0 -0
  191. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/helpers/date.py +0 -0
  192. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/helpers/type.py +0 -0
  193. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/output.py +0 -0
  194. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/parse.py +0 -0
  195. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/quality.py +0 -0
  196. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/read.py +0 -0
  197. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/user.py +0 -0
  198. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/write.py +0 -0
  199. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/auth/context.py +0 -0
  200. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/auth/data.py +0 -0
  201. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/auth/file.py +0 -0
  202. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/auth/helpers.py +0 -0
  203. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/auth/make.py +0 -0
  204. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/auth/request.py +0 -0
  205. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/auth/schema.py +0 -0
  206. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/binaries.py +0 -0
  207. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/cache.py +0 -0
  208. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/checkers.py +0 -0
  209. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/config.py +0 -0
  210. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/context.py +0 -0
  211. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/custom.py +0 -0
  212. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/data.py +0 -0
  213. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/file.py +0 -0
  214. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/menu.py +0 -0
  215. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/schema.py +0 -0
  216. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/wrapper.py +0 -0
  217. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/console.py +0 -0
  218. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/constants.py +0 -0
  219. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/context/exit.py +0 -0
  220. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/context/run_async.py +0 -0
  221. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/context/stdout.py +0 -0
  222. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/dates.py +0 -0
  223. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/encoding.py +0 -0
  224. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/hash.py +0 -0
  225. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/groups.py +0 -0
  226. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/panel.py +0 -0
  227. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/progress.py +0 -0
  228. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/screens.py +0 -0
  229. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/tasks.py +0 -0
  230. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/updater.py +0 -0
  231. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/close.py +0 -0
  232. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/globals.py +0 -0
  233. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/handle.py +0 -0
  234. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/helpers.py +0 -0
  235. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/logger.py +0 -0
  236. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/logs.py +0 -0
  237. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/other.py +0 -0
  238. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/stdout.py +0 -0
  239. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/manager.py +0 -0
  240. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/me.py +0 -0
  241. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/menu.py +0 -0
  242. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/merge.py +0 -0
  243. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/paths/check.py +0 -0
  244. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/paths/common.py +0 -0
  245. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/paths/manage.py +0 -0
  246. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/paths/paths.py +0 -0
  247. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/profiles/data.py +0 -0
  248. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/profiles/manage.py +0 -0
  249. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/profiles/tools.py +0 -0
  250. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/run.py +0 -0
  251. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/sems.py +0 -0
  252. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/separate.py +0 -0
  253. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/settings.py +0 -0
  254. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/system/free.py +0 -0
  255. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/system/network.py +0 -0
  256. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/system/system.py +0 -0
  257. {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/text.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ofscraper
3
- Version: 3.10.dev5
3
+ Version: 3.10.dev7
4
4
  Summary: automatically scrape onlyfans
5
5
  Author: datawhores
6
6
  Author-email: datawhores@riseup.net
@@ -27,8 +27,8 @@ log = logging.getLogger("shared")
27
27
 
28
28
 
29
29
  @run
30
- async def get_labels_progress(model_id, c=None):
31
- labels_ = await get_labels_data_progress(model_id, c=c)
30
+ async def get_labels(model_id, c=None):
31
+ labels_ = await get_labels_data(model_id, c=c)
32
32
  labels_ = (
33
33
  labels_
34
34
  if not read_args.retriveArgs().label
@@ -39,19 +39,18 @@ async def get_labels_progress(model_id, c=None):
39
39
  )
40
40
  )
41
41
  )
42
- return await get_posts_for_labels_progress(labels_, model_id, c=c)
42
+ return await get_posts_for_labels(labels_, model_id, c=c)
43
43
 
44
44
 
45
45
  @run
46
- async def get_labels_data_progress(model_id, c=None):
46
+ async def get_labels_data(model_id, c=None):
47
47
  tasks = []
48
48
  tasks.append(asyncio.create_task(scrape_labels(c, model_id)))
49
- progress_utils.labelled_layout.visible = False
50
49
  return await process_tasks_labels(tasks)
51
50
 
52
51
 
53
52
  @run
54
- async def get_posts_for_labels_progress(labels, model_id, c=None):
53
+ async def get_posts_for_labels(labels, model_id, c=None):
55
54
  tasks = []
56
55
 
57
56
  [
@@ -59,43 +58,11 @@ async def get_posts_for_labels_progress(labels, model_id, c=None):
59
58
  for label in labels
60
59
  ]
61
60
  labels_final = await process_tasks_get_posts_for_labels(tasks, labels, model_id)
62
- progress_utils.labelled_layout.visible = False
63
61
  return labels_final
64
62
 
65
63
 
66
- @run
67
- async def get_labels(model_id, c=None):
68
- labels_ = await get_labels_data(model_id, c=c)
69
- labels_ = (
70
- labels_
71
- if not read_args.retriveArgs().label
72
- else list(
73
- filter(
74
- lambda x: x.get("name").lower() in read_args.retriveArgs().label,
75
- labels_,
76
- )
77
- )
78
- )
79
- return await get_posts_for_labels(labels_, model_id, c=c)
80
64
 
81
65
 
82
- @run
83
- async def get_labels_data(model_id, c=None):
84
- with progress_utils.set_up_api_labels():
85
- tasks = []
86
- tasks.append(asyncio.create_task(scrape_labels(c, model_id)))
87
- return await process_tasks_labels(tasks)
88
-
89
-
90
- @run
91
- async def get_posts_for_labels(labels, model_id, c=None):
92
- with progress_utils.set_up_api_posts_labels():
93
- tasks = []
94
- [
95
- tasks.append(asyncio.create_task(scrape_posts_labels(c, label, model_id)))
96
- for label in labels
97
- ]
98
- return await process_tasks_get_posts_for_labels(tasks, labels, model_id)
99
66
 
100
67
 
101
68
  async def process_tasks_labels(tasks):
@@ -60,29 +60,29 @@ class SessionSleep:
60
60
  log = logging.getLogger("shared")
61
61
  if not self._sleep:
62
62
  self._sleep = self._init_sleep if self._init_sleep else constants.getattr("SESSION_SLEEP_INIT")
63
- log.debug(f"too many req => setting sleep to init [{self._sleep} seconds]")
63
+ log.debug(f"too many req => setting sleep to init \\[{self._sleep} seconds]")
64
64
  elif arrow.now().float_timestamp - self._last_date.float_timestamp < self._difmin:
65
65
  log.debug(
66
- f"too many req => not changing sleep [{self._sleep} seconds] because last call less than {self._difmin} seconds"
66
+ f"too many req => not changing sleep \\[{self._sleep} seconds] because last call less than {self._difmin} seconds"
67
67
  )
68
68
  return self._sleep
69
69
  else:
70
70
  self._sleep = self._sleep * 2
71
- log.debug(f"too many req => setting sleep to [{self._sleep} seconds]")
71
+ log.debug(f"too many req => setting sleep to \\[{self._sleep} seconds]")
72
72
  self._last_date = arrow.now()
73
73
  return self._sleep
74
74
 
75
75
  async def async_do_sleep(self):
76
76
  if self._sleep:
77
77
  logging.getLogger("shared").debug(
78
- f"too many req => waiting [{self._sleep} seconds] before next req"
78
+ f"too many req => waiting \\[{self._sleep} seconds] before next req"
79
79
  )
80
80
  await asyncio.sleep(self._sleep)
81
81
 
82
82
  def do_sleep(self):
83
83
  if self._sleep:
84
84
  logging.getLogger("shared").debug(
85
- f"too many req => waiting [{self._sleep} seconds] before next req"
85
+ f"too many req => waiting \\[{self._sleep} seconds] before next req"
86
86
  )
87
87
  time.sleep(self._sleep)
88
88
 
@@ -35,7 +35,7 @@ import ofscraper.utils.system.network as network
35
35
  from ofscraper.classes.table.row_names import row_names_all
36
36
  from ofscraper.commands.helpers.strings import check_str
37
37
  from ofscraper.db.operations_.media import batch_mediainsert, get_media_ids_downloaded
38
- from ofscraper.download.shared.utils.text import textDownloader
38
+ from ofscraper.download.shared.text import textDownloader
39
39
  from ofscraper.utils.context.run_async import run
40
40
 
41
41
  log = logging.getLogger("shared")
@@ -161,7 +161,7 @@ def post_checker():
161
161
  @run
162
162
  async def post_check_runner():
163
163
  async for user_name, model_id, final_post_array in post_check_retriver():
164
- with progress_utils.setup_api_split_progress_live(stop=True):
164
+ with progress_utils.setup_api_split_progress_live(revert=True):
165
165
  progress_utils.update_activity_task(
166
166
  description=check_str.format(
167
167
  username=user_name, activity="Timeline posts"
@@ -331,7 +331,7 @@ def message_checker():
331
331
  @run
332
332
  async def message_checker_runner():
333
333
  async for user_name, model_id, final_post_array in message_check_retriver():
334
- with progress_utils.setup_api_split_progress_live(stop=True):
334
+ with progress_utils.setup_api_split_progress_live(revert=True):
335
335
  progress_utils.update_activity_task(
336
336
  description=check_str.format(username=user_name, activity="Messages")
337
337
  )
@@ -418,7 +418,7 @@ def purchase_checker():
418
418
  @run
419
419
  async def purchase_checker_runner():
420
420
  async for user_name, model_id, final_post_array in purchase_check_retriver():
421
- with progress_utils.setup_api_split_progress_live(stop=True):
421
+ with progress_utils.setup_api_split_progress_live(revert=True):
422
422
  progress_utils.update_activity_task(
423
423
  description=check_str.format(
424
424
  username=user_name, activity="Purchased posts"
@@ -482,7 +482,7 @@ def stories_checker():
482
482
  @run
483
483
  async def stories_checker_runner():
484
484
  async for user_name, model_id, final_post_array in stories_check_retriver():
485
- with progress_utils.setup_api_split_progress_live(stop=True):
485
+ with progress_utils.setup_api_split_progress_live(revert=True):
486
486
  progress_utils.update_activity_task(
487
487
  description=check_str.format(
488
488
  username=user_name, activity="Stories posts"
@@ -0,0 +1,39 @@
1
+
2
+ import logging
3
+
4
+ import ofscraper.models.selector as selector
5
+ import ofscraper.utils.args.helpers.areas as areas
6
+ import ofscraper.utils.constants as constants
7
+ import ofscraper.utils.live.screens as progress_utils
8
+ from ofscraper.commands.scraper.post import post_media_process
9
+
10
+ from ofscraper.commands.helpers.strings import (
11
+ area_str,
12
+ avatar_str,
13
+ data_str,
14
+ progress_str,
15
+ )
16
+ log = logging.getLogger("shared")
17
+ def data_helper(user):
18
+ avatar = user.avatar
19
+ username = user.name
20
+ active = user.active
21
+ final_post_areas = areas.get_final_posts_area()
22
+ length = selector.get_num_selected()
23
+ count = progress_utils.get_user_task_obj().completed
24
+
25
+
26
+ logging.getLogger("shared_other").warning(
27
+ progress_str.format(count=count + 1, length=length)
28
+ )
29
+ logging.getLogger("shared_other").warning(data_str.format(name=username))
30
+ if constants.getattr("SHOW_AVATAR") and avatar:
31
+ logging.getLogger("shared_other").warning(avatar_str.format(avatar=avatar))
32
+ progress_utils.update_activity_task(
33
+ description=area_str.format(
34
+ areas=",".join(final_post_areas), name=username, active=active
35
+ )
36
+ )
37
+ logging.getLogger("shared_other").info(
38
+ area_str.format(areas=",".join(final_post_areas), name=username, active=active)
39
+ )
@@ -0,0 +1,14 @@
1
+ import logging
2
+ import time
3
+ import ofscraper.utils.constants as constants
4
+
5
+ def final_log(data):
6
+ log = logging.getLogger("shared")
7
+ if len(data)<3:
8
+ return
9
+ elif constants.getattr("SHOW_RESULTS_LOG"):
10
+ log.warning("[bold yellow]Final Results Logs[/bold yellow]")
11
+ for record in data:
12
+ log.warning(record)
13
+ #give time for last long to process
14
+ time.sleep(3)
@@ -0,0 +1,52 @@
1
+ import logging
2
+ import traceback
3
+
4
+
5
+ import ofscraper.utils.args.read as read_args
6
+ import ofscraper.utils.constants as constants
7
+ import ofscraper.utils.live.screens as progress_utils
8
+ from ofscraper.commands.scraper.post import post_media_process
9
+
10
+ from ofscraper.commands.helpers.strings import (
11
+ avatar_str,
12
+ )
13
+ log = logging.getLogger("shared")
14
+ from ofscraper.commands.helpers.data import data_helper
15
+
16
+
17
+ def get_user_action_function(func):
18
+ async def wrapper(userdata,session,*args, **kwargs):
19
+ async with session as c:
20
+ data=["[bold yellow]Normal Mode Results[/bold yellow]"]
21
+ for ele in userdata:
22
+ try:
23
+ with progress_utils.setup_api_split_progress_live():
24
+ data_helper(ele)
25
+ all_media, posts, like_posts = await post_media_process(ele, c=c)
26
+ with progress_utils.setup_activity_group_live(revert=False):
27
+ avatar = ele.avatar
28
+ if (
29
+ constants.getattr("SHOW_AVATAR")
30
+ and avatar
31
+ and read_args.retriveArgs ().userfirst
32
+ ):
33
+ logging.getLogger("shared_other").warning(avatar_str.format(avatar=avatar))
34
+ data.extend(await func(media=all_media, posts=posts, like_posts=like_posts,ele=ele))
35
+ except Exception as e:
36
+
37
+ log.traceback_(f"failed with exception: {e}")
38
+ log.traceback_(traceback.format_exc())
39
+
40
+ if isinstance(e, KeyboardInterrupt):
41
+ raise e
42
+ finally:
43
+ progress_utils.increment_user_activity()
44
+ return data
45
+ return wrapper
46
+
47
+
48
+
49
+
50
+
51
+
52
+
@@ -0,0 +1,69 @@
1
+ import logging
2
+
3
+ import ofscraper.api.profile as profile
4
+ import ofscraper.classes.models as models
5
+ import ofscraper.commands.scraper.post as OF
6
+ import ofscraper.download.download as download
7
+ import ofscraper.models.selector as userselector
8
+ import ofscraper.utils.live.screens as progress_utils
9
+ from ofscraper.commands.helpers.strings import all_paid_download_str,metadata_activity_str, all_paid_progress_metadata_str
10
+
11
+ from ofscraper.utils.context.run_async import run
12
+
13
+ log = logging.getLogger("shared")
14
+
15
+ @run
16
+ async def process_scrape_paid():
17
+ progress_utils.update_activity_task(
18
+ description="Scraping Entire Paid page"
19
+ )
20
+ with progress_utils.setup_all_paid_database_live():
21
+ async for ele in process_paid_dict():
22
+ yield ele
23
+
24
+
25
+ async def process_paid_dict():
26
+ user_dict = await OF.process_all_paid()
27
+ length = len(list(user_dict.keys()))
28
+ progress_utils.update_activity_count(totat=length, completed=0)
29
+
30
+
31
+ for count, value in enumerate(user_dict.values()):
32
+ yield count,value,length
33
+
34
+
35
+
36
+ def process_user_info_printer(value,length,count,all_paid_activity=None,all_paid_update=None,log_progress=None):
37
+ model_id = value["model_id"]
38
+ username = value["username"]
39
+
40
+ all_paid_update=all_paid_update or all_paid_download_str
41
+ all_paid_activity=all_paid_activity or metadata_activity_str
42
+ log_progress=log_progress or all_paid_progress_metadata_str
43
+
44
+ progress_utils.update_activity_count(
45
+ totat=length,
46
+ description=all_paid_update.format(username=username),
47
+ )
48
+ progress_utils.update_activity_task(
49
+ description=(all_paid_activity.format(username=username,model_id=model_id,count=count+1,length=length)
50
+ ))
51
+ logging.getLogger("shared_other").warning(
52
+ log_progress.format(username=username,model_id=model_id,count=count+1,length=length)
53
+ )
54
+
55
+ async def process_user(value,length):
56
+ model_id = value["model_id"]
57
+ username = value["username"]
58
+ posts = value["posts"]
59
+ medias = value["medias"]
60
+
61
+ userselector.set_ALL_SUBS_DICTVManger(
62
+ {
63
+ username: models.Model(
64
+ profile.scrape_profile(model_id, refresh=False)
65
+ )
66
+ }
67
+ )
68
+ progress_utils.increment_activity_count(total=length)
69
+ return (await download.download_process(username, model_id, medias, posts=posts))
@@ -3,3 +3,8 @@ import ofscraper.utils.args.read as read_args
3
3
 
4
4
  def run_action_bool():
5
5
  return len(read_args.retriveArgs().action) > 0
6
+
7
+
8
+
9
+ def run_metadata_bool():
10
+ return read_args.retriveArgs().metadata
@@ -4,9 +4,18 @@ avatar_str = "Avatar : {avatar}"
4
4
  area_str = "Getting \[[bold blue]{areas}[/bold blue]] for [bold]{name}[/bold]\n[bold]Subscription Active:[/bold] {active}"
5
5
  all_paid_model_id_str = "getting username data for {model_id}"
6
6
  all_paid_str = "Creating databases for {username}"
7
- download_str = "Performing Downloading Action on {name}"
7
+ download_activity_str = "Performing Downloading Action on {username}"
8
8
  all_paid_download_str = "Users With paid content downloaded"
9
- metadata_str = "Updating Metadata for {username}"
9
+ all_paid_metadata_str = "Users With metadata updated downloaded"
10
+
11
+ metadata_activity_str = "Updating Metadata for {username}"
12
+
10
13
  post_str_manual = "Manual Mode: Getting media from {url}"
11
14
  download_manual_str = "Downloading individual media for {username}"
12
15
  check_str = "Checking {activity} for {username}"
16
+
17
+ all_paid_progress_download_str="\\[{model_id}_{username}] Downloading Progress :{count}/{length} models"
18
+
19
+ all_paid_progress_metadata_str="\\[{model_id}_{username}] Metadata Update Progress :{count}/{length} models"
20
+
21
+ mark_stray_str="Marking Stray Items for {username} as downloaded"
@@ -1,63 +1,17 @@
1
1
  import logging
2
2
  import traceback
3
- from itertools import chain
4
3
 
5
4
 
6
-
7
- import ofscraper.models.selector as selector
8
- import ofscraper.utils.args.helpers.areas as areas
9
5
  import ofscraper.utils.args.read as read_args
10
6
  import ofscraper.utils.constants as constants
11
7
  import ofscraper.utils.live.screens as progress_utils
12
8
  from ofscraper.commands.scraper.post import post_media_process
13
9
 
14
10
  from ofscraper.commands.helpers.strings import (
15
- area_str,
16
11
  avatar_str,
17
- data_str,
18
- progress_str,
19
12
  )
20
13
  log = logging.getLogger("shared")
21
-
22
-
23
- def get_user_action_function(func):
24
- async def wrapper(userdata,session,*args, **kwargs):
25
- async with session as c:
26
- data=[]
27
- for ele in userdata:
28
- try:
29
- with progress_utils.setup_api_split_progress_live():
30
- all_media, posts, like_posts = await post_media_process(ele, c=c)
31
- with progress_utils.setup_activity_counter_live(revert=False):
32
- avatar = ele.avatar
33
- if (
34
- constants.getattr("SHOW_AVATAR")
35
- and avatar
36
- and read_args.retriveArgs ().userfirst
37
- ):
38
- logging.getLogger("shared_other").warning(avatar_str.format(avatar=avatar))
39
- data_helper(ele)
40
- data.append(await func(all_media, posts, like_posts,ele=ele))
41
- except Exception as e:
42
-
43
- log.traceback_(f"failed with exception: {e}")
44
- log.traceback_(traceback.format_exc())
45
-
46
- if isinstance(e, KeyboardInterrupt):
47
- raise e
48
- finally:
49
- progress_utils.increment_user_activity()
50
- records=list(chain.from_iterable(data))
51
-
52
- if len(records)<2:
53
- return
54
- for record in records:
55
- log.warning(record)
56
-
57
- return wrapper
58
-
59
-
60
-
14
+ from ofscraper.commands.helpers.data import data_helper
61
15
 
62
16
  def get_userfirst_data_function(funct):
63
17
  async def wrapper(userdata, session, *args, **kwargs):
@@ -86,6 +40,7 @@ def get_userfirst_data_function(funct):
86
40
 
87
41
  def get_userfirst_action_execution_function(funct):
88
42
  async def wrapper(data,*args, **kwargs):
43
+ out=["[bold yellow]User First Results[/bold yellow]"]
89
44
  progress_utils.increment_activity_count(total=2)
90
45
  try:
91
46
  progress_utils.update_user_activity(total=len(data.items()))
@@ -103,7 +58,7 @@ def get_userfirst_action_execution_function(funct):
103
58
  logging.getLogger("shared_other").warning(avatar_str.format(avatar=avatar))
104
59
  try:
105
60
  with progress_utils.setup_activity_counter_live(revert=False):
106
- await funct(all_media, posts, like_posts,*args, ele=ele,**kwargs)
61
+ out.extend(await funct(posts, like_posts,*args,media=all_media, ele=ele,**kwargs))
107
62
  except Exception as e:
108
63
  log.traceback_(f"failed with exception: {e}")
109
64
  log.traceback_(traceback.format_exc())
@@ -118,31 +73,6 @@ def get_userfirst_action_execution_function(funct):
118
73
  raise e
119
74
  finally:
120
75
  progress_utils.increment_activity_count(description="Overall progress", total=2)
121
-
76
+ return out
122
77
  return wrapper
123
78
 
124
-
125
-
126
- def data_helper(user):
127
- avatar = user.avatar
128
- username = user.name
129
- active = user.active
130
- final_post_areas = areas.get_final_posts_area()
131
- length = selector.get_num_selected()
132
- count = progress_utils.get_user_task_obj().completed
133
-
134
-
135
- logging.getLogger("shared_other").warning(
136
- progress_str.format(count=count + 1, length=length)
137
- )
138
- logging.getLogger("shared_other").warning(data_str.format(name=username))
139
- if constants.getattr("SHOW_AVATAR") and avatar:
140
- logging.getLogger("shared_other").warning(avatar_str.format(avatar=avatar))
141
- progress_utils.update_activity_task(
142
- description=area_str.format(
143
- areas=",".join(final_post_areas), name=username, active=active
144
- )
145
- )
146
- logging.getLogger("shared_other").info(
147
- area_str.format(areas=",".join(final_post_areas), name=username, active=active)
148
- )