ofscraper 3.13.dev0__tar.gz → 3.13.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 (347) hide show
  1. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/PKG-INFO +1 -1
  2. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/main/open/load.py +1 -1
  3. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/prompt_groups/config.py +15 -0
  4. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/config/data.py +8 -0
  5. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/config/schema.py +1 -0
  6. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/paths/common.py +7 -4
  7. ofscraper-3.13.dev2/ofscraper/utils/paths/manage.py +77 -0
  8. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/settings.py +1 -0
  9. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/pyproject.toml +1 -1
  10. ofscraper-3.13.dev0/ofscraper/utils/paths/manage.py +0 -28
  11. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/LICENSE +0 -0
  12. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/README.md +0 -0
  13. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/__main__.py +0 -0
  14. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/__version__.py +0 -0
  15. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/__version__.pye +0 -0
  16. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/labels.py +0 -0
  17. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/of/base.py +0 -0
  18. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/of/media.py +0 -0
  19. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/of/posts.py +0 -0
  20. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/placeholder.py +0 -0
  21. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/sessionmanager/download.py +0 -0
  22. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/sessionmanager/ofsession.py +0 -0
  23. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/sessionmanager/sessionmanager.py +0 -0
  24. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/app.py +0 -0
  25. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/compose.py +0 -0
  26. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/const.py +0 -0
  27. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/css.py +0 -0
  28. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/fields/boolfield.py +0 -0
  29. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/fields/datefield.py +0 -0
  30. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/fields/downloadfield.py +0 -0
  31. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/fields/mediafield.py +0 -0
  32. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/fields/numfield.py +0 -0
  33. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/fields/pricefield.py +0 -0
  34. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/fields/responsefield.py +0 -0
  35. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/fields/selectfield.py +0 -0
  36. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/fields/sizefield.py +0 -0
  37. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/fields/textsearch.py +0 -0
  38. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/fields/timefield.py +0 -0
  39. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/inputs/filterinput.py +0 -0
  40. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/inputs/intergerinput.py +0 -0
  41. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/inputs/strinput.py +0 -0
  42. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/sections/sidebar.py +0 -0
  43. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/sections/table.py +0 -0
  44. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/sections/table_console.py +0 -0
  45. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/utils/lock.py +0 -0
  46. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/classes/table/utils/names.py +0 -0
  47. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/check.py +0 -0
  48. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/db.py +0 -0
  49. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/manual.py +0 -0
  50. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/metadata/consumer.py +0 -0
  51. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/metadata/desc.py +0 -0
  52. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/metadata/manager.py +0 -0
  53. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/metadata/metadata.py +0 -0
  54. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/download/download.py +0 -0
  55. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/download/managers/alt_download.py +0 -0
  56. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/download/managers/downloadmanager.py +0 -0
  57. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/download/managers/main_download.py +0 -0
  58. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/download/run.py +0 -0
  59. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/download/utils/chunk.py +0 -0
  60. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/download/utils/desc.py +0 -0
  61. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/download/utils/keyhelpers.py +0 -0
  62. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/download/utils/leaky.py +0 -0
  63. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/download/utils/retries.py +0 -0
  64. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/download/utils/text.py +0 -0
  65. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/like/like.py +0 -0
  66. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/buffer.py +0 -0
  67. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/general.py +0 -0
  68. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/globals.py +0 -0
  69. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/log.py +0 -0
  70. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/params.py +0 -0
  71. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/paths/media.py +0 -0
  72. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/paths/paths.py +0 -0
  73. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/progress/convert.py +0 -0
  74. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/progress/update.py +0 -0
  75. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/retries.py +0 -0
  76. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/send/chunk.py +0 -0
  77. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/send/message.py +0 -0
  78. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/send/send_bar_msg.py +0 -0
  79. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/threads.py +0 -0
  80. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/actions/utils/workers.py +0 -0
  81. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/scraper.py +0 -0
  82. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/utils/daemon.py +0 -0
  83. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/utils/jobqueue.py +0 -0
  84. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/utils/prepare.py +0 -0
  85. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/utils/print.py +0 -0
  86. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/scraper/utils/schedule.py +0 -0
  87. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/utils/command.py +0 -0
  88. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/utils/scrape_context.py +0 -0
  89. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/commands/utils/strings.py +0 -0
  90. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/constants.py +0 -0
  91. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/action/download.py +0 -0
  92. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/action/like.py +0 -0
  93. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/action/metadata.py +0 -0
  94. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/binary.py +0 -0
  95. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/config.py +0 -0
  96. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/date.py +0 -0
  97. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/download.py +0 -0
  98. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/dynamic.py +0 -0
  99. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/general.py +0 -0
  100. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/list.py +0 -0
  101. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/live.py +0 -0
  102. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/logger.py +0 -0
  103. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/path/bytes.py +0 -0
  104. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/path/files.py +0 -0
  105. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/path/general.py +0 -0
  106. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/path/path.py +0 -0
  107. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/prompts.py +0 -0
  108. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/req/anon.py +0 -0
  109. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/req/api.py +0 -0
  110. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/req/cdm.py +0 -0
  111. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/req/discord.py +0 -0
  112. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/req/git.py +0 -0
  113. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/req/like.py +0 -0
  114. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/req/mpd.py +0 -0
  115. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/req/req.py +0 -0
  116. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/rich.py +0 -0
  117. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/system.py +0 -0
  118. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/table.py +0 -0
  119. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/test/test_constants.py +0 -0
  120. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/time.py +0 -0
  121. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/url/other_url.py +0 -0
  122. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/const/values/url/url.py +0 -0
  123. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/archive.py +0 -0
  124. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/common/after.py +0 -0
  125. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/common/cache/read.py +0 -0
  126. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/common/cache/write.py +0 -0
  127. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/common/check.py +0 -0
  128. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/common/logs/logs.py +0 -0
  129. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/common/logs/strings.py +0 -0
  130. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/common/timeline.py +0 -0
  131. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/highlights.py +0 -0
  132. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/init.py +0 -0
  133. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/labels.py +0 -0
  134. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/me.py +0 -0
  135. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/messages.py +0 -0
  136. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/paid.py +0 -0
  137. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/pinned.py +0 -0
  138. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/profile.py +0 -0
  139. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/streams.py +0 -0
  140. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/subscriptions/common.py +0 -0
  141. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/subscriptions/individual.py +0 -0
  142. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/subscriptions/lists.py +0 -0
  143. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/subscriptions/subscriptions.py +0 -0
  144. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/api/timeline.py +0 -0
  145. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/models/manager.py +0 -0
  146. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/models/models.py +0 -0
  147. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/models/utils/retriver.py +0 -0
  148. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/posts/post.py +0 -0
  149. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/data/posts/scrape_paid.py +0 -0
  150. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/__init__.py +0 -0
  151. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/backup.py +0 -0
  152. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/difference.py +0 -0
  153. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/merge.py +0 -0
  154. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/operations.py +0 -0
  155. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/operations_/empty.py +0 -0
  156. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/operations_/labels.py +0 -0
  157. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/operations_/media.py +0 -0
  158. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/operations_/messages.py +0 -0
  159. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/operations_/others.py +0 -0
  160. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/operations_/posts.py +0 -0
  161. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/operations_/profile.py +0 -0
  162. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/operations_/stories.py +0 -0
  163. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/operations_/wrapper.py +0 -0
  164. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/transition.py +0 -0
  165. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/db/utils/convert.py +0 -0
  166. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/filters/media/filters.py +0 -0
  167. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/filters/media/main.py +0 -0
  168. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/filters/models/date.py +0 -0
  169. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/filters/models/flags.py +0 -0
  170. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/filters/models/other.py +0 -0
  171. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/filters/models/price.py +0 -0
  172. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/filters/models/sort.py +0 -0
  173. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/filters/models/subtype.py +0 -0
  174. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/filters/models/utils/logs.py +0 -0
  175. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/main/close/exit.py +0 -0
  176. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/main/close/final/final.py +0 -0
  177. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/main/close/final/final_log.py +0 -0
  178. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/main/close/final/final_script.py +0 -0
  179. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/main/close/final/final_user.py +0 -0
  180. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/main/manager.py +0 -0
  181. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/main/open/run.py +0 -0
  182. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/keybindings.py +0 -0
  183. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/promptConvert.py +0 -0
  184. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/prompt_groups/actions.py +0 -0
  185. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/prompt_groups/area.py +0 -0
  186. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/prompt_groups/auth.py +0 -0
  187. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/prompt_groups/binary.py +0 -0
  188. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/prompt_groups/menu.py +0 -0
  189. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/prompt_groups/merge.py +0 -0
  190. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/prompt_groups/model.py +0 -0
  191. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/prompt_groups/profile.py +0 -0
  192. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/prompt_strings.py +0 -0
  193. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/prompt_validators.py +0 -0
  194. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/prompts.py +0 -0
  195. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/utils/model_helpers.py +0 -0
  196. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/prompts/utils/prompt_helpers.py +0 -0
  197. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/__init__.py +0 -0
  198. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/actions.py +0 -0
  199. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/ads.py +0 -0
  200. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/accessors/actions.py +0 -0
  201. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/accessors/areas.py +0 -0
  202. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/accessors/output.py +0 -0
  203. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/accessors/quality.py +0 -0
  204. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/accessors/read.py +0 -0
  205. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/accessors/time.py +0 -0
  206. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/callbacks/choice.py +0 -0
  207. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/callbacks/file.py +0 -0
  208. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/callbacks/string.py +0 -0
  209. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/callbacks/username.py +0 -0
  210. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/globals.py +0 -0
  211. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/helpers/hide_args.py +0 -0
  212. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/main.py +0 -0
  213. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/mutators/before.py +0 -0
  214. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/mutators/change.py +0 -0
  215. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/mutators/user.py +0 -0
  216. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/mutators/write.py +0 -0
  217. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/advanced_processing.py +0 -0
  218. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/advanced_program.py +0 -0
  219. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/advanced_user_filter.py +0 -0
  220. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/automatic.py +0 -0
  221. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/check.py +0 -0
  222. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/db.py +0 -0
  223. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/download.py +0 -0
  224. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/file.py +0 -0
  225. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/logging.py +0 -0
  226. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/media_content.py +0 -0
  227. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/metadata_filters.py +0 -0
  228. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/post_content.py +0 -0
  229. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/program.py +0 -0
  230. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/shared.py +0 -0
  231. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/user_list.py +0 -0
  232. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/user_select.py +0 -0
  233. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/user_sort.py +0 -0
  234. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/utils/date.py +0 -0
  235. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/arguments/utils/retry.py +0 -0
  236. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/commands/db.py +0 -0
  237. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/commands/main.py +0 -0
  238. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/commands/manual.py +0 -0
  239. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/commands/message.py +0 -0
  240. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/commands/metadata.py +0 -0
  241. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/commands/paid.py +0 -0
  242. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/commands/post.py +0 -0
  243. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/commands/story.py +0 -0
  244. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/group_bundles/advanced_common.py +0 -0
  245. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/group_bundles/check.py +0 -0
  246. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/group_bundles/common.py +0 -0
  247. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/group_bundles/db.py +0 -0
  248. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/group_bundles/main.py +0 -0
  249. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/group_bundles/manual.py +0 -0
  250. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/group_bundles/message_check.py +0 -0
  251. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/group_bundles/metadata.py +0 -0
  252. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/group_bundles/paid_check.py +0 -0
  253. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/group_bundles/post_check.py +0 -0
  254. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/group_bundles/story_check.py +0 -0
  255. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/group_bundles/utils/check.py +0 -0
  256. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/groups/advanced_processing.py +0 -0
  257. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/groups/advanced_program.py +0 -0
  258. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/groups/advanced_user_filter.py +0 -0
  259. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/groups/automatic.py +0 -0
  260. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/groups/check_content.py +0 -0
  261. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/groups/download.py +0 -0
  262. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/groups/file.py +0 -0
  263. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/groups/logging.py +0 -0
  264. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/groups/media_filter.py +0 -0
  265. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/groups/post_filter.py +0 -0
  266. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/groups/program.py +0 -0
  267. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/groups/user_list.py +0 -0
  268. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/groups/user_select.py +0 -0
  269. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/parse/groups/user_sort.py +0 -0
  270. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/types/arrow.py +0 -0
  271. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/args/types/choice.py +0 -0
  272. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/auth/data.py +0 -0
  273. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/auth/file.py +0 -0
  274. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/auth/make.py +0 -0
  275. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/auth/request.py +0 -0
  276. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/auth/schema.py +0 -0
  277. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/auth/utils/context.py +0 -0
  278. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/auth/utils/dict.py +0 -0
  279. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/auth/utils/prompt.py +0 -0
  280. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/auth/utils/warning/check.py +0 -0
  281. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/auth/utils/warning/print.py +0 -0
  282. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/auth/utils/warning/warning.py +0 -0
  283. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/binaries.py +0 -0
  284. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/cache.py +0 -0
  285. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/checkers.py +0 -0
  286. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/config/config.py +0 -0
  287. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/config/custom.py +0 -0
  288. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/config/file.py +0 -0
  289. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/config/menu.py +0 -0
  290. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/config/utils/context.py +0 -0
  291. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/config/utils/wrapper.py +0 -0
  292. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/console.py +0 -0
  293. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/constants.py +0 -0
  294. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/context/exit.py +0 -0
  295. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/context/run_async.py +0 -0
  296. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/context/stdout.py +0 -0
  297. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/dates.py +0 -0
  298. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/encoding.py +0 -0
  299. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/hash.py +0 -0
  300. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/live/classes/progress.py +0 -0
  301. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/live/classes/task.py +0 -0
  302. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/live/classes/transfercol.py +0 -0
  303. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/live/clear.py +0 -0
  304. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/live/empty.py +0 -0
  305. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/live/groups.py +0 -0
  306. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/live/live.py +0 -0
  307. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/live/panel.py +0 -0
  308. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/live/progress.py +0 -0
  309. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/live/screens.py +0 -0
  310. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/live/tasks.py +0 -0
  311. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/live/updater.py +0 -0
  312. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/classes/classes.py +0 -0
  313. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/classes/handlers/discord.py +0 -0
  314. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/classes/handlers/file.py +0 -0
  315. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/classes/handlers/pipe.py +0 -0
  316. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/classes/handlers/rich.py +0 -0
  317. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/classes/handlers/text.py +0 -0
  318. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/classes/handlers/zmq.py +0 -0
  319. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/close.py +0 -0
  320. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/globals.py +0 -0
  321. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/handle.py +0 -0
  322. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/logger.py +0 -0
  323. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/logs.py +0 -0
  324. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/other.py +0 -0
  325. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/stdout.py +0 -0
  326. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/utils/level.py +0 -0
  327. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/logs/utils/trace.py +0 -0
  328. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/manager.py +0 -0
  329. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/me.py +0 -0
  330. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/menu.py +0 -0
  331. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/merge.py +0 -0
  332. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/paths/check.py +0 -0
  333. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/paths/db.py +0 -0
  334. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/paths/paths.py +0 -0
  335. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/profiles/data.py +0 -0
  336. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/profiles/manage.py +0 -0
  337. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/profiles/tools.py +0 -0
  338. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/sems.py +0 -0
  339. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/separate.py +0 -0
  340. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/string.py +0 -0
  341. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/system/free.py +0 -0
  342. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/system/network.py +0 -0
  343. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/system/priority.py +0 -0
  344. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/system/speed.py +0 -0
  345. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/system/subprocess.py +0 -0
  346. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/system/system.py +0 -0
  347. {ofscraper-3.13.dev0 → ofscraper-3.13.dev2}/ofscraper/utils/text.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: ofscraper
3
- Version: 3.13.dev0
3
+ Version: 3.13.dev2
4
4
  Summary: automatically scrape onlyfans
5
5
  Author: datawhores
6
6
  Author-email: datawhores@riseup.net
@@ -49,7 +49,7 @@ def setLogger():
49
49
  logger.get_shared_logger()
50
50
  logs.discord_warning()
51
51
  logger.start_threads()
52
-
52
+ paths_manage.cleanup_logs()
53
53
 
54
54
  def systemSet():
55
55
  system.setName()
@@ -104,6 +104,7 @@ def funct(prompt_):
104
104
  enable_auto_after: whether to dynamically set --after: default True
105
105
  default_user_list: default user list for --action
106
106
  default_black_list: default black list for --action
107
+ logs_expire_time: max age for a log before it is autodeleted
107
108
  remove_hash_match: remove files if hash matches
108
109
  ----------------------------------------------------------
109
110
  [Response Type]
@@ -638,6 +639,20 @@ Main user list with all active+expired users can be called main or ofscraper.mai
638
639
  Active user list can be called active or ofscraper.active
639
640
  Expired user list can be called expired or ofscraper.expired
640
641
  List are case insensitive\n
642
+ """,
643
+ },
644
+
645
+ {
646
+ "type": "input",
647
+ "name": "logs_expire_time",
648
+ "message": "Logs expire Time",
649
+ "default": data.get_logs_expire_time(),
650
+ "option_instruction": """
651
+ A comma seperated list of userlists to set as black listed
652
+ Main user list with all active+expired users can be called main or ofscraper.main
653
+ Active user list can be called active or ofscraper.active
654
+ Expired user list can be called expired or ofscraper.expired
655
+ List are case insensitive\n
641
656
  """,
642
657
  },
643
658
  {
@@ -266,6 +266,14 @@ def get_default_userlist(config=None):
266
266
  )
267
267
 
268
268
 
269
+ @wrapper.config_reader
270
+ def get_logs_expire(config=None):
271
+ val = (
272
+ config.get("logs_expire_time")
273
+ if not any(x == config.get("logs_expire_time") for x in [None, ""])
274
+ else config.get("advanced_options", {}).get("logs_expire_time")
275
+ )
276
+ return val
269
277
  @wrapper.config_reader
270
278
  def get_post_download_script(config=None):
271
279
  if config is False:
@@ -64,6 +64,7 @@ def get_current_config_schema(config: dict = None) -> dict:
64
64
  "enable_auto_after": data.get_enable_after(config=config),
65
65
  "default_user_list": data.get_default_userlist(config=config),
66
66
  "default_black_list": data.get_default_blacklist(config=config),
67
+ "logs_expire_time":data.get_logs_expire(config=config)
67
68
  },
68
69
  "scripts_options": {
69
70
  "post_download_script": data.get_post_download_script(config=config),
@@ -78,15 +78,13 @@ def getlogpath():
78
78
  path = None
79
79
  if not data.get_appendlog():
80
80
  path = (
81
- get_config_home()
82
- / "logging"
81
+ get_log_folder()
83
82
  / f'{data.get_main_profile()}_{dates_manager.getLogDate().get("day")}'
84
83
  / f'ofscraper_{data.get_main_profile()}_{dates_manager.getLogDate().get("now")}.log'
85
84
  )
86
85
  else:
87
86
  path = (
88
- get_config_home()
89
- / "logging"
87
+ get_log_folder()
90
88
  / f'ofscraper_{data.get_main_profile()}_{dates_manager.getLogDate().get("day")}.log'
91
89
  )
92
90
  path = pathlib.Path(path).resolve()
@@ -94,6 +92,11 @@ def getlogpath():
94
92
  return path
95
93
 
96
94
 
95
+ def get_log_folder():
96
+ return (
97
+ get_config_home()
98
+ / "logging")
99
+
97
100
  def get_profile_path(name=None):
98
101
  if name:
99
102
  profile = get_config_home() / name
@@ -0,0 +1,77 @@
1
+ import logging
2
+ import shutil
3
+ import arrow
4
+ import traceback
5
+ import ofscraper.utils.paths.common as common_paths
6
+ import ofscraper.utils.settings as settings
7
+ import ofscraper.utils.context.stdout as stdout
8
+ import ofscraper.utils.console as console_
9
+
10
+ console=console_.get_shared_console()
11
+
12
+
13
+ def make_folders():
14
+ common_paths.get_config_folder()
15
+ create_profile_path()
16
+
17
+
18
+ def create_profile_path(name=None):
19
+ out = common_paths.get_profile_path(name)
20
+ out.mkdir(exist_ok=True, parents=True)
21
+ return out
22
+
23
+
24
+ def copy_path(source, dst):
25
+ try:
26
+ shutil.copy2(source, dst)
27
+ except OSError as e:
28
+ logging.getLogger("shared").debug("failed to copy with copy2 using copy")
29
+ logging.getLogger("shared").traceback_(e)
30
+ logging.getLogger("shared").traceback_(traceback.format_exc())
31
+ shutil.copy(source, dst)
32
+ except Exception as e:
33
+ raise e
34
+
35
+
36
+ def cleanup_logs():
37
+ """
38
+ Performs actions to cleanup logs
39
+ """
40
+ with stdout.lowstdout():
41
+ delete_old_logs()
42
+ delete_empty_folders()
43
+
44
+ def delete_old_logs():
45
+ """
46
+ Recursively finds and deletes .log files in the specified folder
47
+ that are older than the given maximum age
48
+
49
+ Also cleans up folder
50
+ """
51
+ log_path = common_paths.get_log_folder()
52
+ now = arrow.now().float_timestamp
53
+ if not settings.get_settings().logs_expire_time:
54
+ return
55
+ for log_file in log_path.rglob("*.log"): # rglob for recursive globbing
56
+ try:
57
+ if (now - log_file.stat().st_mtime) > settings.get_settings().logs_expire_time:
58
+ log_file.unlink() # pathlib's way to delete a file
59
+ console.print(f"Deleted old log file: {log_file}")
60
+ except OSError as e:
61
+ console.print(f"Error deleting file {log_file}: {e}")
62
+ def delete_empty_folders():
63
+ """
64
+ Recursively finds and deletes empty folders within thelog folder.
65
+
66
+ """
67
+ log_path = common_paths.get_log_folder()
68
+
69
+ # Iterate through all directories within the log folder and its subdirectories
70
+ for folder in sorted(log_path.rglob("*"), key=lambda p: len(str(p)), reverse=True):
71
+ if folder.is_dir() and not any(folder.iterdir()):
72
+ try:
73
+ folder.rmdir()
74
+ console.print(f"Deleted empty folder: {folder}")
75
+ except OSError as e:
76
+ console.print(f"Error deleting folder {folder}: {e}")
77
+
@@ -98,6 +98,7 @@ def setup_settings(mediatype):
98
98
  )
99
99
  merged.auto_resume = get_auto_resume(mediatype)
100
100
  merged.cached_disabled = get_auto_after_enabled()
101
+ merged.logs_expire_time=config_data.get_logs_expire()
101
102
 
102
103
  return merged
103
104
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "ofscraper"
3
- version = "3.13.dev"
3
+ version = "3.13.dev2"
4
4
  description = "automatically scrape onlyfans"
5
5
  authors = ["datawhores <datawhores@riseup.net>"]
6
6
  readme = "README.md"
@@ -1,28 +0,0 @@
1
- import logging
2
- import shutil
3
- import traceback
4
-
5
- import ofscraper.utils.paths.common as common_paths
6
-
7
-
8
- def make_folders():
9
- common_paths.get_config_folder()
10
- create_profile_path()
11
-
12
-
13
- def create_profile_path(name=None):
14
- out = common_paths.get_profile_path(name)
15
- out.mkdir(exist_ok=True, parents=True)
16
- return out
17
-
18
-
19
- def copy_path(source, dst):
20
- try:
21
- shutil.copy2(source, dst)
22
- except OSError as e:
23
- logging.getLogger("shared").debug("failed to copy with copy2 using copy")
24
- logging.getLogger("shared").traceback_(e)
25
- logging.getLogger("shared").traceback_(traceback.format_exc())
26
- shutil.copy(source, dst)
27
- except Exception as e:
28
- raise e
File without changes
File without changes