ofscraper 3.10.dev7__tar.gz → 3.10.dev9__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.dev7 → ofscraper-3.10.dev9}/PKG-INFO +1 -1
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/helpers/strings.py +1 -1
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/metadata.py +1 -1
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/scraper/actions/like.py +1 -1
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/scraper/scraper.py +1 -1
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/config.py +1 -1
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/other_url.py +1 -1
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/alt_download.py +19 -6
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/alt_downloadbatch.py +36 -8
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/main_download.py +10 -2
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/main_downloadbatch.py +17 -1
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/keyhelpers.py +1 -1
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/log.py +9 -9
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/helpers/prompt_helpers.py +35 -35
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/auth/helpers.py +2 -2
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/live/groups.py +3 -3
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/live/panel.py +1 -1
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/logs/classes.py +5 -4
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/menu.py +1 -1
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/pyproject.toml +1 -1
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/LICENSE +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/README.md +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/__main__.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/__version__.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/__version__.pye +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/archive.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/common/logs.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/highlights.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/init.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/labels.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/me.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/messages.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/paid.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/pinned.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/profile.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/subscriptions/helpers.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/subscriptions/individual.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/subscriptions/lists.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/subscriptions/subscriptions.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/api/timeline.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/base.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/labels.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/media.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/models.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/multiprocessprogress.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/placeholder.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/posts.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/sessionmanager.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/button.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/fields/boolfield.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/fields/datefield.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/fields/mediafield.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/fields/numfield.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/fields/pricefield.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/fields/responsefield.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/fields/selectfield.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/fields/textsearch.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/fields/timefield.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/inputs/filterinput.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/inputs/intergerinput.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/inputs/strinput.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/row_names.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/status.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/table.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/classes/table/table_console.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/check.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/helpers/data.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/helpers/final_log.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/helpers/normal.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/helpers/picker.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/helpers/scrape_paid.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/helpers/shared.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/helpers/user_first.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/manual.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/scraper/actions/download.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/scraper/post.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/scraper/runner.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/commands/scraper/scrape_context.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/constants.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/binary.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/date.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/download.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/files.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/general.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/like.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/live.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/logger.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/metadata.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/path.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/prompts.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/req.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/table.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/test_constants.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/time.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/const/values/url.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/db/__init__.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/db/operations.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/db/operations_/helpers.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/db/operations_/labels.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/db/operations_/media.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/db/operations_/merge.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/db/operations_/messages.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/db/operations_/others.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/db/operations_/posts.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/db/operations_/profile.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/db/operations_/stories.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/db/operations_/wrapper.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/download.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/downloadbatch.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/downloadnormal.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/alt_common.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/classes/retries.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/classes/session.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/general.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/globals/globals.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/handle_result.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/metadata.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/paths/media.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/paths/paths.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/progress/chunk.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/progress/progress.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/send/message.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/send/send_bar_msg.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/download/shared/text.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/filters/media/helpers.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/filters/media/main.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/filters/models/date.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/filters/models/flags.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/filters/models/helpers.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/filters/models/other.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/filters/models/price.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/filters/models/sort.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/filters/models/subtype.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/models/retriver.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/models/selector.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/helpers/model_helpers.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/keybindings.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/promptConvert.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/prompt_groups/actions.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/prompt_groups/area.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/prompt_groups/auth.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/prompt_groups/binary.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/prompt_groups/config.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/prompt_groups/menu.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/prompt_groups/merge.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/prompt_groups/model.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/prompt_groups/profile.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/prompt_strings.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/prompt_validators.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/prompts/prompts.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/runner/exit.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/runner/load.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/runner/run.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/__init__.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/actions.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/arguments/advanced_processing.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/arguments/advanced_program.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/arguments/advanced_user_filter.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/arguments/automatic.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/arguments/content.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/arguments/download.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/arguments/file.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/arguments/logging.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/arguments/media_type.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/arguments/program.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/arguments/user_list.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/arguments/user_select.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/arguments/user_sort.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/bundles/advanced_common.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/bundles/common.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/bundles/main.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/bundles/manual.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/bundles/message_check.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/bundles/metadata.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/bundles/paid_check.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/bundles/post_check.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/bundles/story_check.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/commands/main.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/commands/manual.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/commands/message.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/commands/metadata.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/commands/paid.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/commands/post.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/commands/story.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/globals.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/groups/common_args.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/helpers/areas.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/helpers/before.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/helpers/check.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/helpers/date.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/helpers/type.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/output.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/parse.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/quality.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/read.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/user.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/args/write.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/auth/context.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/auth/data.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/auth/file.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/auth/make.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/auth/request.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/auth/schema.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/binaries.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/cache.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/checkers.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/config/config.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/config/context.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/config/custom.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/config/data.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/config/file.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/config/menu.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/config/schema.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/config/wrapper.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/console.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/constants.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/context/exit.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/context/run_async.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/context/stdout.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/dates.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/encoding.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/hash.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/live/empty.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/live/live.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/live/progress.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/live/screens.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/live/tasks.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/live/updater.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/logs/close.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/logs/globals.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/logs/handle.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/logs/helpers.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/logs/logger.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/logs/logs.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/logs/other.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/logs/stdout.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/manager.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/me.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/merge.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/paths/check.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/paths/common.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/paths/manage.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/paths/paths.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/profiles/data.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/profiles/manage.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/profiles/tools.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/run.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/sems.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/separate.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/settings.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/system/free.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/system/network.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/system/system.py +0 -0
- {ofscraper-3.10.dev7 → ofscraper-3.10.dev9}/ofscraper/utils/text.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
progress_str = "Progress {count}/{length}"
|
|
2
2
|
data_str = "Data Retrival on {name}"
|
|
3
3
|
avatar_str = "Avatar : {avatar}"
|
|
4
|
-
area_str = "Getting \[[bold
|
|
4
|
+
area_str = "Getting \[[bold deep_sky_blue2]{areas}[/bold deep_sky_blue2]] 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}"
|
|
@@ -205,7 +205,7 @@ async def process_ele_user_first_data_retriver(ele=None, session=None):
|
|
|
205
205
|
|
|
206
206
|
|
|
207
207
|
def process_selected_areas():
|
|
208
|
-
log.debug("[bold
|
|
208
|
+
log.debug("[bold deep_sky_blue2] Running Metadata Mode [/bold deep_sky_blue2]")
|
|
209
209
|
force_change_download()
|
|
210
210
|
progress_utils.update_activity_task(description="Running Metadata Mode")
|
|
211
211
|
with scrape_context_manager():
|
|
@@ -164,7 +164,7 @@ def get_final_like_log(like_action,username,failed,post,liked):
|
|
|
164
164
|
text_out=f"[bold]\\[{username}][/bold] [bold][Action {title}][/bold] \\[{post} post checked), ({liked_log}, {alt_liked_log}), {failed} post failed]"
|
|
165
165
|
log.warning(text_out)
|
|
166
166
|
else:
|
|
167
|
-
text_out=f"[
|
|
167
|
+
text_out=f"[deep_sky_blue2][bold]\\[{username}][/bold] [bold][Action {title}][/bold] [[yellow]{post} post checked[/yellow], ({liked_log}, {alt_liked_log}), {failed_log}][/deep_sky_blue2]"
|
|
168
168
|
log.warning(text_out)
|
|
169
169
|
return text_out
|
|
170
170
|
|
|
@@ -30,7 +30,7 @@ log = logging.getLogger("shared")
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
def process_selected_areas():
|
|
33
|
-
log.debug("[bold
|
|
33
|
+
log.debug("[bold deep_sky_blue2] Running Action Mode [/bold deep_sky_blue2]")
|
|
34
34
|
runner()
|
|
35
35
|
while True:
|
|
36
36
|
if not data.get_InfiniteLoop() or prompts.continue_prompt() == "No":
|
|
@@ -8,6 +8,6 @@ FFMPEG_WINDOWS = "https://github.com/BtbN/FFmpeg-Builds/releases/download/latest
|
|
|
8
8
|
FFMPEG_MAC = "https://evermeet.cx/ffmpeg/#api-download"
|
|
9
9
|
CDRM2 = "http://172.106.17.134:8080/wv"
|
|
10
10
|
KEYDB = "https://keysdb.net/api"
|
|
11
|
-
CDRM = "https://cdrm-project.com/
|
|
11
|
+
CDRM = "https://old.cdrm-project.com/"
|
|
12
12
|
LARGEZIP = "https://proof.ovh.net/files/100Mb.dat"
|
|
13
13
|
BAD_URL_HOST = {"us.upload.onlyfans.com", "of2transcoder.s3-accelerate.amazonaws.com"}
|
|
@@ -140,27 +140,36 @@ async def alt_download_downloader(item, c, ele):
|
|
|
140
140
|
|
|
141
141
|
|
|
142
142
|
async def resume_data_handler(data, item, c, ele, placeholderObj):
|
|
143
|
-
|
|
143
|
+
common_globals.log.debug(f"{get_medialog(ele)} Resume cached data {data}")
|
|
144
|
+
total=(
|
|
144
145
|
int(data.get("content-total")) if data.get("content-total") else None
|
|
145
146
|
)
|
|
147
|
+
item["total"]=total
|
|
148
|
+
|
|
146
149
|
resume_size = get_resume_size(placeholderObj, mediatype=ele.mediatype)
|
|
147
|
-
|
|
150
|
+
common_globals.log.debug(f"{get_medialog(ele)} resume_size: {resume_size} and total: {total }")
|
|
151
|
+
|
|
152
|
+
if await check_forced_skip(ele, total) == 0:
|
|
148
153
|
item["total"] = 0
|
|
149
154
|
return item
|
|
150
|
-
elif
|
|
155
|
+
elif total == resume_size:
|
|
156
|
+
common_globals.log.debug(f"{get_medialog(ele)} total==resume_size skipping download")
|
|
157
|
+
|
|
151
158
|
temp_file_logger(placeholderObj, ele)
|
|
152
|
-
total = item["total"]
|
|
153
159
|
(
|
|
154
160
|
await common.total_change_helper(None, total)
|
|
155
161
|
if common.alt_attempt_get(item).get() == 1
|
|
156
162
|
else None
|
|
157
163
|
)
|
|
158
164
|
return item
|
|
159
|
-
elif
|
|
165
|
+
elif total!= resume_size:
|
|
160
166
|
return await alt_download_sendreq(item, c, ele, placeholderObj)
|
|
161
167
|
|
|
162
168
|
|
|
163
169
|
async def fresh_data_handler(item, c, ele, placeholderObj):
|
|
170
|
+
common_globals.log.debug(
|
|
171
|
+
f"{get_medialog(ele)} [attempt {common_globals.attempt.get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] fresh download for media"
|
|
172
|
+
)
|
|
164
173
|
result = None
|
|
165
174
|
try:
|
|
166
175
|
result = await alt_download_sendreq(item, c, ele, placeholderObj)
|
|
@@ -189,6 +198,7 @@ async def alt_download_sendreq(item, c, ele, placeholderObj):
|
|
|
189
198
|
|
|
190
199
|
async def send_req_inner(c, ele, item, placeholderObj):
|
|
191
200
|
try:
|
|
201
|
+
|
|
192
202
|
resume_size = get_resume_size(placeholderObj, mediatype=ele.mediatype)
|
|
193
203
|
headers = None if not resume_size else {"Range": f"bytes={resume_size}-"}
|
|
194
204
|
params = {
|
|
@@ -200,7 +210,7 @@ async def send_req_inner(c, ele, item, placeholderObj):
|
|
|
200
210
|
url = f"{base_url}{item['origname']}"
|
|
201
211
|
|
|
202
212
|
common_globals.log.debug(
|
|
203
|
-
f"{get_medialog(ele)} [attempt {common.alt_attempt_get(item).get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] Downloading media with url
|
|
213
|
+
f"{get_medialog(ele)} [attempt {common.alt_attempt_get(item).get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] Downloading media with url {ele.mpd}"
|
|
204
214
|
)
|
|
205
215
|
async with c.requests_async(
|
|
206
216
|
url=url, headers=headers, params=params, forced=True
|
|
@@ -225,6 +235,9 @@ async def send_req_inner(c, ele, item, placeholderObj):
|
|
|
225
235
|
total = item["total"]
|
|
226
236
|
await common.total_change_helper(total, 0)
|
|
227
237
|
elif total != resume_size:
|
|
238
|
+
common_globals.log.debug(
|
|
239
|
+
f"{get_medialog(ele)} [attempt {common.alt_attempt_get(item).get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] writing media to disk"
|
|
240
|
+
)
|
|
228
241
|
await download_fileobject_writer(total, l, ele, placeholderObj)
|
|
229
242
|
await size_checker(placeholderObj.tempfilepath, ele, total)
|
|
230
243
|
return item
|
|
@@ -57,8 +57,17 @@ async def alt_download(c, ele, username, model_id):
|
|
|
57
57
|
)
|
|
58
58
|
async for _ in download_retry():
|
|
59
59
|
with _:
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
try:
|
|
61
|
+
sharedPlaceholderObj = await placeholder.Placeholders(ele, "mp4").init()
|
|
62
|
+
audio, video = await ele.mpd_dict
|
|
63
|
+
except Exception as e:
|
|
64
|
+
common_globals.log.handlers[1].queue.put(
|
|
65
|
+
list(common_globals.innerlog.get().handlers[1].queue.queue)
|
|
66
|
+
)
|
|
67
|
+
common_globals.log.handlers[0].queue.put(
|
|
68
|
+
list(common_globals.innerlog.get().handlers[0].queue.queue)
|
|
69
|
+
)
|
|
70
|
+
raise e
|
|
62
71
|
path_to_file_logger(sharedPlaceholderObj, ele, common_globals.innerlog.get())
|
|
63
72
|
audio = await alt_download_downloader(audio, c, ele)
|
|
64
73
|
video = await alt_download_downloader(video, c, ele)
|
|
@@ -121,29 +130,45 @@ async def alt_download_downloader(
|
|
|
121
130
|
common_globals.innerlog.get().traceback_(
|
|
122
131
|
f"{get_medialog(ele)} [attempt {_attempt.get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] {E}"
|
|
123
132
|
)
|
|
133
|
+
common_globals.log.handlers[1].queue.put(
|
|
134
|
+
list(common_globals.innerlog.get().handlers[1].queue.queue)
|
|
135
|
+
)
|
|
136
|
+
common_globals.log.handlers[0].queue.put(
|
|
137
|
+
list(common_globals.innerlog.get().handlers[0].queue.queue)
|
|
138
|
+
)
|
|
124
139
|
raise E
|
|
125
140
|
|
|
126
141
|
|
|
127
142
|
async def resume_data_handler(data, item, c, ele, placeholderObj):
|
|
128
|
-
|
|
143
|
+
common_globals.log.debug(f"{get_medialog(ele)} Resume cached data {data}")
|
|
144
|
+
total=(
|
|
129
145
|
int(data.get("content-total")) if data.get("content-total") else None
|
|
130
146
|
)
|
|
147
|
+
item["total"] = total
|
|
148
|
+
|
|
131
149
|
resume_size = get_resume_size(placeholderObj, mediatype=ele.mediatype)
|
|
132
|
-
|
|
150
|
+
common_globals.log.debug(f"{get_medialog(ele)} resume_size: {resume_size} and total: {total }")
|
|
151
|
+
if await check_forced_skip(ele,total) == 0:
|
|
133
152
|
item["total"] = 0
|
|
134
153
|
return item
|
|
135
|
-
elif
|
|
136
|
-
total
|
|
154
|
+
elif total == resume_size:
|
|
155
|
+
common_globals.log.debug(f"{get_medialog(ele)} total==resume_size skipping download")
|
|
156
|
+
|
|
137
157
|
(
|
|
158
|
+
|
|
138
159
|
await common.batch_total_change_helper(None, total)
|
|
139
160
|
if common.alt_attempt_get(item).get() == 1
|
|
140
161
|
else None
|
|
141
162
|
)
|
|
163
|
+
return item
|
|
142
164
|
elif item["total"] != resume_size:
|
|
143
165
|
return await alt_download_sendreq(item, c, ele, placeholderObj)
|
|
144
166
|
|
|
145
167
|
|
|
146
168
|
async def fresh_data_handler(item, c, ele, placeholderObj):
|
|
169
|
+
common_globals.log.debug(
|
|
170
|
+
f"{get_medialog(ele)} [attempt {common_globals.attempt.get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] fresh download for media"
|
|
171
|
+
)
|
|
147
172
|
result = None
|
|
148
173
|
try:
|
|
149
174
|
result = await alt_download_sendreq(item, c, ele, placeholderObj)
|
|
@@ -180,7 +205,7 @@ async def alt_download_sendreq(item, c, ele, placeholderObj):
|
|
|
180
205
|
|
|
181
206
|
|
|
182
207
|
async def send_req_inner(c, ele, item, placeholderObj):
|
|
183
|
-
try:
|
|
208
|
+
try:
|
|
184
209
|
resume_size = get_resume_size(placeholderObj, mediatype=ele.mediatype)
|
|
185
210
|
headers = None if not resume_size else {"Range": f"bytes={resume_size}-"}
|
|
186
211
|
params = {
|
|
@@ -192,7 +217,7 @@ async def send_req_inner(c, ele, item, placeholderObj):
|
|
|
192
217
|
url = f"{base_url}{item['origname']}"
|
|
193
218
|
|
|
194
219
|
common_globals.log.debug(
|
|
195
|
-
f"{get_medialog(ele)} [attempt {common.alt_attempt_get(item).get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] Downloading media with url
|
|
220
|
+
f"{get_medialog(ele)} [attempt {common.alt_attempt_get(item).get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] Downloading media with url {ele.mpd}"
|
|
196
221
|
)
|
|
197
222
|
|
|
198
223
|
async with c.requests_async(
|
|
@@ -218,6 +243,9 @@ async def send_req_inner(c, ele, item, placeholderObj):
|
|
|
218
243
|
total = item["total"]
|
|
219
244
|
await common.batch_total_change_helper(total, 0)
|
|
220
245
|
elif total != resume_size:
|
|
246
|
+
common_globals.log.debug(
|
|
247
|
+
f"{get_medialog(ele)} [attempt {common.alt_attempt_get(item).get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] writing media to disk"
|
|
248
|
+
)
|
|
221
249
|
await download_fileobject_writer(total, l, ele, placeholderObj)
|
|
222
250
|
await size_checker(placeholderObj.tempfilepath, ele, total)
|
|
223
251
|
return item
|
|
@@ -113,6 +113,9 @@ async def main_download_downloader(c, ele):
|
|
|
113
113
|
|
|
114
114
|
|
|
115
115
|
async def fresh_data_handler(c, tempholderObj, ele):
|
|
116
|
+
common_globals.log.debug(
|
|
117
|
+
f"{get_medialog(ele)} [attempt {common_globals.attempt.get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] fresh download for media"
|
|
118
|
+
)
|
|
116
119
|
result = None
|
|
117
120
|
try:
|
|
118
121
|
result = await main_download_sendreq(
|
|
@@ -124,15 +127,19 @@ async def fresh_data_handler(c, tempholderObj, ele):
|
|
|
124
127
|
|
|
125
128
|
|
|
126
129
|
async def resume_data_handler(data, c, tempholderObj, ele):
|
|
130
|
+
common_globals.log.debug(f"{get_medialog(ele)} Resume cached data {data}")
|
|
127
131
|
content_type = data.get("content-type").split("/")[-1]
|
|
128
132
|
total = int(data.get("content-total")) if data.get("content-total") else None
|
|
129
133
|
placeholderObj = await placeholder.Placeholders(ele, content_type).init()
|
|
130
134
|
resume_size = get_resume_size(tempholderObj, mediatype=ele.mediatype)
|
|
135
|
+
common_globals.log.debug(f"{get_medialog(ele)} resume_size: {resume_size} and total: {total}")
|
|
136
|
+
|
|
131
137
|
# other
|
|
132
138
|
if await check_forced_skip(ele, total) == 0:
|
|
133
139
|
path_to_file_logger(placeholderObj, ele)
|
|
134
140
|
return [0]
|
|
135
141
|
elif total == resume_size:
|
|
142
|
+
common_globals.log.debug(f"{get_medialog(ele)} total==resume_size skipping download")
|
|
136
143
|
(
|
|
137
144
|
await common.total_change_helper(None, total)
|
|
138
145
|
if common_globals.attempt.get() == 1
|
|
@@ -208,7 +215,9 @@ async def send_req_inner(c, ele, tempholderObj, placeholderObj=None, total=None)
|
|
|
208
215
|
total = 0
|
|
209
216
|
await common.total_change_helper(total, 0)
|
|
210
217
|
elif total != resume_size:
|
|
211
|
-
|
|
218
|
+
common_globals.log.debug(
|
|
219
|
+
f"{get_medialog(ele)} [attempt {common_globals.attempt.get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] writing to media to disk"
|
|
220
|
+
)
|
|
212
221
|
await download_fileobject_writer(
|
|
213
222
|
r, ele, tempholderObj, placeholderObj, total
|
|
214
223
|
)
|
|
@@ -227,7 +236,6 @@ async def download_fileobject_writer(r, ele, tempholderObj, placeholderObj, tota
|
|
|
227
236
|
total=total,
|
|
228
237
|
)
|
|
229
238
|
try:
|
|
230
|
-
loop = asyncio.get_event_loop()
|
|
231
239
|
fileobject = await aiofiles.open(tempholderObj.tempfilepath, "ab").__aenter__()
|
|
232
240
|
download_sleep = constants.getattr("DOWNLOAD_SLEEP")
|
|
233
241
|
chunk_size = get_ideal_chunk_size(total, tempholderObj.tempfilepath)
|
|
@@ -28,7 +28,6 @@ import ofscraper.download.shared.globals.globals as common_globals
|
|
|
28
28
|
import ofscraper.utils.cache as cache
|
|
29
29
|
import ofscraper.utils.constants as constants
|
|
30
30
|
import ofscraper.utils.live.screens as progress_utils
|
|
31
|
-
import ofscraper.utils.settings as settings
|
|
32
31
|
import ofscraper.utils.system.system as system
|
|
33
32
|
from ofscraper.download.shared.classes.retries import download_retry
|
|
34
33
|
from ofscraper.download.shared.general import (
|
|
@@ -113,11 +112,21 @@ async def main_download_downloader(c, ele):
|
|
|
113
112
|
common_globals.innerlog.get().traceback_(
|
|
114
113
|
f"{get_medialog(ele)} [attempt {common_globals.attempt.get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] {E}"
|
|
115
114
|
)
|
|
115
|
+
common_globals.log.handlers[1].queue.put(
|
|
116
|
+
list(common_globals.innerlog.get().handlers[1].queue.queue)
|
|
117
|
+
)
|
|
118
|
+
common_globals.log.handlers[0].queue.put(
|
|
119
|
+
list(common_globals.innerlog.get().handlers[0].queue.queue)
|
|
120
|
+
)
|
|
116
121
|
raise E
|
|
117
122
|
|
|
118
123
|
|
|
119
124
|
async def fresh_data_handler(c, ele, tempholderObj):
|
|
125
|
+
common_globals.log.debug(
|
|
126
|
+
f"{get_medialog(ele)} [attempt {common_globals.attempt.get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] fresh download for media {ele.url}"
|
|
127
|
+
)
|
|
120
128
|
result = None
|
|
129
|
+
|
|
121
130
|
try:
|
|
122
131
|
result = await main_download_sendreq(
|
|
123
132
|
c, ele, tempholderObj, placeholderObj=None, total=None
|
|
@@ -128,10 +137,13 @@ async def fresh_data_handler(c, ele, tempholderObj):
|
|
|
128
137
|
|
|
129
138
|
|
|
130
139
|
async def resume_data_handler(data, c, ele, tempholderObj):
|
|
140
|
+
common_globals.log.debug(f"{get_medialog(ele)} Resume cached data {data}")
|
|
131
141
|
content_type = data.get("content-type").split("/")[-1]
|
|
132
142
|
total = int(data.get("content-total")) if data.get("content-total") else None
|
|
133
143
|
placeholderObj = await placeholder.Placeholders(ele, content_type).init()
|
|
134
144
|
resume_size = get_resume_size(tempholderObj, mediatype=ele.mediatype)
|
|
145
|
+
common_globals.log.debug(f"{get_medialog(ele)} resume_size: {resume_size} and total: {total}")
|
|
146
|
+
|
|
135
147
|
# other
|
|
136
148
|
if await check_forced_skip(ele, total) == 0:
|
|
137
149
|
path_to_file_logger(placeholderObj, ele, common_globals.innerlog.get())
|
|
@@ -141,6 +153,7 @@ async def resume_data_handler(data, c, ele, tempholderObj):
|
|
|
141
153
|
placeholderObj,
|
|
142
154
|
)
|
|
143
155
|
elif total == resume_size:
|
|
156
|
+
common_globals.log.debug(f"{get_medialog(ele)} total==resume_size skipping download")
|
|
144
157
|
path_to_file_logger(placeholderObj, ele, common_globals.innerlog.get())
|
|
145
158
|
(
|
|
146
159
|
await common.batch_total_change_helper(None, total)
|
|
@@ -209,6 +222,9 @@ async def send_req_inner(c, ele, tempholderObj, placeholderObj=None, total=None)
|
|
|
209
222
|
total = 0
|
|
210
223
|
await common.batch_total_change_helper(total, 0)
|
|
211
224
|
elif total != resume_size:
|
|
225
|
+
common_globals.log.debug(
|
|
226
|
+
f"{get_medialog(ele)} [attempt {common_globals.attempt.get()}/{constants.getattr('DOWNLOAD_FILE_NUM_TRIES')}] writing media to disk"
|
|
227
|
+
)
|
|
212
228
|
await download_fileobject_writer(
|
|
213
229
|
r, ele, total, tempholderObj, placeholderObj
|
|
214
230
|
)
|
|
@@ -37,7 +37,7 @@ async def un_encrypt(item, c, ele, input_=None):
|
|
|
37
37
|
await asyncio.get_event_loop().run_in_executor(
|
|
38
38
|
common_globals.thread, partial(cache.get, ele.license)
|
|
39
39
|
)
|
|
40
|
-
if constants.getattr("
|
|
40
|
+
if constants.getattr("USE_WIV_CACHE_KEY")
|
|
41
41
|
else None
|
|
42
42
|
)
|
|
43
43
|
if past_key:
|
|
@@ -63,27 +63,27 @@ def final_log(username, log=None):
|
|
|
63
63
|
|
|
64
64
|
def final_log_text(username):
|
|
65
65
|
total_count=common_globals.audio_count+common_globals.photo_count+common_globals.video_count
|
|
66
|
-
size_log=f"[green]{format_size(common_globals.total_bytes )}[/green]"
|
|
66
|
+
size_log=f"[bold green]{format_size(common_globals.total_bytes )}[/bold green]"
|
|
67
67
|
|
|
68
68
|
|
|
69
|
-
photo_log=f"[green]{common_globals.photo_count} photos[/green]"if common_globals.photo_count>0 else f"{common_globals.photo_count} photos"
|
|
69
|
+
photo_log=f"[bold green]{common_globals.photo_count} photos[/bold green]"if common_globals.photo_count>0 else f"{common_globals.photo_count} photos"
|
|
70
70
|
|
|
71
|
-
audio_log=f"[green]{common_globals.audio_count} audios[/green]"if common_globals.audio_count>0 else f"{common_globals.audio_count} audios"
|
|
71
|
+
audio_log=f"[bold green]{common_globals.audio_count} audios[/bold green]"if common_globals.audio_count>0 else f"{common_globals.audio_count} audios"
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
video_log=f"[green]{common_globals.video_count} videos[/green]"if common_globals.video_count>0 else f"{common_globals.video_count} videos"
|
|
74
|
+
video_log=f"[bold green]{common_globals.video_count} videos[/bold green]"if common_globals.video_count>0 else f"{common_globals.video_count} videos"
|
|
75
75
|
|
|
76
76
|
|
|
77
|
-
failed_log=f"[red]{common_globals.
|
|
77
|
+
failed_log=f"[bold red]{common_globals.skipped} failed[/bold red]"if common_globals.skipped>0 else f"{common_globals.skipped} failed"
|
|
78
78
|
|
|
79
79
|
log_format=None
|
|
80
80
|
skipped_log=""
|
|
81
81
|
if read_args.retriveArgs().metadata:
|
|
82
|
-
log_format="[
|
|
83
|
-
skipped_log=f"[yellow]{common_globals.
|
|
82
|
+
log_format="[deep_sky_blue2][bold]\\[{username}][/bold] [bold]\\[Action Metadata][/bold] ({size_log}) ([bold green]{total_count} changed media item total [/bold green]\\[{video_log}, {audio_log}, {photo_log}], {skipped_log}, {failed_log}))[/deep_sky_blue2]"
|
|
83
|
+
skipped_log=f"[bold yellow]{common_globals.forced_skipped} metadata unchanged[/bold yellow]"if common_globals.forced_skipped>0 else f"{common_globals.forced_skipped} items unchanged"
|
|
84
84
|
else:
|
|
85
|
-
log_format="[
|
|
86
|
-
skipped_log=f"[yellow]{common_globals.
|
|
85
|
+
log_format="[deep_sky_blue2][bold]\\[{username}][/bold] [bold]\\[Action Download][/bold] ({size_log}) ([bold green]{total_count} downloads total [/bold green]\\[{video_log}, {audio_log}, {photo_log}], {skipped_log}, {failed_log}))[/deep_sky_blue2]"
|
|
86
|
+
skipped_log=f"[bold yellow]{common_globals.forced_skipped} skipped[/bold yellow]"if common_globals.forced_skipped>0 else f"{common_globals.forced_skipped} skipped"
|
|
87
87
|
|
|
88
88
|
return log_format.format(username=username,total_count=total_count,video_log=video_log,audio_log=audio_log,skipped_log=skipped_log,failed_log=failed_log,photo_log=photo_log,size_log=size_log)
|
|
89
89
|
|
|
@@ -26,36 +26,36 @@ def model_details(prompt_):
|
|
|
26
26
|
f"""
|
|
27
27
|
========================================================================================================================================
|
|
28
28
|
|
|
29
|
-
Name: [bold
|
|
29
|
+
Name: [bold deep_sky_blue2]{selected.name}[/bold deep_sky_blue2]
|
|
30
30
|
----------------------------------------------------------------------------------------------------------------------------------------
|
|
31
|
-
ID: [bold
|
|
31
|
+
ID: [bold deep_sky_blue2]{selected.id}[/bold deep_sky_blue2]
|
|
32
32
|
----------------------------------------------------------------------------------------------------------------------------------------
|
|
33
|
-
Renewed Date: [bold
|
|
33
|
+
Renewed Date: [bold deep_sky_blue2]{selected.renewed_string}[/bold deep_sky_blue2]
|
|
34
34
|
----------------------------------------------------------------------------------------------------------------------------------------
|
|
35
|
-
Subscribed Date: [bold
|
|
35
|
+
Subscribed Date: [bold deep_sky_blue2]{selected.subscribed_string}[/bold deep_sky_blue2]
|
|
36
36
|
----------------------------------------------------------------------------------------------------------------------------------------
|
|
37
|
-
Expired Date: [bold
|
|
37
|
+
Expired Date: [bold deep_sky_blue2]{selected.expired_string}[/bold deep_sky_blue2]
|
|
38
38
|
----------------------------------------------------------------------------------------------------------------------------------------
|
|
39
|
-
Last Seen: [bold
|
|
39
|
+
Last Seen: [bold deep_sky_blue2] {selected.last_seen_formatted}[/bold deep_sky_blue2]
|
|
40
40
|
----------------------------------------------------------------------------------------------------------------------------------------
|
|
41
|
-
Original Sub Price: [bold
|
|
41
|
+
Original Sub Price: [bold deep_sky_blue2]{selected.sub_price}[/bold deep_sky_blue2] [Current Subscription Price]
|
|
42
42
|
----------------------------------------------------------------------------------------------------------------------------------------
|
|
43
|
-
Original Regular Price: [bold
|
|
43
|
+
Original Regular Price: [bold deep_sky_blue2]{selected.regular_price}[/bold deep_sky_blue2] [Regular Subscription Price Set By Model]
|
|
44
44
|
----------------------------------------------------------------------------------------------------------------------------------------
|
|
45
|
-
Original Claimable Promo Price: [bold
|
|
45
|
+
Original Claimable Promo Price: [bold deep_sky_blue2]{selected.lowest_promo_claim}[/bold deep_sky_blue2] [Lowest Promotional Price Marked as Claimable]
|
|
46
46
|
----------------------------------------------------------------------------------------------------------------------------------------
|
|
47
|
-
Original Any Promo Price: [bold
|
|
47
|
+
Original Any Promo Price: [bold deep_sky_blue2]{selected.lowest_promo_all}[/bold deep_sky_blue2] [Lowest of Any Promotional Price]
|
|
48
48
|
=======================================================================================================================================
|
|
49
49
|
|
|
50
50
|
[italic yellow]Final Prices Detail =>[ https://of-scraper.gitbook.io/of-scraper/batch-scraping-and-bot-actions/model-selection-sorting/price-filtering-sort][/italic yellow]
|
|
51
51
|
---------------------------------------------------------------------------------------------------------------------------------------
|
|
52
|
-
Final Current Price: [bold
|
|
52
|
+
Final Current Price: [bold deep_sky_blue2]{selected.final_current_price}[/bold deep_sky_blue2] [Sub Price or Lowest Claimable Promo Price or Regular Price| See Final Price Details]
|
|
53
53
|
----------------------------------------------------------------------------------------------------------------------------------------
|
|
54
|
-
Final Promo Price: [bold
|
|
54
|
+
Final Promo Price: [bold deep_sky_blue2]{selected.final_promo_price}[/bold deep_sky_blue2] [Lowest Any Promo Price or Regular Price | See Final Price Details]
|
|
55
55
|
----------------------------------------------------------------------------------------------------------------------------------------
|
|
56
|
-
Final Renewal Price: [bold
|
|
56
|
+
Final Renewal Price: [bold deep_sky_blue2]{selected.final_renewal_price}[/bold deep_sky_blue2] [Lowest Claimable Promo or Regular Price | See Final Price Details]
|
|
57
57
|
----------------------------------------------------------------------------------------------------------------------------------------
|
|
58
|
-
Final Regular Price: [bold
|
|
58
|
+
Final Regular Price: [bold deep_sky_blue2]{selected.final_regular_price}[/bold deep_sky_blue2] [Regular Price | See Final Price Details]
|
|
59
59
|
=======================================================================================================================================
|
|
60
60
|
|
|
61
61
|
PRESS ENTER TO RETURN
|
|
@@ -75,16 +75,16 @@ def price_info(prompt_):
|
|
|
75
75
|
[italic yellow]Final Prices Detail =>[ https://of-scraper.gitbook.io/of-scraper/batch-scraping-and-bot-actions/model-selection-sorting/price-filtering-sort][/italic yellow]
|
|
76
76
|
|
|
77
77
|
---------------------------------------------------------------------------------------
|
|
78
|
-
current_price => [bold
|
|
78
|
+
current_price => [bold deep_sky_blue2]{read_args.retriveArgs().current_price if read_args.retriveArgs().current_price else 'paid and free'}[/bold deep_sky_blue2]
|
|
79
79
|
[Sub Price or Lowest Claimable Promo Price or Regular Price| See Final Price Details]
|
|
80
80
|
---------------------------------------------------------------------------------------
|
|
81
|
-
promo_price => [bold
|
|
81
|
+
promo_price => [bold deep_sky_blue2]{read_args.retriveArgs().promo_price if read_args.retriveArgs().promo_price else 'paid and free'}[/bold deep_sky_blue2]
|
|
82
82
|
[Lowest Any Promo Price or Regular Price | See Final Price Details]
|
|
83
83
|
---------------------------------------------------------------------------------------
|
|
84
|
-
regular_price => [bold
|
|
84
|
+
regular_price => [bold deep_sky_blue2]{read_args.retriveArgs().regular_price if read_args.retriveArgs().regular_price else 'paid and free'}[/bold deep_sky_blue2]
|
|
85
85
|
[Lowest Claimable Promo or Regular Price | See Final Price Details]
|
|
86
86
|
---------------------------------------------------------------------------------------
|
|
87
|
-
renewal_price => [bold
|
|
87
|
+
renewal_price => [bold deep_sky_blue2]{read_args.retriveArgs().renewal_price if read_args.retriveArgs().renewal_price else 'paid and free'}[/bold deep_sky_blue2]
|
|
88
88
|
[Regular Price | See Final Price Details]
|
|
89
89
|
==========================================================================================================================================
|
|
90
90
|
|
|
@@ -103,9 +103,9 @@ def sort_info(prompt_):
|
|
|
103
103
|
f"""
|
|
104
104
|
========================================================================================================================================
|
|
105
105
|
|
|
106
|
-
sorting by => [bold
|
|
106
|
+
sorting by => [bold deep_sky_blue2]{read_args.retriveArgs().sort}[/bold deep_sky_blue2]
|
|
107
107
|
---------------------------------------------------------------------------------------
|
|
108
|
-
sorting direction => [bold
|
|
108
|
+
sorting direction => [bold deep_sky_blue2]{'desc' if read_args.retriveArgs().desc else 'asc'}[/bold deep_sky_blue2]
|
|
109
109
|
========================================================================================================================================
|
|
110
110
|
PRESS ENTER TO RETURN
|
|
111
111
|
|
|
@@ -231,47 +231,47 @@ def get_current_filters(prompt_):
|
|
|
231
231
|
f"""
|
|
232
232
|
========================================================================================================================================
|
|
233
233
|
|
|
234
|
-
subscription => [bold
|
|
234
|
+
subscription => [bold deep_sky_blue2]{'active' if read_args.retriveArgs().sub_status else 'expired' if read_args.retriveArgs().sub_status is False else 'expired and active'}[/bold deep_sky_blue2]
|
|
235
235
|
---------------------------------------------------------------------------------------
|
|
236
|
-
renew => [bold
|
|
236
|
+
renew => [bold deep_sky_blue2]{'renew on' if read_args.retriveArgs().renewal else 'renew off' if read_args.retriveArgs().renewal is False else 'renew on/off'}[/bold deep_sky_blue2]
|
|
237
237
|
==========================================================================================================================================
|
|
238
238
|
|
|
239
|
-
user-list in use=> [bold
|
|
239
|
+
user-list in use=> [bold deep_sky_blue2]{settings.get_userlist() or 'no userlist'}[/bold deep_sky_blue2]
|
|
240
240
|
---------------------------------------------------------------------------------------
|
|
241
|
-
black-list in use=> [bold
|
|
241
|
+
black-list in use=> [bold deep_sky_blue2]{settings.get_blacklist() or 'no blacklist'}[/bold deep_sky_blue2]
|
|
242
242
|
==========================================================================================================================================
|
|
243
243
|
|
|
244
|
-
promo status => [bold
|
|
244
|
+
promo status => [bold deep_sky_blue2]{'promo on' if read_args.retriveArgs().promo else 'promo off' if read_args.retriveArgs().promo is False else 'promo off/on'}[/bold deep_sky_blue2]
|
|
245
245
|
---------------------------------------------------------------------------------------
|
|
246
|
-
all promo status => [bold
|
|
246
|
+
all promo status => [bold deep_sky_blue2]{'all promo on' if read_args.retriveArgs().all_promo else 'all promo off' if read_args.retriveArgs().all_promo is False else 'all promo off/on'}[/bold deep_sky_blue2]
|
|
247
247
|
==========================================================================================================================================
|
|
248
248
|
|
|
249
|
-
last-seen => [bold
|
|
249
|
+
last-seen => [bold deep_sky_blue2]{read_args.retriveArgs().last_seen}[/bold deep_sky_blue2]
|
|
250
250
|
---------------------------------------------------------------------------------------
|
|
251
|
-
last-seen-before => [bold
|
|
251
|
+
last-seen-before => [bold deep_sky_blue2]{read_args.retriveArgs().last_seen_before}[/bold deep_sky_blue2]
|
|
252
252
|
---------------------------------------------------------------------------------------
|
|
253
|
-
last-seen-after => [bold
|
|
253
|
+
last-seen-after => [bold deep_sky_blue2]{read_args.retriveArgs().last_seen_after}[/bold deep_sky_blue2]
|
|
254
254
|
==========================================================================================================================================
|
|
255
255
|
|
|
256
256
|
[italic yellow]Final Prices Detail =>[ https://of-scraper.gitbook.io/of-scraper/batch-scraping-and-bot-actions/model-selection-sorting/price-filtering-sort][/italic yellow]
|
|
257
257
|
|
|
258
258
|
---------------------------------------------------------------------------------------
|
|
259
|
-
current_price => [bold
|
|
259
|
+
current_price => [bold deep_sky_blue2]{read_args.retriveArgs().current_price if read_args.retriveArgs().current_price else 'paid and free'}[/bold deep_sky_blue2]
|
|
260
260
|
[Sub Price or Lowest Claimable Promo Price or Regular Price| See Final Price Details]
|
|
261
261
|
---------------------------------------------------------------------------------------
|
|
262
|
-
promo_price => [bold
|
|
262
|
+
promo_price => [bold deep_sky_blue2]{read_args.retriveArgs().promo_price if read_args.retriveArgs().promo_price else 'paid and free'}[/bold deep_sky_blue2]
|
|
263
263
|
[Lowest Any Promo Price or Regular Price | See Final Price Details]
|
|
264
264
|
---------------------------------------------------------------------------------------
|
|
265
|
-
regular_price => [bold
|
|
265
|
+
regular_price => [bold deep_sky_blue2]{read_args.retriveArgs().regular_price if read_args.retriveArgs().regular_price else 'paid and free'}[/bold deep_sky_blue2]
|
|
266
266
|
[Lowest Claimable Promo or Regular Price | See Final Price Details]
|
|
267
267
|
---------------------------------------------------------------------------------------
|
|
268
|
-
renewal_price => [bold
|
|
268
|
+
renewal_price => [bold deep_sky_blue2]{read_args.retriveArgs().renewal_price if read_args.retriveArgs().renewal_price else 'paid and free'}[/bold deep_sky_blue2]
|
|
269
269
|
[Regular Price | See Final Price Details]
|
|
270
270
|
=======================================================================================================================================
|
|
271
271
|
|
|
272
|
-
sorting by => [bold
|
|
272
|
+
sorting by => [bold deep_sky_blue2]{read_args.retriveArgs().sort}[/bold deep_sky_blue2]
|
|
273
273
|
---------------------------------------------------------------------------------------
|
|
274
|
-
sorting direction => [bold
|
|
274
|
+
sorting direction => [bold deep_sky_blue2]{'desc' if read_args.retriveArgs().desc else 'asc'}[/bold deep_sky_blue2]
|
|
275
275
|
=======================================================================================================================================
|
|
276
276
|
|
|
277
277
|
PRESS ENTER TO RETURN
|
|
@@ -52,10 +52,10 @@ def get_empty():
|
|
|
52
52
|
def authwarning(authFile):
|
|
53
53
|
console.print(
|
|
54
54
|
"[bold yellow]For an example of how your auth file should look see \
|
|
55
|
-
\n [bold
|
|
55
|
+
\n [bold deep_sky_blue2]https://of-scraper.gitbook.io/of-scraper/auth#example[/bold deep_sky_blue2][/bold yellow]"
|
|
56
56
|
)
|
|
57
57
|
console.print(
|
|
58
|
-
f"[bold yellow]If you still can't authenticate after editing from script consider manually edit the file at\n[bold
|
|
58
|
+
f"[bold yellow]If you still can't authenticate after editing from script consider manually edit the file at\n[bold deep_sky_blue2]{authFile}[/bold deep_sky_blue2][/bold yellow]"
|
|
59
59
|
)
|
|
60
60
|
|
|
61
61
|
|
|
@@ -49,9 +49,9 @@ api_progress_group = Group(
|
|
|
49
49
|
|
|
50
50
|
# download
|
|
51
51
|
|
|
52
|
-
overall_panel = Blue_Panel(download_overall_progress, style="bold
|
|
53
|
-
multi_panel = Blue_Panel(multi_download_job_progress, style="bold
|
|
54
|
-
single_panel = Blue_Panel(download_job_progress, style="bold
|
|
52
|
+
overall_panel = Blue_Panel(download_overall_progress, style="bold deep_sky_blue2")
|
|
53
|
+
multi_panel = Blue_Panel(multi_download_job_progress, style="bold deep_sky_blue2")
|
|
54
|
+
single_panel = Blue_Panel(download_job_progress, style="bold deep_sky_blue2")
|
|
55
55
|
download_progress_group = None
|
|
56
56
|
multi_download_progress_group = None
|
|
57
57
|
|
|
@@ -267,12 +267,13 @@ class DiscordFormatter(SensitiveFormatter):
|
|
|
267
267
|
@staticmethod
|
|
268
268
|
def _filter(s):
|
|
269
269
|
t = SensitiveFormatter._filter(s)
|
|
270
|
-
t=re.sub("\\\\+","",t)
|
|
271
|
-
t=re.sub(
|
|
270
|
+
t=re.sub("\\\\+","\\\\",t)
|
|
271
|
+
t=re.sub("\[bold[^\]]*]","**",t)
|
|
272
|
+
t=re.sub("\[\/bold[^\]]*]","**",t)
|
|
272
273
|
t=Text.from_markup(Text(t).plain).plain
|
|
274
|
+
t=re.sub(" +"," ",t)
|
|
273
275
|
t=re.sub("\*\*+","**",t)
|
|
274
|
-
|
|
275
|
-
|
|
276
|
+
t=re.sub("\\\\+","",t)
|
|
276
277
|
|
|
277
278
|
|
|
278
279
|
class LogFileFormatter(SensitiveFormatter):
|
|
@@ -26,7 +26,7 @@ def get_count():
|
|
|
26
26
|
|
|
27
27
|
def main_menu_action():
|
|
28
28
|
global count
|
|
29
|
-
log.debug("[bold
|
|
29
|
+
log.debug("[bold deep_sky_blue2] Running Prompt Menu Mode[/bold deep_sky_blue2]")
|
|
30
30
|
while True:
|
|
31
31
|
result_main_prompt = prompts.main_prompt()
|
|
32
32
|
if result_main_prompt == "action":
|
|
File without changes
|