ofscraper 3.9.0.dev0__tar.gz → 3.9.0.dev1__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.9.0.dev0 → ofscraper-3.9.0.dev1}/PKG-INFO +2 -2
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/actions/process.py +0 -1
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/classes/media.py +0 -3
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/classes/placeholder.py +9 -6
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/classes/table.py +2 -2
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/common/common.py +0 -1
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/common/text.py +0 -1
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/download.py +0 -2
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/downloadbatch.py +2 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/config/data.py +0 -9
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/config/schema.py +0 -1
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/pyproject.toml +2 -2
- ofscraper-3.9.0.dev0/ofscraper/utils/text.py +0 -51
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/LICENSE +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/README.md +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/__main__.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/__version__.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/__version__.pye +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/actions/__init__.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/actions/like.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/actions/scraper.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/api/archive.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/api/highlights.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/api/init.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/api/labels.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/api/me.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/api/messages.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/api/paid.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/api/pinned.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/api/profile.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/api/subscriptions/helpers.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/api/subscriptions/individual.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/api/subscriptions/lists.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/api/subscriptions/subscriptions.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/api/timeline.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/classes/labels.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/classes/models.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/classes/multiprocessprogress.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/classes/posts.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/classes/semaphoreDelayed.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/classes/sessionbuilder.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/commands/check.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/commands/manual.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/commands/picker.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/commands/scraper.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/const/config.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/const/constants.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/const/date.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/const/download.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/const/files.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/const/general.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/const/logger.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/const/other_url.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/const/prompts.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/const/req.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/const/test_constants.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/const/time.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/const/url.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/db/__init__.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/db/operations.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/db/queries.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/alt_download.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/alt_downloadbatch.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/common/globals.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/common/keyhelpers.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/common/log.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/common/message.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/common/metadata.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/common/paths.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/common/progress.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/common/sem.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/downloadnormal.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/main_download.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/download/main_downloadbatch.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/filters/media/helpers.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/filters/media/main.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/filters/models/date.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/filters/models/flags.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/filters/models/other.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/filters/models/price.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/filters/models/sort.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/filters/models/subtype.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/models/retriver.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/models/selector.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/helpers/model_helpers.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/helpers/prompt_helpers.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/keybindings.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/promptConvert.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/prompt_groups/actions.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/prompt_groups/area.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/prompt_groups/auth.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/prompt_groups/binary.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/prompt_groups/config.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/prompt_groups/menu.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/prompt_groups/model.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/prompt_groups/profile.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/prompt_strings.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/prompt_validators.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/prompts/prompts.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/runner/exit.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/runner/load.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/runner/run.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/__init__.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/actions.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/args/areas.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/args/globals.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/args/helpers.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/args/parse.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/args/quality.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/args/read.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/args/user.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/args/write.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/auth/context.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/auth/data.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/auth/file.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/auth/helpers.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/auth/make.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/auth/request.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/auth/schema.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/binaries.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/cache.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/checkers.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/config/config.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/config/context.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/config/custom.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/config/file.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/config/menu.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/config/wrapper.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/console.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/constants.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/context/exit.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/context/run_async.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/context/stdout.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/dates.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/encoding.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/hash.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/logs/classes.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/logs/close.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/logs/globals.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/logs/helpers.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/logs/logger.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/logs/logs.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/logs/other.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/logs/stdout.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/manager.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/me.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/menu.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/paths/check.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/paths/common.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/paths/manage.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/paths/paths.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/profiles/data.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/profiles/manage.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/profiles/tools.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/run.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/separate.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/settings.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/system/free.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/system/network.py +0 -0
- {ofscraper-3.9.0.dev0 → ofscraper-3.9.0.dev1}/ofscraper/utils/system/system.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ofscraper
|
|
3
|
-
Version: 3.9.0.
|
|
3
|
+
Version: 3.9.0.dev1
|
|
4
4
|
Summary: automatically scrape onlyfans
|
|
5
5
|
Author: datawhores
|
|
6
6
|
Author-email: datawhores@riseup.net
|
|
@@ -42,7 +42,7 @@ Requires-Dist: setproctitle (>=1.3.3,<2.0.0)
|
|
|
42
42
|
Requires-Dist: setuptools (>=67.6.0,<68.0.0)
|
|
43
43
|
Requires-Dist: speedtest-cli (>=2.1.3,<3.0.0)
|
|
44
44
|
Requires-Dist: tenacity (>=8.2.2,<9.0.0)
|
|
45
|
-
Requires-Dist: textual (
|
|
45
|
+
Requires-Dist: textual (==0.52.1)
|
|
46
46
|
Requires-Dist: uvloop (>=0.19.0,<0.20.0) ; sys_platform == "linux" or sys_platform == "linux2"
|
|
47
47
|
Requires-Dist: win32-setctime (>=1.1.0,<2.0.0)
|
|
48
48
|
Requires-Dist: xxhash (>=3.2.0,<4.0.0)
|
|
@@ -37,7 +37,6 @@ import ofscraper.utils.constants as constants
|
|
|
37
37
|
import ofscraper.utils.context.exit as exit
|
|
38
38
|
import ofscraper.utils.context.stdout as stdout
|
|
39
39
|
import ofscraper.utils.profiles.tools as profile_tools
|
|
40
|
-
from ofscraper.utils.text import get_text
|
|
41
40
|
|
|
42
41
|
log = logging.getLogger("shared")
|
|
43
42
|
|
|
@@ -90,9 +90,9 @@ class tempFilePlaceholder(basePlaceholder):
|
|
|
90
90
|
self._tempname = tempname
|
|
91
91
|
|
|
92
92
|
async def init(self):
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
93
|
+
self._tempfilepath = paths.truncate(
|
|
94
|
+
pathlib.Path(await self.gettempDir(self._ele), self._tempname)
|
|
95
|
+
)
|
|
96
96
|
|
|
97
97
|
@basePlaceholder.async_wrapper
|
|
98
98
|
async def gettempDir(self, ele, create=True):
|
|
@@ -190,9 +190,12 @@ class Placeholders(basePlaceholder):
|
|
|
190
190
|
self._ext = ext
|
|
191
191
|
|
|
192
192
|
async def init(self):
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
193
|
+
self._filepath = paths.truncate(
|
|
194
|
+
pathlib.Path(
|
|
195
|
+
await self.getmediadir(),
|
|
196
|
+
await self.createfilename(),
|
|
197
|
+
)
|
|
198
|
+
)
|
|
196
199
|
|
|
197
200
|
def add_price_variables(self, username):
|
|
198
201
|
modelObj = selector.get_model_fromParsed(username)
|
|
@@ -13,7 +13,7 @@ from textual.widgets import (
|
|
|
13
13
|
DataTable,
|
|
14
14
|
Input,
|
|
15
15
|
Label,
|
|
16
|
-
|
|
16
|
+
RichLog,
|
|
17
17
|
)
|
|
18
18
|
|
|
19
19
|
import ofscraper.utils.logs.logger as logger
|
|
@@ -22,7 +22,7 @@ log = logging.getLogger("shared")
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
# console=console_.get_shared_console()
|
|
25
|
-
class OutConsole(
|
|
25
|
+
class OutConsole(RichLog):
|
|
26
26
|
def __init__(self, *args, **kwargs) -> None:
|
|
27
27
|
super().__init__(*args, **kwargs)
|
|
28
28
|
|
|
@@ -32,7 +32,6 @@ from ofscraper.download.common.metadata import *
|
|
|
32
32
|
from ofscraper.download.common.paths import *
|
|
33
33
|
from ofscraper.download.common.progress import *
|
|
34
34
|
from ofscraper.download.common.sem import sem_wrapper
|
|
35
|
-
from ofscraper.download.common.text import *
|
|
36
35
|
from ofscraper.utils.context.run_async import run
|
|
37
36
|
|
|
38
37
|
|
|
@@ -11,7 +11,6 @@ import ofscraper.utils.hash as hash
|
|
|
11
11
|
import ofscraper.utils.separate as seperate
|
|
12
12
|
import ofscraper.utils.settings as settings
|
|
13
13
|
import ofscraper.utils.system.system as system
|
|
14
|
-
from ofscraper.download.common.common import textDownloader
|
|
15
14
|
|
|
16
15
|
|
|
17
16
|
def medialist_filter(medialist, model_id, username):
|
|
@@ -37,7 +36,6 @@ def medialist_filter(medialist, model_id, username):
|
|
|
37
36
|
def download_process(username, model_id, medialist):
|
|
38
37
|
medialist = medialist_filter(medialist, model_id, username)
|
|
39
38
|
medialist = helpers.post_count_filter(medialist)
|
|
40
|
-
textDownloader(medialist)
|
|
41
39
|
download_picker(username, model_id, medialist)
|
|
42
40
|
remove_downloads_with_hashes(username, model_id)
|
|
43
41
|
|
|
@@ -381,9 +381,11 @@ async def process_dicts_split(username, model_id, medialist):
|
|
|
381
381
|
)
|
|
382
382
|
|
|
383
383
|
aws = []
|
|
384
|
+
|
|
384
385
|
async with sessionbuilder.sessionBuilder() as c:
|
|
385
386
|
for ele in medialist:
|
|
386
387
|
aws.append(asyncio.create_task(download(c, ele, model_id, username)))
|
|
388
|
+
|
|
387
389
|
for coro in asyncio.as_completed(aws):
|
|
388
390
|
try:
|
|
389
391
|
pack = await coro
|
|
@@ -681,15 +681,6 @@ def get_images_overwrites(config=None):
|
|
|
681
681
|
)
|
|
682
682
|
|
|
683
683
|
|
|
684
|
-
@wrapper.config_reader
|
|
685
|
-
def get_text_overwrites(config=None):
|
|
686
|
-
if config == False:
|
|
687
|
-
return constants.EMPTY_MEDIA_DEFAULT
|
|
688
|
-
return config.get("overwrites", {}).get("text") or constants_attr.getattr(
|
|
689
|
-
"EMPTY_MEDIA_DEFAULT"
|
|
690
|
-
)
|
|
691
|
-
|
|
692
|
-
|
|
693
684
|
@wrapper.config_reader
|
|
694
685
|
def get_max_post_count(config=None):
|
|
695
686
|
if config == False:
|
|
@@ -75,7 +75,6 @@ def get_current_config_schema(config: dict = None) -> dict:
|
|
|
75
75
|
"audios": data.get_audios_overwrites(config=config),
|
|
76
76
|
"videos": data.get_videos_overwrites(config=config),
|
|
77
77
|
"images": data.get_images_overwrites(config=config),
|
|
78
|
-
"text": data.get_text_overwrites(config=config),
|
|
79
78
|
},
|
|
80
79
|
}
|
|
81
80
|
return new_config
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "ofscraper"
|
|
3
|
-
version = "3.9.
|
|
3
|
+
version = "3.9.0dev1"
|
|
4
4
|
description = "automatically scrape onlyfans"
|
|
5
5
|
authors = ["datawhores <datawhores@riseup.net>"]
|
|
6
6
|
readme = "README.md"
|
|
@@ -27,7 +27,7 @@ diskcache = "^5.6.1"
|
|
|
27
27
|
ffmpeg-python = "^0.2.0"
|
|
28
28
|
dunamai = "^1.17.0"
|
|
29
29
|
poetry-dynamic-versioning = "^0.22.0"
|
|
30
|
-
textual = "
|
|
30
|
+
textual = "0.52.1"
|
|
31
31
|
aiohttp = { extras = ["speedups"], version = "^3.8.5" }
|
|
32
32
|
faust-cchardet = "^2.1.18"
|
|
33
33
|
certifi = "^2023.5.7"
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import asyncio
|
|
2
|
-
import copy
|
|
3
|
-
import logging
|
|
4
|
-
import pathlib
|
|
5
|
-
import textwrap
|
|
6
|
-
import traceback
|
|
7
|
-
from concurrent.futures import ThreadPoolExecutor
|
|
8
|
-
|
|
9
|
-
import aiofiles
|
|
10
|
-
|
|
11
|
-
import ofscraper.classes.placeholder as placeholder
|
|
12
|
-
import ofscraper.utils.args.read as read_args
|
|
13
|
-
import ofscraper.utils.constants as constants
|
|
14
|
-
import ofscraper.utils.settings as settings
|
|
15
|
-
from ofscraper.utils.context.run_async import run
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
@run
|
|
19
|
-
async def get_text(values):
|
|
20
|
-
with ThreadPoolExecutor(
|
|
21
|
-
max_workers=constants.getattr("MAX_TEXT_WORKER")
|
|
22
|
-
) as executor:
|
|
23
|
-
asyncio.get_event_loop().set_default_executor(executor)
|
|
24
|
-
dupe = read_args.retriveArgs().dupe
|
|
25
|
-
async with asyncio.TaskGroup() as tg:
|
|
26
|
-
[tg.create_task(get_text_process(value, dupe=dupe)) for value in values]
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
async def get_text_process(ele, dupe=None):
|
|
30
|
-
log = logging.getLogger("shared")
|
|
31
|
-
try:
|
|
32
|
-
if "Text" not in settings.get_mediatypes():
|
|
33
|
-
return
|
|
34
|
-
elif bool(ele.text) == False:
|
|
35
|
-
return
|
|
36
|
-
# make new text mediatype
|
|
37
|
-
new_ele = copy.deepcopy(ele)
|
|
38
|
-
new_ele.mediatype = "text"
|
|
39
|
-
|
|
40
|
-
placeholderObj = placeholder.Placeholders(new_ele, "txt")
|
|
41
|
-
await placeholderObj.init()
|
|
42
|
-
if pathlib.Path(placeholderObj.filepath).exists() and not dupe:
|
|
43
|
-
return
|
|
44
|
-
wrapped_text = textwrap.wrap(
|
|
45
|
-
new_ele.text, width=constants.getattr("MAX_TEXT_LENGTH")
|
|
46
|
-
)
|
|
47
|
-
async with aiofiles.open(placeholderObj.filepath, "w") as p:
|
|
48
|
-
await p.writelines(wrapped_text)
|
|
49
|
-
except Exception as E:
|
|
50
|
-
log.traceback_(f"{E}")
|
|
51
|
-
log.traceback_(f"{traceback.format_exc()}")
|
|
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
|
|
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
|