ofscraper 3.10.dev1__tar.gz → 3.10.dev2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/PKG-INFO +1 -1
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/sessionmanager.py +10 -8
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/scraper/actions/like.py +31 -12
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/constants.py +2 -0
- ofscraper-3.10.dev2/ofscraper/const/values/like.py +15 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/media/helpers.py +7 -6
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/pyproject.toml +1 -1
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/LICENSE +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/README.md +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/__main__.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/__version__.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/__version__.pye +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/archive.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/common/logs.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/highlights.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/init.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/labels.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/me.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/messages.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/paid.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/pinned.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/profile.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/subscriptions/helpers.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/subscriptions/individual.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/subscriptions/lists.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/subscriptions/subscriptions.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/api/timeline.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/base.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/labels.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/media.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/models.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/multiprocessprogress.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/placeholder.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/posts.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/button.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/boolfield.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/datefield.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/mediafield.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/numfield.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/pricefield.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/responsefield.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/selectfield.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/textsearch.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/fields/timefield.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/inputs/filterinput.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/inputs/intergerinput.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/inputs/strinput.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/row_names.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/status.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/table.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/classes/table/table_console.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/check.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/helpers/context.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/helpers/picker.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/helpers/shared.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/helpers/strings.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/manual.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/metadata.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/scraper/actions/download.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/scraper/post.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/scraper/runner.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/scraper/scrape_context.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/commands/scraper/scraper.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/binary.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/config.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/date.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/download.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/files.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/general.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/live.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/logger.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/metadata.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/other_url.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/path.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/prompts.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/req.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/table.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/test_constants.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/time.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/const/values/url.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/__init__.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/helpers.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/labels.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/media.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/merge.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/messages.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/others.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/posts.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/profile.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/stories.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/db/operations_/wrapper.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/alt_download.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/alt_downloadbatch.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/download.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/downloadbatch.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/downloadnormal.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/main_download.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/main_downloadbatch.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/classes/retries.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/classes/session.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/common/alt_common.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/common/general.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/common/main_common.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/globals.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/keyhelpers.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/log.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/media.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/message.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/metadata.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/paths.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/progress.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/download/shared/utils/text.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/media/main.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/models/date.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/models/flags.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/models/helpers.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/models/other.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/models/price.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/models/sort.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/filters/models/subtype.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/models/retriver.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/models/selector.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/helpers/model_helpers.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/helpers/prompt_helpers.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/keybindings.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/promptConvert.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/actions.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/area.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/auth.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/binary.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/config.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/menu.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/merge.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/model.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_groups/profile.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_strings.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompt_validators.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/prompts/prompts.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/runner/exit.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/runner/load.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/runner/run.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/__init__.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/actions.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/advanced_processing.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/advanced_program.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/advanced_user_filter.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/automatic.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/content.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/download.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/file.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/logging.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/media_type.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/program.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/user_list.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/user_select.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/user_sort.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/advanced_common.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/common.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/main.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/manual.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/message_check.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/metadata.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/paid_check.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/post_check.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/bundles/story_check.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/commands/main.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/commands/manual.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/commands/message.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/commands/metadata.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/commands/paid.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/commands/post.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/commands/story.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/globals.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/groups/common_args.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/helpers/areas.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/helpers/before.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/helpers/check.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/helpers/date.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/helpers/type.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/output.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/parse.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/quality.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/read.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/user.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/write.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/auth/context.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/auth/data.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/auth/file.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/auth/helpers.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/auth/make.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/auth/request.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/auth/schema.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/binaries.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/cache.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/checkers.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/config.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/context.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/custom.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/data.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/file.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/menu.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/schema.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/config/wrapper.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/console.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/constants.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/context/exit.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/context/run_async.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/context/stdout.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/dates.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/encoding.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/hash.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/empty.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/groups.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/live.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/panel.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/progress.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/screens.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/tasks.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/live/updater.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/classes.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/close.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/globals.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/handle.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/helpers.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/logger.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/logs.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/other.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/logs/stdout.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/manager.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/me.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/menu.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/merge.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/paths/check.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/paths/common.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/paths/manage.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/paths/paths.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/profiles/data.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/profiles/manage.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/profiles/tools.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/run.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/sems.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/separate.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/settings.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/system/free.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/system/network.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/system/system.py +0 -0
- {ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/text.py +0 -0
|
@@ -40,11 +40,13 @@ def is_rate_limited(exception):
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
class SessionSleep:
|
|
43
|
-
def __init__(self, sleep=None):
|
|
44
|
-
self._sleep =
|
|
45
|
-
self._init_sleep = sleep
|
|
43
|
+
def __init__(self, sleep=None,difmin=None):
|
|
44
|
+
self._sleep = None
|
|
45
|
+
self._init_sleep = sleep
|
|
46
46
|
self._last_date = arrow.now()
|
|
47
|
+
self._difmin=difmin if difmin!=None else constants.getattr("SESSION_SLEEP_INCREASE_TIME_DIFF")
|
|
47
48
|
self._alock = asyncio.Lock()
|
|
49
|
+
|
|
48
50
|
|
|
49
51
|
def reset_sleep(self):
|
|
50
52
|
self._sleep = self._init_sleep
|
|
@@ -56,13 +58,12 @@ class SessionSleep:
|
|
|
56
58
|
|
|
57
59
|
def toomany_req(self):
|
|
58
60
|
log = logging.getLogger("shared")
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
self._sleep = constants.getattr("SESSION_SLEEP_INIT")
|
|
61
|
+
if not self._sleep:
|
|
62
|
+
self._sleep = self._init_sleep if self._init_sleep else constants.getattr("SESSION_SLEEP_INIT")
|
|
62
63
|
log.debug(f"too many req => setting sleep to init [{self._sleep} seconds]")
|
|
63
|
-
elif arrow.now().float_timestamp - self._last_date.float_timestamp <
|
|
64
|
+
elif arrow.now().float_timestamp - self._last_date.float_timestamp < self._difmin:
|
|
64
65
|
log.debug(
|
|
65
|
-
f"too many req => not changing sleep [{self._sleep} seconds] because last call less than {
|
|
66
|
+
f"too many req => not changing sleep [{self._sleep} seconds] because last call less than {self._difmin} seconds"
|
|
66
67
|
)
|
|
67
68
|
return self._sleep
|
|
68
69
|
else:
|
|
@@ -357,6 +358,7 @@ class sessionManager:
|
|
|
357
358
|
except Exception as E:
|
|
358
359
|
if is_rate_limited(E):
|
|
359
360
|
sleeper.toomany_req()
|
|
361
|
+
|
|
360
362
|
log.traceback_(E)
|
|
361
363
|
log.traceback_(traceback.format_exc())
|
|
362
364
|
sync_sem.release()
|
|
@@ -112,18 +112,24 @@ def _like(model_id, ids: list, like_action: bool):
|
|
|
112
112
|
|
|
113
113
|
[tasks.append(functools.partial(like_func, c, id, model_id)) for id in ids]
|
|
114
114
|
count = 1
|
|
115
|
+
|
|
116
|
+
stable_sleep_duration=constants.getattr("STABLE_SLEEP_DURATION_LIKE")
|
|
117
|
+
sleep_duration_50=constants.getattr("SLEEP_DURATION_LIKE_50")
|
|
118
|
+
sleep_duration_60=constants.getattr("SLEEP_DURATION_LIKE_60")
|
|
119
|
+
sleep_duration_common=constants.getattr("COMMON_MULTIPLE_SLEEP_DURATION_LIKE")
|
|
120
|
+
|
|
115
121
|
for count, func in enumerate(tasks):
|
|
116
122
|
out = func()
|
|
117
123
|
if out == 0:
|
|
118
124
|
sleep_duration = 0
|
|
119
125
|
elif count + 1 % 60 == 0 and count + 1 % 50 == 0:
|
|
120
|
-
sleep_duration =
|
|
126
|
+
sleep_duration = sleep_duration_common
|
|
121
127
|
elif count % 60 == 0:
|
|
122
|
-
sleep_duration =
|
|
128
|
+
sleep_duration = sleep_duration_60 # Divisible by 60 - 1 second sleep
|
|
123
129
|
elif count % 50 == 0:
|
|
124
|
-
sleep_duration =
|
|
130
|
+
sleep_duration = sleep_duration_50 # Divisible by 50 - 30 seconds sleep
|
|
125
131
|
else:
|
|
126
|
-
sleep_duration =
|
|
132
|
+
sleep_duration = stable_sleep_duration
|
|
127
133
|
if out == 1:
|
|
128
134
|
progress_utils.increment_like_task(task2)
|
|
129
135
|
progress_utils.increment_like_task(task)
|
|
@@ -132,24 +138,34 @@ def _like(model_id, ids: list, like_action: bool):
|
|
|
132
138
|
|
|
133
139
|
|
|
134
140
|
def _toggle_like_requests(c, id, model_id):
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
sleeper=sessionManager.SessionSleep(
|
|
144
|
+
sleep=constants.getattr("SESSION_429_SLEEP_STARTER_VAL"),
|
|
145
|
+
difmin=constants.getattr("SESSION_429_LIKE_INCREASE_SLEEP_TIME_DIF"),
|
|
146
|
+
)
|
|
135
147
|
if not read_args.retriveArgs().force_like and cache.get(f"liked_status_{id}", None):
|
|
136
148
|
log.debug(f"ID: {id} marked as liked in cache")
|
|
137
149
|
return 0
|
|
138
|
-
sleep_duration =
|
|
139
|
-
favorited, id = _like_request(c, id, model_id)
|
|
150
|
+
sleep_duration = constants.getattr("DOUBLE_TOGGLE_SLEEP_DURATION_LIKE")
|
|
151
|
+
favorited, id = _like_request(c, id, model_id,sleeper)
|
|
140
152
|
if favorited:
|
|
141
153
|
log.debug(f"ID: {id} changed to liked")
|
|
142
154
|
out = 1
|
|
143
155
|
else:
|
|
144
156
|
log.debug(f"ID: {id} restored to liked")
|
|
145
157
|
time.sleep(sleep_duration)
|
|
146
|
-
_like_request(c, id, model_id)
|
|
158
|
+
_like_request(c, id, model_id,sleeper)
|
|
147
159
|
out = 2
|
|
148
160
|
cache.set(f"liked_status_{id}", True)
|
|
149
161
|
return out
|
|
150
162
|
|
|
151
163
|
|
|
152
164
|
def _toggle_unlike_requests(c, id, model_id):
|
|
165
|
+
sleeper=sessionManager.SessionSleep(
|
|
166
|
+
sleep=constants.getattr("SESSION_429_SLEEP_STARTER_VAL"),
|
|
167
|
+
difmin=constants.getattr("SESSION_429_LIKE_INCREASE_SLEEP_TIME_DIF")
|
|
168
|
+
)
|
|
153
169
|
if (
|
|
154
170
|
not read_args.retriveArgs().force_like
|
|
155
171
|
and cache.get(f"liked_status_{id}", None) == False
|
|
@@ -157,22 +173,25 @@ def _toggle_unlike_requests(c, id, model_id):
|
|
|
157
173
|
log.debug(f"ID: {id} marked as unliked in cache")
|
|
158
174
|
|
|
159
175
|
return 0
|
|
160
|
-
sleep_duration =
|
|
161
|
-
favorited, id = _like_request(c, id, model_id)
|
|
176
|
+
sleep_duration = constants.getattr("DOUBLE_TOGGLE_SLEEP_DURATION_LIKE")
|
|
177
|
+
favorited, id = _like_request(c, id, model_id,sleeper)
|
|
162
178
|
if not favorited:
|
|
163
179
|
log.debug(f"ID: {id} changed to unliked")
|
|
164
180
|
out = 1
|
|
165
181
|
else:
|
|
166
182
|
log.debug(f"ID: {id} restored to unlike")
|
|
167
183
|
time.sleep(sleep_duration)
|
|
168
|
-
_like_request(c, id, model_id)
|
|
184
|
+
_like_request(c, id, model_id,sleeper)
|
|
169
185
|
out = 2
|
|
170
186
|
cache.set(f"liked_status_{id}", False)
|
|
171
187
|
return out
|
|
172
188
|
|
|
173
189
|
|
|
174
|
-
def _like_request(c, id, model_id):
|
|
190
|
+
def _like_request(c, id, model_id,sleeper):
|
|
191
|
+
|
|
175
192
|
with c.requests(
|
|
176
|
-
constants.getattr("favoriteEP").format(id, model_id),
|
|
193
|
+
constants.getattr("favoriteEP").format(id, model_id),
|
|
194
|
+
method="post",sleeper=sleeper,
|
|
195
|
+
retries=constants.getattr("LIKE_MAX_RETRIES")
|
|
177
196
|
) as r:
|
|
178
197
|
return r.json_()["isFavorite"], r.json_()["id"]
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
STABLE_SLEEP_DURATION_LIKE=5
|
|
7
|
+
SLEEP_DURATION_LIKE_60=1
|
|
8
|
+
SLEEP_DURATION_LIKE_50=30
|
|
9
|
+
COMMON_MULTIPLE_SLEEP_DURATION_LIKE=40
|
|
10
|
+
DOUBLE_TOGGLE_SLEEP_DURATION_LIKE=5
|
|
11
|
+
SESSION_429_LIKE_INCREASE_SLEEP_TIME_DIF=0
|
|
12
|
+
SESSION_429_SLEEP_STARTER_VAL=8
|
|
13
|
+
LIKE_MAX_RETRIES=5
|
|
14
|
+
|
|
15
|
+
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import logging
|
|
2
|
+
from collections import defaultdict
|
|
2
3
|
import random
|
|
3
4
|
import re
|
|
4
5
|
|
|
@@ -22,13 +23,13 @@ def sort_by_date(media):
|
|
|
22
23
|
|
|
23
24
|
|
|
24
25
|
def dupefilter(media):
|
|
25
|
-
output =
|
|
26
|
-
ids = set()
|
|
26
|
+
output =defaultdict(lambda:None)
|
|
27
27
|
for item in media:
|
|
28
|
-
if not item.id
|
|
29
|
-
output.
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
if not output[item.id]:
|
|
29
|
+
output[item.id]=item
|
|
30
|
+
elif item.canview and not output[item.id].canview:
|
|
31
|
+
output[item.id]=item
|
|
32
|
+
return output.values()
|
|
32
33
|
|
|
33
34
|
|
|
34
35
|
def post_datesorter(output):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/advanced_processing.py
RENAMED
|
File without changes
|
{ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/advanced_program.py
RENAMED
|
File without changes
|
{ofscraper-3.10.dev1 → ofscraper-3.10.dev2}/ofscraper/utils/args/arguments/advanced_user_filter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|