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.
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/PKG-INFO +1 -1
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/labels.py +5 -38
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/sessionmanager.py +5 -5
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/check.py +5 -5
- ofscraper-3.10.dev7/ofscraper/commands/helpers/data.py +39 -0
- ofscraper-3.10.dev7/ofscraper/commands/helpers/final_log.py +14 -0
- ofscraper-3.10.dev7/ofscraper/commands/helpers/normal.py +52 -0
- ofscraper-3.10.dev7/ofscraper/commands/helpers/scrape_paid.py +69 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/helpers/shared.py +5 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/helpers/strings.py +11 -2
- ofscraper-3.10.dev5/ofscraper/commands/helpers/context.py → ofscraper-3.10.dev7/ofscraper/commands/helpers/user_first.py +4 -74
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/metadata.py +57 -94
- ofscraper-3.10.dev7/ofscraper/commands/scraper/actions/download.py +61 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/scraper/actions/like.py +38 -9
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/scraper/post.py +2 -2
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/scraper/runner.py +30 -20
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/general.py +1 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/alt_download.py +19 -15
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/alt_downloadbatch.py +20 -14
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/download.py +2 -2
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/downloadbatch.py +7 -7
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/downloadnormal.py +6 -6
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/main_download.py +16 -15
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/main_downloadbatch.py +17 -12
- ofscraper-3.10.dev7/ofscraper/download/shared/alt_common.py +23 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/shared/classes/session.py +1 -1
- {ofscraper-3.10.dev5/ofscraper/download/shared/common → ofscraper-3.10.dev7/ofscraper/download/shared}/general.py +5 -49
- ofscraper-3.10.dev5/ofscraper/download/shared/common/alt_common.py → ofscraper-3.10.dev7/ofscraper/download/shared/handle_result.py +53 -28
- {ofscraper-3.10.dev5/ofscraper/download/shared/utils → ofscraper-3.10.dev7/ofscraper/download/shared}/keyhelpers.py +2 -2
- ofscraper-3.10.dev7/ofscraper/download/shared/log.py +108 -0
- {ofscraper-3.10.dev5/ofscraper/download/shared/utils → ofscraper-3.10.dev7/ofscraper/download/shared}/metadata.py +4 -4
- {ofscraper-3.10.dev5/ofscraper/download/shared/utils → ofscraper-3.10.dev7/ofscraper/download/shared/paths}/paths.py +2 -2
- ofscraper-3.10.dev7/ofscraper/download/shared/progress/chunk.py +66 -0
- {ofscraper-3.10.dev5/ofscraper/download/shared/utils → ofscraper-3.10.dev7/ofscraper/download/shared/progress}/progress.py +1 -1
- {ofscraper-3.10.dev5/ofscraper/download/shared/utils → ofscraper-3.10.dev7/ofscraper/download/shared/send}/message.py +1 -1
- ofscraper-3.10.dev7/ofscraper/download/shared/send/send_bar_msg.py +27 -0
- {ofscraper-3.10.dev5/ofscraper/download/shared/utils → ofscraper-3.10.dev7/ofscraper/download/shared}/text.py +1 -1
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/model.py +6 -6
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/runner/run.py +1 -1
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/empty.py +4 -2
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/live.py +5 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/classes.py +12 -10
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/pyproject.toml +1 -1
- ofscraper-3.10.dev5/ofscraper/commands/scraper/actions/download.py +0 -80
- ofscraper-3.10.dev5/ofscraper/download/shared/common/main_common.py +0 -53
- ofscraper-3.10.dev5/ofscraper/download/shared/utils/log.py +0 -89
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/LICENSE +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/README.md +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/__main__.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/__version__.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/__version__.pye +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/archive.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/common/logs.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/highlights.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/init.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/me.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/messages.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/paid.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/pinned.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/profile.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/subscriptions/helpers.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/subscriptions/individual.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/subscriptions/lists.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/subscriptions/subscriptions.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/api/timeline.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/base.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/labels.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/media.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/models.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/multiprocessprogress.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/placeholder.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/posts.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/button.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/boolfield.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/datefield.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/mediafield.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/numfield.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/pricefield.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/responsefield.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/selectfield.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/textsearch.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/fields/timefield.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/inputs/filterinput.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/inputs/intergerinput.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/inputs/strinput.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/row_names.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/status.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/table.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/classes/table/table_console.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/helpers/picker.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/manual.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/scraper/scrape_context.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/commands/scraper/scraper.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/constants.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/binary.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/config.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/date.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/download.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/files.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/like.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/live.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/logger.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/metadata.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/other_url.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/path.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/prompts.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/req.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/table.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/test_constants.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/time.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/const/values/url.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/__init__.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/helpers.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/labels.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/media.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/merge.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/messages.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/others.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/posts.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/profile.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/stories.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/db/operations_/wrapper.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/download/shared/classes/retries.py +0 -0
- {ofscraper-3.10.dev5/ofscraper/download/shared → ofscraper-3.10.dev7/ofscraper/download/shared/globals}/globals.py +0 -0
- {ofscraper-3.10.dev5/ofscraper/download/shared/utils → ofscraper-3.10.dev7/ofscraper/download/shared/paths}/media.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/media/helpers.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/media/main.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/models/date.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/models/flags.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/models/helpers.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/models/other.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/models/price.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/models/sort.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/filters/models/subtype.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/models/retriver.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/models/selector.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/helpers/model_helpers.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/helpers/prompt_helpers.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/keybindings.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/promptConvert.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/actions.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/area.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/auth.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/binary.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/config.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/menu.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/merge.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_groups/profile.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_strings.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompt_validators.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/prompts/prompts.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/runner/exit.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/runner/load.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/__init__.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/actions.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/advanced_processing.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/advanced_program.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/advanced_user_filter.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/automatic.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/content.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/download.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/file.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/logging.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/media_type.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/program.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/user_list.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/user_select.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/arguments/user_sort.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/advanced_common.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/common.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/main.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/manual.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/message_check.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/metadata.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/paid_check.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/post_check.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/bundles/story_check.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/commands/main.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/commands/manual.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/commands/message.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/commands/metadata.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/commands/paid.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/commands/post.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/commands/story.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/globals.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/groups/common_args.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/helpers/areas.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/helpers/before.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/helpers/check.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/helpers/date.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/helpers/type.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/output.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/parse.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/quality.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/read.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/user.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/args/write.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/auth/context.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/auth/data.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/auth/file.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/auth/helpers.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/auth/make.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/auth/request.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/auth/schema.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/binaries.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/cache.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/checkers.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/config.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/context.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/custom.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/data.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/file.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/menu.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/schema.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/config/wrapper.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/console.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/constants.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/context/exit.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/context/run_async.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/context/stdout.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/dates.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/encoding.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/hash.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/groups.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/panel.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/progress.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/screens.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/tasks.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/live/updater.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/close.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/globals.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/handle.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/helpers.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/logger.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/logs.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/other.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/logs/stdout.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/manager.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/me.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/menu.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/merge.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/paths/check.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/paths/common.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/paths/manage.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/paths/paths.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/profiles/data.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/profiles/manage.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/profiles/tools.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/run.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/sems.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/separate.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/settings.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/system/free.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/system/network.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/system/system.py +0 -0
- {ofscraper-3.10.dev5 → ofscraper-3.10.dev7}/ofscraper/utils/text.py +0 -0
|
@@ -27,8 +27,8 @@ log = logging.getLogger("shared")
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
@run
|
|
30
|
-
async def
|
|
31
|
-
labels_ = await
|
|
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
|
|
42
|
+
return await get_posts_for_labels(labels_, model_id, c=c)
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
@run
|
|
46
|
-
async def
|
|
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
|
|
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.
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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))
|
|
@@ -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
|
-
|
|
7
|
+
download_activity_str = "Performing Downloading Action on {username}"
|
|
8
8
|
all_paid_download_str = "Users With paid content downloaded"
|
|
9
|
-
|
|
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(
|
|
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
|
-
)
|