ofscraper 3.10.dev7__tar.gz → 3.10.dev8__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 (254) hide show
  1. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/PKG-INFO +1 -1
  2. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/config.py +1 -1
  3. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/other_url.py +1 -1
  4. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/alt_download.py +13 -5
  5. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/alt_downloadbatch.py +30 -6
  6. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/main_download.py +6 -1
  7. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/main_downloadbatch.py +12 -1
  8. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/keyhelpers.py +1 -1
  9. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/log.py +9 -9
  10. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/logs/classes.py +5 -4
  11. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/pyproject.toml +1 -1
  12. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/LICENSE +0 -0
  13. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/README.md +0 -0
  14. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/__main__.py +0 -0
  15. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/__version__.py +0 -0
  16. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/__version__.pye +0 -0
  17. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/archive.py +0 -0
  18. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/common/logs.py +0 -0
  19. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/highlights.py +0 -0
  20. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/init.py +0 -0
  21. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/labels.py +0 -0
  22. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/me.py +0 -0
  23. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/messages.py +0 -0
  24. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/paid.py +0 -0
  25. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/pinned.py +0 -0
  26. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/profile.py +0 -0
  27. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/subscriptions/helpers.py +0 -0
  28. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/subscriptions/individual.py +0 -0
  29. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/subscriptions/lists.py +0 -0
  30. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/subscriptions/subscriptions.py +0 -0
  31. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/api/timeline.py +0 -0
  32. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/base.py +0 -0
  33. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/labels.py +0 -0
  34. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/media.py +0 -0
  35. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/models.py +0 -0
  36. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/multiprocessprogress.py +0 -0
  37. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/placeholder.py +0 -0
  38. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/posts.py +0 -0
  39. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/sessionmanager.py +0 -0
  40. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/button.py +0 -0
  41. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/fields/boolfield.py +0 -0
  42. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/fields/datefield.py +0 -0
  43. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/fields/mediafield.py +0 -0
  44. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/fields/numfield.py +0 -0
  45. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/fields/pricefield.py +0 -0
  46. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/fields/responsefield.py +0 -0
  47. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/fields/selectfield.py +0 -0
  48. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/fields/textsearch.py +0 -0
  49. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/fields/timefield.py +0 -0
  50. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/inputs/filterinput.py +0 -0
  51. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/inputs/intergerinput.py +0 -0
  52. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/inputs/strinput.py +0 -0
  53. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/row_names.py +0 -0
  54. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/status.py +0 -0
  55. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/table.py +0 -0
  56. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/classes/table/table_console.py +0 -0
  57. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/check.py +0 -0
  58. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/helpers/data.py +0 -0
  59. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/helpers/final_log.py +0 -0
  60. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/helpers/normal.py +0 -0
  61. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/helpers/picker.py +0 -0
  62. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/helpers/scrape_paid.py +0 -0
  63. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/helpers/shared.py +0 -0
  64. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/helpers/strings.py +0 -0
  65. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/helpers/user_first.py +0 -0
  66. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/manual.py +0 -0
  67. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/metadata.py +0 -0
  68. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/scraper/actions/download.py +0 -0
  69. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/scraper/actions/like.py +0 -0
  70. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/scraper/post.py +0 -0
  71. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/scraper/runner.py +0 -0
  72. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/scraper/scrape_context.py +0 -0
  73. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/commands/scraper/scraper.py +0 -0
  74. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/constants.py +0 -0
  75. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/binary.py +0 -0
  76. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/date.py +0 -0
  77. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/download.py +0 -0
  78. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/files.py +0 -0
  79. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/general.py +0 -0
  80. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/like.py +0 -0
  81. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/live.py +0 -0
  82. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/logger.py +0 -0
  83. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/metadata.py +0 -0
  84. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/path.py +0 -0
  85. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/prompts.py +0 -0
  86. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/req.py +0 -0
  87. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/table.py +0 -0
  88. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/test_constants.py +0 -0
  89. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/time.py +0 -0
  90. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/const/values/url.py +0 -0
  91. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/db/__init__.py +0 -0
  92. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/db/operations.py +0 -0
  93. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/db/operations_/helpers.py +0 -0
  94. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/db/operations_/labels.py +0 -0
  95. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/db/operations_/media.py +0 -0
  96. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/db/operations_/merge.py +0 -0
  97. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/db/operations_/messages.py +0 -0
  98. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/db/operations_/others.py +0 -0
  99. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/db/operations_/posts.py +0 -0
  100. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/db/operations_/profile.py +0 -0
  101. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/db/operations_/stories.py +0 -0
  102. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/db/operations_/wrapper.py +0 -0
  103. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/download.py +0 -0
  104. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/downloadbatch.py +0 -0
  105. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/downloadnormal.py +0 -0
  106. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/alt_common.py +0 -0
  107. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/classes/retries.py +0 -0
  108. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/classes/session.py +0 -0
  109. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/general.py +0 -0
  110. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/globals/globals.py +0 -0
  111. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/handle_result.py +0 -0
  112. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/metadata.py +0 -0
  113. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/paths/media.py +0 -0
  114. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/paths/paths.py +0 -0
  115. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/progress/chunk.py +0 -0
  116. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/progress/progress.py +0 -0
  117. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/send/message.py +0 -0
  118. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/send/send_bar_msg.py +0 -0
  119. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/download/shared/text.py +0 -0
  120. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/filters/media/helpers.py +0 -0
  121. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/filters/media/main.py +0 -0
  122. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/filters/models/date.py +0 -0
  123. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/filters/models/flags.py +0 -0
  124. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/filters/models/helpers.py +0 -0
  125. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/filters/models/other.py +0 -0
  126. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/filters/models/price.py +0 -0
  127. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/filters/models/sort.py +0 -0
  128. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/filters/models/subtype.py +0 -0
  129. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/models/retriver.py +0 -0
  130. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/models/selector.py +0 -0
  131. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/helpers/model_helpers.py +0 -0
  132. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/helpers/prompt_helpers.py +0 -0
  133. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/keybindings.py +0 -0
  134. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/promptConvert.py +0 -0
  135. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/prompt_groups/actions.py +0 -0
  136. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/prompt_groups/area.py +0 -0
  137. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/prompt_groups/auth.py +0 -0
  138. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/prompt_groups/binary.py +0 -0
  139. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/prompt_groups/config.py +0 -0
  140. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/prompt_groups/menu.py +0 -0
  141. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/prompt_groups/merge.py +0 -0
  142. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/prompt_groups/model.py +0 -0
  143. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/prompt_groups/profile.py +0 -0
  144. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/prompt_strings.py +0 -0
  145. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/prompt_validators.py +0 -0
  146. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/prompts/prompts.py +0 -0
  147. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/runner/exit.py +0 -0
  148. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/runner/load.py +0 -0
  149. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/runner/run.py +0 -0
  150. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/__init__.py +0 -0
  151. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/actions.py +0 -0
  152. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/arguments/advanced_processing.py +0 -0
  153. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/arguments/advanced_program.py +0 -0
  154. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/arguments/advanced_user_filter.py +0 -0
  155. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/arguments/automatic.py +0 -0
  156. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/arguments/content.py +0 -0
  157. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/arguments/download.py +0 -0
  158. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/arguments/file.py +0 -0
  159. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/arguments/logging.py +0 -0
  160. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/arguments/media_type.py +0 -0
  161. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/arguments/program.py +0 -0
  162. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/arguments/user_list.py +0 -0
  163. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/arguments/user_select.py +0 -0
  164. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/arguments/user_sort.py +0 -0
  165. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/bundles/advanced_common.py +0 -0
  166. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/bundles/common.py +0 -0
  167. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/bundles/main.py +0 -0
  168. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/bundles/manual.py +0 -0
  169. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/bundles/message_check.py +0 -0
  170. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/bundles/metadata.py +0 -0
  171. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/bundles/paid_check.py +0 -0
  172. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/bundles/post_check.py +0 -0
  173. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/bundles/story_check.py +0 -0
  174. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/commands/main.py +0 -0
  175. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/commands/manual.py +0 -0
  176. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/commands/message.py +0 -0
  177. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/commands/metadata.py +0 -0
  178. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/commands/paid.py +0 -0
  179. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/commands/post.py +0 -0
  180. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/commands/story.py +0 -0
  181. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/globals.py +0 -0
  182. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/groups/common_args.py +0 -0
  183. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/helpers/areas.py +0 -0
  184. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/helpers/before.py +0 -0
  185. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/helpers/check.py +0 -0
  186. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/helpers/date.py +0 -0
  187. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/helpers/type.py +0 -0
  188. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/output.py +0 -0
  189. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/parse.py +0 -0
  190. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/quality.py +0 -0
  191. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/read.py +0 -0
  192. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/user.py +0 -0
  193. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/args/write.py +0 -0
  194. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/auth/context.py +0 -0
  195. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/auth/data.py +0 -0
  196. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/auth/file.py +0 -0
  197. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/auth/helpers.py +0 -0
  198. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/auth/make.py +0 -0
  199. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/auth/request.py +0 -0
  200. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/auth/schema.py +0 -0
  201. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/binaries.py +0 -0
  202. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/cache.py +0 -0
  203. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/checkers.py +0 -0
  204. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/config/config.py +0 -0
  205. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/config/context.py +0 -0
  206. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/config/custom.py +0 -0
  207. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/config/data.py +0 -0
  208. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/config/file.py +0 -0
  209. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/config/menu.py +0 -0
  210. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/config/schema.py +0 -0
  211. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/config/wrapper.py +0 -0
  212. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/console.py +0 -0
  213. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/constants.py +0 -0
  214. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/context/exit.py +0 -0
  215. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/context/run_async.py +0 -0
  216. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/context/stdout.py +0 -0
  217. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/dates.py +0 -0
  218. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/encoding.py +0 -0
  219. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/hash.py +0 -0
  220. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/live/empty.py +0 -0
  221. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/live/groups.py +0 -0
  222. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/live/live.py +0 -0
  223. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/live/panel.py +0 -0
  224. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/live/progress.py +0 -0
  225. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/live/screens.py +0 -0
  226. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/live/tasks.py +0 -0
  227. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/live/updater.py +0 -0
  228. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/logs/close.py +0 -0
  229. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/logs/globals.py +0 -0
  230. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/logs/handle.py +0 -0
  231. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/logs/helpers.py +0 -0
  232. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/logs/logger.py +0 -0
  233. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/logs/logs.py +0 -0
  234. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/logs/other.py +0 -0
  235. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/logs/stdout.py +0 -0
  236. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/manager.py +0 -0
  237. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/me.py +0 -0
  238. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/menu.py +0 -0
  239. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/merge.py +0 -0
  240. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/paths/check.py +0 -0
  241. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/paths/common.py +0 -0
  242. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/paths/manage.py +0 -0
  243. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/paths/paths.py +0 -0
  244. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/profiles/data.py +0 -0
  245. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/profiles/manage.py +0 -0
  246. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/profiles/tools.py +0 -0
  247. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/run.py +0 -0
  248. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/sems.py +0 -0
  249. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/separate.py +0 -0
  250. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/settings.py +0 -0
  251. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/system/free.py +0 -0
  252. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/system/network.py +0 -0
  253. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/system/system.py +0 -0
  254. {ofscraper-3.10.dev7 → ofscraper-3.10.dev8}/ofscraper/utils/text.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ofscraper
3
- Version: 3.10.dev7
3
+ Version: 3.10.dev8
4
4
  Summary: automatically scrape onlyfans
5
5
  Author: datawhores
6
6
  Author-email: datawhores@riseup.net
@@ -57,5 +57,5 @@ DEFAULT_LOG_LEVEL = "DEBUG"
57
57
  INCLUDE_LABELS_ALL = False
58
58
  DISCORD_THREAD_OVERRIDE = False
59
59
  DISCORD_ASYNC = False
60
- USE_CACHE_KEY = True
60
+ USE_WIV_CACHE_KEY = True
61
61
  POST_SCRIPT_DEFAULT = None
@@ -8,6 +8,6 @@ FFMPEG_WINDOWS = "https://github.com/BtbN/FFmpeg-Builds/releases/download/latest
8
8
  FFMPEG_MAC = "https://evermeet.cx/ffmpeg/#api-download"
9
9
  CDRM2 = "http://172.106.17.134:8080/wv"
10
10
  KEYDB = "https://keysdb.net/api"
11
- CDRM = "https://cdrm-project.com/wv"
11
+ CDRM = "https://old.cdrm-project.com/"
12
12
  LARGEZIP = "https://proof.ovh.net/files/100Mb.dat"
13
13
  BAD_URL_HOST = {"us.upload.onlyfans.com", "of2transcoder.s3-accelerate.amazonaws.com"}
@@ -140,23 +140,29 @@ async def alt_download_downloader(item, c, ele):
140
140
 
141
141
 
142
142
  async def resume_data_handler(data, item, c, ele, placeholderObj):
143
- item["total"] = (
143
+ common_globals.log.debug(f"{get_medialog(ele)} Resume cached data {data}")
144
+ total=(
144
145
  int(data.get("content-total")) if data.get("content-total") else None
145
146
  )
147
+ item["total"]=total
148
+
146
149
  resume_size = get_resume_size(placeholderObj, mediatype=ele.mediatype)
147
- if await check_forced_skip(ele, item["total"]) == 0:
150
+ common_globals.log.debug(f"{get_medialog(ele)} resume_size: {resume_size} and total: {total }")
151
+
152
+ if await check_forced_skip(ele, total) == 0:
148
153
  item["total"] = 0
149
154
  return item
150
- elif item["total"] == resume_size:
155
+ elif total == resume_size:
156
+ common_globals.log.debug(f"{get_medialog(ele)} total==resume_size skipping download")
157
+
151
158
  temp_file_logger(placeholderObj, ele)
152
- total = item["total"]
153
159
  (
154
160
  await common.total_change_helper(None, total)
155
161
  if common.alt_attempt_get(item).get() == 1
156
162
  else None
157
163
  )
158
164
  return item
159
- elif item["total"] != resume_size:
165
+ elif total!= resume_size:
160
166
  return await alt_download_sendreq(item, c, ele, placeholderObj)
161
167
 
162
168
 
@@ -189,6 +195,8 @@ async def alt_download_sendreq(item, c, ele, placeholderObj):
189
195
 
190
196
  async def send_req_inner(c, ele, item, placeholderObj):
191
197
  try:
198
+ common_globals.log.debug(f"{get_medialog(ele)} writing item to disk")
199
+
192
200
  resume_size = get_resume_size(placeholderObj, mediatype=ele.mediatype)
193
201
  headers = None if not resume_size else {"Range": f"bytes={resume_size}-"}
194
202
  params = {
@@ -57,8 +57,17 @@ async def alt_download(c, ele, username, model_id):
57
57
  )
58
58
  async for _ in download_retry():
59
59
  with _:
60
- sharedPlaceholderObj = await placeholder.Placeholders(ele, "mp4").init()
61
- audio, video = await ele.mpd_dict
60
+ try:
61
+ sharedPlaceholderObj = await placeholder.Placeholders(ele, "mp4").init()
62
+ audio, video = await ele.mpd_dict
63
+ except Exception as e:
64
+ common_globals.log.handlers[1].queue.put(
65
+ list(common_globals.innerlog.get().handlers[1].queue.queue)
66
+ )
67
+ common_globals.log.handlers[0].queue.put(
68
+ list(common_globals.innerlog.get().handlers[0].queue.queue)
69
+ )
70
+ raise e
62
71
  path_to_file_logger(sharedPlaceholderObj, ele, common_globals.innerlog.get())
63
72
  audio = await alt_download_downloader(audio, c, ele)
64
73
  video = await alt_download_downloader(video, c, ele)
@@ -121,24 +130,37 @@ async def alt_download_downloader(
121
130
  common_globals.innerlog.get().traceback_(
122
131
  f"{get_medialog(ele)} [attempt {_attempt.get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] {E}"
123
132
  )
133
+ common_globals.log.handlers[1].queue.put(
134
+ list(common_globals.innerlog.get().handlers[1].queue.queue)
135
+ )
136
+ common_globals.log.handlers[0].queue.put(
137
+ list(common_globals.innerlog.get().handlers[0].queue.queue)
138
+ )
124
139
  raise E
125
140
 
126
141
 
127
142
  async def resume_data_handler(data, item, c, ele, placeholderObj):
128
- item["total"] = (
143
+ common_globals.log.debug(f"{get_medialog(ele)} Resume cached data {data}")
144
+ total=(
129
145
  int(data.get("content-total")) if data.get("content-total") else None
130
146
  )
147
+ item["total"] = total
148
+
131
149
  resume_size = get_resume_size(placeholderObj, mediatype=ele.mediatype)
132
- if await check_forced_skip(ele, item["total"]) == 0:
150
+ common_globals.log.debug(f"{get_medialog(ele)} resume_size: {resume_size} and total: {total }")
151
+ if await check_forced_skip(ele,total) == 0:
133
152
  item["total"] = 0
134
153
  return item
135
- elif item["total"] == resume_size:
136
- total = item["total"]
154
+ elif total == resume_size:
155
+ common_globals.log.debug(f"{get_medialog(ele)} total==resume_size skipping download")
156
+
137
157
  (
158
+
138
159
  await common.batch_total_change_helper(None, total)
139
160
  if common.alt_attempt_get(item).get() == 1
140
161
  else None
141
162
  )
163
+ return item
142
164
  elif item["total"] != resume_size:
143
165
  return await alt_download_sendreq(item, c, ele, placeholderObj)
144
166
 
@@ -181,6 +203,8 @@ async def alt_download_sendreq(item, c, ele, placeholderObj):
181
203
 
182
204
  async def send_req_inner(c, ele, item, placeholderObj):
183
205
  try:
206
+ common_globals.log.debug(f"{get_medialog(ele)} writing item to disk")
207
+
184
208
  resume_size = get_resume_size(placeholderObj, mediatype=ele.mediatype)
185
209
  headers = None if not resume_size else {"Range": f"bytes={resume_size}-"}
186
210
  params = {
@@ -124,15 +124,19 @@ async def fresh_data_handler(c, tempholderObj, ele):
124
124
 
125
125
 
126
126
  async def resume_data_handler(data, c, tempholderObj, ele):
127
+ common_globals.log.debug(f"{get_medialog(ele)} Resume cached data {data}")
127
128
  content_type = data.get("content-type").split("/")[-1]
128
129
  total = int(data.get("content-total")) if data.get("content-total") else None
129
130
  placeholderObj = await placeholder.Placeholders(ele, content_type).init()
130
131
  resume_size = get_resume_size(tempholderObj, mediatype=ele.mediatype)
132
+ common_globals.log.debug(f"{get_medialog(ele)} resume_size: {resume_size} and total: {total}")
133
+
131
134
  # other
132
135
  if await check_forced_skip(ele, total) == 0:
133
136
  path_to_file_logger(placeholderObj, ele)
134
137
  return [0]
135
138
  elif total == resume_size:
139
+ common_globals.log.debug(f"{get_medialog(ele)} total==resume_size skipping download")
136
140
  (
137
141
  await common.total_change_helper(None, total)
138
142
  if common_globals.attempt.get() == 1
@@ -178,6 +182,8 @@ async def main_download_sendreq(c, ele, tempholderObj, total=None, placeholderOb
178
182
 
179
183
  async def send_req_inner(c, ele, tempholderObj, placeholderObj=None, total=None):
180
184
  try:
185
+ common_globals.log.debug(f"{get_medialog(ele)} writing item to disk")
186
+
181
187
  resume_size = get_resume_size(tempholderObj, mediatype=ele.mediatype)
182
188
  headers = None if not resume_size else {"Range": f"bytes={resume_size}-"}
183
189
  common_globals.log.debug(
@@ -227,7 +233,6 @@ async def download_fileobject_writer(r, ele, tempholderObj, placeholderObj, tota
227
233
  total=total,
228
234
  )
229
235
  try:
230
- loop = asyncio.get_event_loop()
231
236
  fileobject = await aiofiles.open(tempholderObj.tempfilepath, "ab").__aenter__()
232
237
  download_sleep = constants.getattr("DOWNLOAD_SLEEP")
233
238
  chunk_size = get_ideal_chunk_size(total, tempholderObj.tempfilepath)
@@ -28,7 +28,6 @@ import ofscraper.download.shared.globals.globals as common_globals
28
28
  import ofscraper.utils.cache as cache
29
29
  import ofscraper.utils.constants as constants
30
30
  import ofscraper.utils.live.screens as progress_utils
31
- import ofscraper.utils.settings as settings
32
31
  import ofscraper.utils.system.system as system
33
32
  from ofscraper.download.shared.classes.retries import download_retry
34
33
  from ofscraper.download.shared.general import (
@@ -113,6 +112,12 @@ async def main_download_downloader(c, ele):
113
112
  common_globals.innerlog.get().traceback_(
114
113
  f"{get_medialog(ele)} [attempt {common_globals.attempt.get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] {E}"
115
114
  )
115
+ common_globals.log.handlers[1].queue.put(
116
+ list(common_globals.innerlog.get().handlers[1].queue.queue)
117
+ )
118
+ common_globals.log.handlers[0].queue.put(
119
+ list(common_globals.innerlog.get().handlers[0].queue.queue)
120
+ )
116
121
  raise E
117
122
 
118
123
 
@@ -128,10 +133,13 @@ async def fresh_data_handler(c, ele, tempholderObj):
128
133
 
129
134
 
130
135
  async def resume_data_handler(data, c, ele, tempholderObj):
136
+ common_globals.log.debug(f"{get_medialog(ele)} Resume cached data {data}")
131
137
  content_type = data.get("content-type").split("/")[-1]
132
138
  total = int(data.get("content-total")) if data.get("content-total") else None
133
139
  placeholderObj = await placeholder.Placeholders(ele, content_type).init()
134
140
  resume_size = get_resume_size(tempholderObj, mediatype=ele.mediatype)
141
+ common_globals.log.debug(f"{get_medialog(ele)} resume_size: {resume_size} and total: {total}")
142
+
135
143
  # other
136
144
  if await check_forced_skip(ele, total) == 0:
137
145
  path_to_file_logger(placeholderObj, ele, common_globals.innerlog.get())
@@ -141,6 +149,7 @@ async def resume_data_handler(data, c, ele, tempholderObj):
141
149
  placeholderObj,
142
150
  )
143
151
  elif total == resume_size:
152
+ common_globals.log.debug(f"{get_medialog(ele)} total==resume_size skipping download")
144
153
  path_to_file_logger(placeholderObj, ele, common_globals.innerlog.get())
145
154
  (
146
155
  await common.batch_total_change_helper(None, total)
@@ -178,6 +187,8 @@ async def main_download_sendreq(c, ele, tempholderObj, placeholderObj=None, tota
178
187
 
179
188
  async def send_req_inner(c, ele, tempholderObj, placeholderObj=None, total=None):
180
189
  try:
190
+ common_globals.log.debug(f"{get_medialog(ele)} writing item to disk")
191
+
181
192
  resume_size = get_resume_size(tempholderObj, mediatype=ele.mediatype)
182
193
  headers = None if not resume_size else {"Range": f"bytes={resume_size}-"}
183
194
  common_globals.log.debug(
@@ -37,7 +37,7 @@ async def un_encrypt(item, c, ele, input_=None):
37
37
  await asyncio.get_event_loop().run_in_executor(
38
38
  common_globals.thread, partial(cache.get, ele.license)
39
39
  )
40
- if constants.getattr("USE_CACHE_KEY")
40
+ if constants.getattr("USE_WIV_CACHE_KEY")
41
41
  else None
42
42
  )
43
43
  if past_key:
@@ -63,27 +63,27 @@ def final_log(username, log=None):
63
63
 
64
64
  def final_log_text(username):
65
65
  total_count=common_globals.audio_count+common_globals.photo_count+common_globals.video_count
66
- size_log=f"[green]{format_size(common_globals.total_bytes )}[/green]"
66
+ size_log=f"[bold green]{format_size(common_globals.total_bytes )}[/bold green]"
67
67
 
68
68
 
69
- photo_log=f"[green]{common_globals.photo_count} photos[/green]"if common_globals.photo_count>0 else f"{common_globals.photo_count} photos"
69
+ photo_log=f"[bold green]{common_globals.photo_count} photos[/bold green]"if common_globals.photo_count>0 else f"{common_globals.photo_count} photos"
70
70
 
71
- audio_log=f"[green]{common_globals.audio_count} audios[/green]"if common_globals.audio_count>0 else f"{common_globals.audio_count} audios"
71
+ audio_log=f"[bold green]{common_globals.audio_count} audios[/bold green]"if common_globals.audio_count>0 else f"{common_globals.audio_count} audios"
72
72
 
73
73
 
74
- video_log=f"[green]{common_globals.video_count} videos[/green]"if common_globals.video_count>0 else f"{common_globals.video_count} videos"
74
+ video_log=f"[bold green]{common_globals.video_count} videos[/bold green]"if common_globals.video_count>0 else f"{common_globals.video_count} videos"
75
75
 
76
76
 
77
- failed_log=f"[red]{common_globals.video_count} failed[/red]"if common_globals.skipped>0 else f"{common_globals.skipped} failed"
77
+ failed_log=f"[bold red]{common_globals.skipped} failed[/bold red]"if common_globals.skipped>0 else f"{common_globals.skipped} failed"
78
78
 
79
79
  log_format=None
80
80
  skipped_log=""
81
81
  if read_args.retriveArgs().metadata:
82
- log_format="[blue][bold]\\[{username}][/bold] [bold]\\[Action Metadata][/bold] ({size_log}) ([green]{total_count} changed media item total[/green]\\[{video_log}, {audio_log}, {photo_log}], {skipped_log}, {failed_log}))[/blue]"
83
- skipped_log=f"[yellow]{common_globals.skipped} metadata unchanged[/yellow]"if common_globals.skipped>0 else f"{common_globals.forced_skipped} items unchanged"
82
+ log_format="[blue][bold]\\[{username}][/bold] [bold]\\[Action Metadata][/bold] ({size_log}) ([bold green]{total_count} changed media item total [/bold green]\\[{video_log}, {audio_log}, {photo_log}], {skipped_log}, {failed_log}))[/blue]"
83
+ skipped_log=f"[bold yellow]{common_globals.forced_skipped} metadata unchanged[/bold yellow]"if common_globals.forced_skipped>0 else f"{common_globals.forced_skipped} items unchanged"
84
84
  else:
85
- log_format="[blue][bold]\\[{username}][/bold][bold]\\[Action Download][/bold] ({size_log}) ([green]{total_count} downloads total[/green]\\[{video_log}, {audio_log}, {photo_log}], {skipped_log}, {failed_log}))[/blue]"
86
- skipped_log=f"[yellow]{common_globals.video_count} skipped[/yellow]"if common_globals.skipped>0 else f"{common_globals.forced_skipped} skipped"
85
+ log_format="[blue][bold]\\[{username}][/bold] [bold]\\[Action Download][/bold] ({size_log}) ([bold green]{total_count} downloads total [/bold green]\\[{video_log}, {audio_log}, {photo_log}], {skipped_log}, {failed_log}))[/blue]"
86
+ skipped_log=f"[bold yellow]{common_globals.forced_skipped} skipped[/bold yellow]"if common_globals.forced_skipped>0 else f"{common_globals.forced_skipped} skipped"
87
87
 
88
88
  return log_format.format(username=username,total_count=total_count,video_log=video_log,audio_log=audio_log,skipped_log=skipped_log,failed_log=failed_log,photo_log=photo_log,size_log=size_log)
89
89
 
@@ -267,12 +267,13 @@ class DiscordFormatter(SensitiveFormatter):
267
267
  @staticmethod
268
268
  def _filter(s):
269
269
  t = SensitiveFormatter._filter(s)
270
- t=re.sub("\\\\+","",t)
271
- t=re.sub(r"\[(bold|/?bold(?:\s\w+\s\w+)?)\]","**",t)
270
+ t=re.sub("\\\\+","\\\\",t)
271
+ t=re.sub("\[bold[^\]]*]","**",t)
272
+ t=re.sub("\[\/bold[^\]]*]","**",t)
272
273
  t=Text.from_markup(Text(t).plain).plain
274
+ t=re.sub(" +"," ",t)
273
275
  t=re.sub("\*\*+","**",t)
274
- return t
275
-
276
+ t=re.sub("\\\\+","",t)
276
277
 
277
278
 
278
279
  class LogFileFormatter(SensitiveFormatter):
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "ofscraper"
3
- version = "3.10.dev7"
3
+ version = "3.10.dev8"
4
4
  description = "automatically scrape onlyfans"
5
5
  authors = ["datawhores <datawhores@riseup.net>"]
6
6
  readme = "README.md"
File without changes
File without changes