PyFunceble-dev 4.3.0a11__tar.gz → 4.3.0a13__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.
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PKG-INFO +106 -106
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/entry_points/pyfunceble/cli.py +15 -9
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/config/loader.py +82 -17
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/infrastructure/.PyFunceble_production.yaml +11 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/user_agent.py +37 -3
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/storage.py +1 -1
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble_dev.egg-info/PKG-INFO +106 -106
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/version.yaml +1 -1
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/CODE_OF_CONDUCT.md +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/CONTRIBUTING.md +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/CONTRIBUTORS.md +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/LICENSE +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/MANIFEST.in +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/domain.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/domain_and_ip.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/extras/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/extras/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/extras/dns.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/extras/etoxic.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/extras/parked.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/extras/rules.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/extras/subject_switch.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/ip.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/params.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/status.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/availability/url.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/complex_json_encoder.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/params_base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/reputation/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/reputation/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/reputation/domain.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/reputation/domain_and_ip.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/reputation/ip.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/reputation/params.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/reputation/status.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/reputation/url.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/status_base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/syntax/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/syntax/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/syntax/domain.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/syntax/domain_and_ip.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/syntax/domain_base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/syntax/ip.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/syntax/ipv4.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/syntax/ipv6.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/syntax/params.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/syntax/second_lvl_domain.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/syntax/status.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/syntax/subdomain.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/syntax/url.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/utils/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/checker/utils/whois.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/continuous_integration/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/continuous_integration/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/continuous_integration/exceptions.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/continuous_integration/github_actions.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/continuous_integration/gitlab_ci.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/continuous_integration/jenkins.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/continuous_integration/standalone.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/continuous_integration/travis_ci.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/continuous_integration/utils.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/credential_loader.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/entry_points/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/entry_points/clean.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/entry_points/iana.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/entry_points/production.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/entry_points/public_suffix.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/entry_points/pyfunceble/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/entry_points/pyfunceble/argsparser.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/execution_time.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/facility.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/factory.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/file_preloader.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/cleanup.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/counter.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/dir_base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/dir_structure/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/dir_structure/backup.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/dir_structure/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/dir_structure/restore.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/json_base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/printer/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/printer/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/printer/file.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/printer/stdout.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/registrar_counter.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/filesystem/status_file.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/alembic.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/csv_file/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/csv_file/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/csv_file/inactive_source_delete.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/csv_file/whois_registrar_add.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/db_base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/file_cleanup/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/file_cleanup/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/file_cleanup/hashes_file.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/file_cleanup/mining_file.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/file_cleanup/production_config_file.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/json2csv/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/json2csv/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/json2csv/inactive.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/json2csv/whois.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/mariadb/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/mariadb/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/mariadb/file_and_status.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/migrators/mariadb/whois_record_idna_subject.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/chancy_producer.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/chancy_tester.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/dir_files_sorter.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/file_sorter.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/migrator.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/miner.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/producer.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/tester.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/workers/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/workers/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/workers/chancy_producer.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/workers/chancy_tester.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/workers/dir_files_sorter.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/workers/file_sorter.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/workers/file_sorter_base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/workers/migrator.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/workers/miner.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/workers/producer.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/processes/workers/tester.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/scripts/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/scripts/iana.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/scripts/production.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/scripts/public_suffix.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/storage.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/storage_facility.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/system/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/system/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/system/integrator.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/system/launcher.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/utils/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/utils/ascii_logo.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/utils/sort.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/utils/stdout.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/utils/testing.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/utils/version.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/config/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/config/compare.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/converter/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/converter/adblock_input_line2subject.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/converter/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/converter/cidr2subject.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/converter/input_line2subject.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/converter/internal_url.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/converter/rpz_input_line2subject.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/converter/rpz_policy2subject.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/converter/subject2complements.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/converter/url2netloc.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/converter/wildcard2subject.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/env.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/script.py.mako +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/35c79626ecb9_fix_some_columns.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/3a4c55a9320d_add_continue_table.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/3d6f4a33cdb2_add_inactive_table.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/45713fea8097_deletion_uneeded_columns_from_whois_.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/459a0d7b8f09_add_idna_subject_column_into_whois.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/6f4729deaf03_delete_inactive_source_column.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/7bcf7fa64ba1_rename_created_to_created_at_and.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/83ada95132bf_delete_the_file_table.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/912bbcb77a6c_add_registrar_column.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/95dc17ddd729_introduction_of_the_session_id_column.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/ade87195b0a0_base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/bef7bcaac3f2_make_id_a_bigint.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/d8893cd406db_allow_whois_record_to_be_empty_null.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/mysql/versions/e04e8301d1a2_deletion_of_the_mined_table.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/postgresql/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/postgresql/env.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/postgresql/script.py.mako +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/postgresql/versions/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/alembic/postgresql/versions/a32ac5d66eee_initial_version.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/infrastructure/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/data/infrastructure/dir_structure_production.json +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/credential/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/credential/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/credential/mariadb.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/credential/mysql.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/credential/postgresql.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/schemas/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/schemas/autocontinue.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/schemas/inactive.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/schemas/status.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/schemas/whois_record.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/session.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/sqlalchemy/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/sqlalchemy/all_schemas.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/database/sqlalchemy/base_schema.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/autocontinue/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/autocontinue/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/autocontinue/csv.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/autocontinue/sql.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/csv_base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/db_base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/iana.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/inactive/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/inactive/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/inactive/csv.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/inactive/sql.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/ipv4_reputation.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/public_suffix.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/sql_base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/whois/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/whois/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/whois/csv.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/dataset/whois/sql.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/downloader/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/downloader/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/downloader/exceptions.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/downloader/iana.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/downloader/ipv4_reputation.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/downloader/public_suffix.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/downloader/user_agents.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/exceptions.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/facility.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/factory.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/helpers/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/helpers/command.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/helpers/dict.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/helpers/directory.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/helpers/download.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/helpers/environment_variable.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/helpers/exceptions.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/helpers/file.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/helpers/hash.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/helpers/list.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/helpers/merge.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/helpers/regex.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/logger.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/dns/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/dns/nameserver.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/dns/query_tool.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/dns/resolver.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/http_status_code.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/netinfo/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/netinfo/address.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/netinfo/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/netinfo/hostbyaddr.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/platform.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/record/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/record/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/record/dns.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/record/whois.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/requests/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/requests/adapter/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/requests/adapter/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/requests/adapter/http.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/requests/adapter/https.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/requests/requester.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/whois/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/whois/converter/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/whois/converter/base.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/whois/converter/digit2digits.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/whois/converter/expiration_date.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/whois/converter/month2unified.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/whois/converter/registrar.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/query/whois/query_tool.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/sessions.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/storage_facility.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/utils/__init__.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/utils/platform.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/utils/profile.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/utils/version.py +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble_dev.egg-info/SOURCES.txt +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble_dev.egg-info/dependency_links.txt +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble_dev.egg-info/entry_points.txt +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble_dev.egg-info/requires.txt +105 -105
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble_dev.egg-info/top_level.txt +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/README.md +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/requirements.dev.txt +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/requirements.docs.txt +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/requirements.test.txt +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/requirements.txt +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/requirements.win.txt +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/setup.cfg +0 -0
- {pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: PyFunceble-dev
|
3
|
-
Version: 4.3.
|
3
|
+
Version: 4.3.0a13
|
4
4
|
Summary: The tool to check the availability or syntax of domain, IP or URL.
|
5
5
|
Home-page: https://github.com/funilrys/PyFunceble
|
6
6
|
Author: funilrys
|
@@ -22,169 +22,169 @@ Classifier: License :: OSI Approved
|
|
22
22
|
Requires-Python: >=3.9, <4
|
23
23
|
Description-Content-Type: text/markdown
|
24
24
|
License-File: LICENSE
|
25
|
-
Requires-Dist:
|
25
|
+
Requires-Dist: requests[socks]<3
|
26
|
+
Requires-Dist: domain2idna~=1.12.0
|
27
|
+
Requires-Dist: setuptools>=65.5.1
|
26
28
|
Requires-Dist: python-dotenv
|
29
|
+
Requires-Dist: shtab
|
27
30
|
Requires-Dist: PyYAML
|
28
|
-
Requires-Dist:
|
29
|
-
Requires-Dist: colorama
|
31
|
+
Requires-Dist: packaging
|
30
32
|
Requires-Dist: inflection
|
31
|
-
Requires-Dist:
|
33
|
+
Requires-Dist: python-box[all]~=6.0.0
|
32
34
|
Requires-Dist: PyMySQL
|
33
|
-
Requires-Dist:
|
35
|
+
Requires-Dist: dnspython[DOH]~=2.6.0
|
34
36
|
Requires-Dist: alembic
|
35
|
-
Requires-Dist:
|
36
|
-
Requires-Dist:
|
37
|
-
Requires-Dist: shtab
|
38
|
-
Requires-Dist: setuptools>=65.5.1
|
37
|
+
Requires-Dist: SQLAlchemy~=2.0
|
38
|
+
Requires-Dist: colorama
|
39
39
|
Provides-Extra: docs
|
40
|
-
Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "docs"
|
41
|
-
Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
|
42
40
|
Requires-Dist: mkdocs-literate-nav~=0.6; extra == "docs"
|
43
|
-
Requires-Dist: mkdocs-
|
44
|
-
Requires-Dist:
|
45
|
-
Requires-Dist: mkdocs-material~=9.5; extra == "docs"
|
46
|
-
Requires-Dist: mkdocs~=1.5; extra == "docs"
|
41
|
+
Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
|
42
|
+
Requires-Dist: mkdocstrings[python]~=0.26; extra == "docs"
|
47
43
|
Requires-Dist: zipp>=3.19.1; extra == "docs"
|
44
|
+
Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
|
48
45
|
Requires-Dist: pymdown-extensions~=10.9; extra == "docs"
|
46
|
+
Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "docs"
|
47
|
+
Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "docs"
|
48
|
+
Requires-Dist: mkdocs~=1.5; extra == "docs"
|
49
49
|
Requires-Dist: mkdocs-section-index~=0.3; extra == "docs"
|
50
|
-
Requires-Dist:
|
50
|
+
Requires-Dist: mkdocs-material~=9.5; extra == "docs"
|
51
51
|
Provides-Extra: dev
|
52
|
-
Requires-Dist:
|
52
|
+
Requires-Dist: isort; extra == "dev"
|
53
53
|
Requires-Dist: black; extra == "dev"
|
54
|
+
Requires-Dist: flake8; extra == "dev"
|
54
55
|
Requires-Dist: pylint; extra == "dev"
|
55
|
-
Requires-Dist: isort; extra == "dev"
|
56
56
|
Provides-Extra: test
|
57
57
|
Requires-Dist: coverage; extra == "test"
|
58
58
|
Requires-Dist: tox; extra == "test"
|
59
59
|
Provides-Extra: psql
|
60
|
-
Requires-Dist:
|
60
|
+
Requires-Dist: requests[socks]<3; extra == "psql"
|
61
|
+
Requires-Dist: domain2idna~=1.12.0; extra == "psql"
|
62
|
+
Requires-Dist: setuptools>=65.5.1; extra == "psql"
|
61
63
|
Requires-Dist: python-dotenv; extra == "psql"
|
64
|
+
Requires-Dist: shtab; extra == "psql"
|
62
65
|
Requires-Dist: PyYAML; extra == "psql"
|
63
|
-
Requires-Dist:
|
64
|
-
Requires-Dist: colorama; extra == "psql"
|
65
|
-
Requires-Dist: inflection; extra == "psql"
|
66
|
-
Requires-Dist: requests[socks]<3; extra == "psql"
|
66
|
+
Requires-Dist: packaging; extra == "psql"
|
67
67
|
Requires-Dist: psycopg2; extra == "psql"
|
68
|
+
Requires-Dist: inflection; extra == "psql"
|
69
|
+
Requires-Dist: python-box[all]~=6.0.0; extra == "psql"
|
68
70
|
Requires-Dist: PyMySQL; extra == "psql"
|
69
|
-
Requires-Dist:
|
71
|
+
Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql"
|
70
72
|
Requires-Dist: alembic; extra == "psql"
|
71
|
-
Requires-Dist:
|
72
|
-
Requires-Dist:
|
73
|
-
Requires-Dist: shtab; extra == "psql"
|
74
|
-
Requires-Dist: setuptools>=65.5.1; extra == "psql"
|
73
|
+
Requires-Dist: SQLAlchemy~=2.0; extra == "psql"
|
74
|
+
Requires-Dist: colorama; extra == "psql"
|
75
75
|
Provides-Extra: psql-binary
|
76
|
-
Requires-Dist: SQLAlchemy~=2.0; extra == "psql-binary"
|
77
|
-
Requires-Dist: python-dotenv; extra == "psql-binary"
|
78
|
-
Requires-Dist: PyYAML; extra == "psql-binary"
|
79
76
|
Requires-Dist: psycopg2-binary; extra == "psql-binary"
|
80
|
-
Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql-binary"
|
81
|
-
Requires-Dist: colorama; extra == "psql-binary"
|
82
|
-
Requires-Dist: inflection; extra == "psql-binary"
|
83
77
|
Requires-Dist: requests[socks]<3; extra == "psql-binary"
|
84
|
-
Requires-Dist: PyMySQL; extra == "psql-binary"
|
85
78
|
Requires-Dist: domain2idna~=1.12.0; extra == "psql-binary"
|
86
|
-
Requires-Dist:
|
79
|
+
Requires-Dist: setuptools>=65.5.1; extra == "psql-binary"
|
80
|
+
Requires-Dist: python-dotenv; extra == "psql-binary"
|
81
|
+
Requires-Dist: shtab; extra == "psql-binary"
|
82
|
+
Requires-Dist: PyYAML; extra == "psql-binary"
|
87
83
|
Requires-Dist: packaging; extra == "psql-binary"
|
84
|
+
Requires-Dist: inflection; extra == "psql-binary"
|
88
85
|
Requires-Dist: python-box[all]~=6.0.0; extra == "psql-binary"
|
89
|
-
Requires-Dist:
|
90
|
-
Requires-Dist:
|
86
|
+
Requires-Dist: PyMySQL; extra == "psql-binary"
|
87
|
+
Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql-binary"
|
88
|
+
Requires-Dist: alembic; extra == "psql-binary"
|
89
|
+
Requires-Dist: SQLAlchemy~=2.0; extra == "psql-binary"
|
90
|
+
Requires-Dist: colorama; extra == "psql-binary"
|
91
91
|
Provides-Extra: postgresql
|
92
|
-
Requires-Dist:
|
92
|
+
Requires-Dist: requests[socks]<3; extra == "postgresql"
|
93
|
+
Requires-Dist: domain2idna~=1.12.0; extra == "postgresql"
|
94
|
+
Requires-Dist: setuptools>=65.5.1; extra == "postgresql"
|
93
95
|
Requires-Dist: python-dotenv; extra == "postgresql"
|
96
|
+
Requires-Dist: shtab; extra == "postgresql"
|
94
97
|
Requires-Dist: PyYAML; extra == "postgresql"
|
95
|
-
Requires-Dist:
|
96
|
-
Requires-Dist: colorama; extra == "postgresql"
|
97
|
-
Requires-Dist: inflection; extra == "postgresql"
|
98
|
-
Requires-Dist: requests[socks]<3; extra == "postgresql"
|
98
|
+
Requires-Dist: packaging; extra == "postgresql"
|
99
99
|
Requires-Dist: psycopg2; extra == "postgresql"
|
100
|
+
Requires-Dist: inflection; extra == "postgresql"
|
101
|
+
Requires-Dist: python-box[all]~=6.0.0; extra == "postgresql"
|
100
102
|
Requires-Dist: PyMySQL; extra == "postgresql"
|
101
|
-
Requires-Dist:
|
103
|
+
Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql"
|
102
104
|
Requires-Dist: alembic; extra == "postgresql"
|
103
|
-
Requires-Dist:
|
104
|
-
Requires-Dist:
|
105
|
-
Requires-Dist: shtab; extra == "postgresql"
|
106
|
-
Requires-Dist: setuptools>=65.5.1; extra == "postgresql"
|
105
|
+
Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql"
|
106
|
+
Requires-Dist: colorama; extra == "postgresql"
|
107
107
|
Provides-Extra: postgresql-binary
|
108
|
-
Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql-binary"
|
109
|
-
Requires-Dist: python-dotenv; extra == "postgresql-binary"
|
110
|
-
Requires-Dist: PyYAML; extra == "postgresql-binary"
|
111
108
|
Requires-Dist: psycopg2-binary; extra == "postgresql-binary"
|
112
|
-
Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql-binary"
|
113
|
-
Requires-Dist: colorama; extra == "postgresql-binary"
|
114
|
-
Requires-Dist: inflection; extra == "postgresql-binary"
|
115
109
|
Requires-Dist: requests[socks]<3; extra == "postgresql-binary"
|
116
|
-
Requires-Dist: PyMySQL; extra == "postgresql-binary"
|
117
110
|
Requires-Dist: domain2idna~=1.12.0; extra == "postgresql-binary"
|
118
|
-
Requires-Dist:
|
111
|
+
Requires-Dist: setuptools>=65.5.1; extra == "postgresql-binary"
|
112
|
+
Requires-Dist: python-dotenv; extra == "postgresql-binary"
|
113
|
+
Requires-Dist: shtab; extra == "postgresql-binary"
|
114
|
+
Requires-Dist: PyYAML; extra == "postgresql-binary"
|
119
115
|
Requires-Dist: packaging; extra == "postgresql-binary"
|
116
|
+
Requires-Dist: inflection; extra == "postgresql-binary"
|
120
117
|
Requires-Dist: python-box[all]~=6.0.0; extra == "postgresql-binary"
|
121
|
-
Requires-Dist:
|
122
|
-
Requires-Dist:
|
118
|
+
Requires-Dist: PyMySQL; extra == "postgresql-binary"
|
119
|
+
Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql-binary"
|
120
|
+
Requires-Dist: alembic; extra == "postgresql-binary"
|
121
|
+
Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql-binary"
|
122
|
+
Requires-Dist: colorama; extra == "postgresql-binary"
|
123
123
|
Provides-Extra: full
|
124
|
-
Requires-Dist: black; extra == "full"
|
125
|
-
Requires-Dist: python-dotenv; extra == "full"
|
126
|
-
Requires-Dist: colorama; extra == "full"
|
127
|
-
Requires-Dist: mkdocs-material~=9.5; extra == "full"
|
128
|
-
Requires-Dist: zipp>=3.19.1; extra == "full"
|
129
|
-
Requires-Dist: alembic; extra == "full"
|
130
|
-
Requires-Dist: packaging; extra == "full"
|
131
|
-
Requires-Dist: setuptools>=65.5.1; extra == "full"
|
132
|
-
Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
|
133
|
-
Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
|
134
|
-
Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "full"
|
135
124
|
Requires-Dist: requests[socks]<3; extra == "full"
|
125
|
+
Requires-Dist: python-dotenv; extra == "full"
|
126
|
+
Requires-Dist: pymdown-extensions~=10.9; extra == "full"
|
127
|
+
Requires-Dist: PyYAML; extra == "full"
|
128
|
+
Requires-Dist: tox; extra == "full"
|
129
|
+
Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
|
136
130
|
Requires-Dist: mkdocs~=1.5; extra == "full"
|
137
131
|
Requires-Dist: python-box[all]~=6.0.0; extra == "full"
|
138
|
-
Requires-Dist: SQLAlchemy~=2.0; extra == "full"
|
139
|
-
Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
|
140
|
-
Requires-Dist: mkdocs-gen-files~=0.5; extra == "full"
|
141
|
-
Requires-Dist: PyYAML; extra == "full"
|
142
132
|
Requires-Dist: dnspython[DOH]~=2.6.0; extra == "full"
|
143
|
-
Requires-Dist:
|
144
|
-
Requires-Dist:
|
145
|
-
Requires-Dist: pymdown-extensions~=10.9; extra == "full"
|
146
|
-
Requires-Dist: coverage; extra == "full"
|
133
|
+
Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
|
134
|
+
Requires-Dist: zipp>=3.19.1; extra == "full"
|
147
135
|
Requires-Dist: flake8; extra == "full"
|
148
136
|
Requires-Dist: mkdocstrings[python]~=0.26; extra == "full"
|
149
|
-
Requires-Dist:
|
150
|
-
Requires-Dist:
|
151
|
-
Requires-Dist:
|
137
|
+
Requires-Dist: setuptools>=65.5.1; extra == "full"
|
138
|
+
Requires-Dist: black; extra == "full"
|
139
|
+
Requires-Dist: packaging; extra == "full"
|
140
|
+
Requires-Dist: coverage; extra == "full"
|
141
|
+
Requires-Dist: alembic; extra == "full"
|
142
|
+
Requires-Dist: SQLAlchemy~=2.0; extra == "full"
|
143
|
+
Requires-Dist: domain2idna~=1.12.0; extra == "full"
|
144
|
+
Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "full"
|
145
|
+
Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
|
146
|
+
Requires-Dist: PyMySQL; extra == "full"
|
147
|
+
Requires-Dist: colorama; extra == "full"
|
148
|
+
Requires-Dist: mkdocs-gen-files~=0.5; extra == "full"
|
152
149
|
Requires-Dist: shtab; extra == "full"
|
153
|
-
Requires-Dist:
|
150
|
+
Requires-Dist: inflection; extra == "full"
|
154
151
|
Requires-Dist: isort; extra == "full"
|
152
|
+
Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
|
153
|
+
Requires-Dist: mkdocs-material~=9.5; extra == "full"
|
154
|
+
Requires-Dist: pylint; extra == "full"
|
155
155
|
Provides-Extra: all
|
156
|
-
Requires-Dist: black; extra == "all"
|
157
|
-
Requires-Dist: python-dotenv; extra == "all"
|
158
|
-
Requires-Dist: colorama; extra == "all"
|
159
|
-
Requires-Dist: mkdocs-material~=9.5; extra == "all"
|
160
|
-
Requires-Dist: zipp>=3.19.1; extra == "all"
|
161
|
-
Requires-Dist: alembic; extra == "all"
|
162
|
-
Requires-Dist: packaging; extra == "all"
|
163
|
-
Requires-Dist: setuptools>=65.5.1; extra == "all"
|
164
|
-
Requires-Dist: mkdocs-literate-nav~=0.6; extra == "all"
|
165
|
-
Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "all"
|
166
|
-
Requires-Dist: psycopg2-binary; extra == "all"
|
167
|
-
Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "all"
|
168
156
|
Requires-Dist: requests[socks]<3; extra == "all"
|
157
|
+
Requires-Dist: python-dotenv; extra == "all"
|
158
|
+
Requires-Dist: pymdown-extensions~=10.9; extra == "all"
|
159
|
+
Requires-Dist: PyYAML; extra == "all"
|
160
|
+
Requires-Dist: tox; extra == "all"
|
161
|
+
Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "all"
|
169
162
|
Requires-Dist: mkdocs~=1.5; extra == "all"
|
170
163
|
Requires-Dist: python-box[all]~=6.0.0; extra == "all"
|
171
|
-
Requires-Dist: SQLAlchemy~=2.0; extra == "all"
|
172
|
-
Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "all"
|
173
|
-
Requires-Dist: mkdocs-gen-files~=0.5; extra == "all"
|
174
|
-
Requires-Dist: PyYAML; extra == "all"
|
175
164
|
Requires-Dist: dnspython[DOH]~=2.6.0; extra == "all"
|
176
|
-
Requires-Dist:
|
177
|
-
Requires-Dist:
|
178
|
-
Requires-Dist:
|
179
|
-
Requires-Dist: coverage; extra == "all"
|
165
|
+
Requires-Dist: psycopg2-binary; extra == "all"
|
166
|
+
Requires-Dist: mkdocs-literate-nav~=0.6; extra == "all"
|
167
|
+
Requires-Dist: zipp>=3.19.1; extra == "all"
|
180
168
|
Requires-Dist: flake8; extra == "all"
|
181
169
|
Requires-Dist: mkdocstrings[python]~=0.26; extra == "all"
|
182
|
-
Requires-Dist:
|
183
|
-
Requires-Dist:
|
184
|
-
Requires-Dist:
|
170
|
+
Requires-Dist: setuptools>=65.5.1; extra == "all"
|
171
|
+
Requires-Dist: black; extra == "all"
|
172
|
+
Requires-Dist: packaging; extra == "all"
|
173
|
+
Requires-Dist: coverage; extra == "all"
|
174
|
+
Requires-Dist: alembic; extra == "all"
|
175
|
+
Requires-Dist: SQLAlchemy~=2.0; extra == "all"
|
176
|
+
Requires-Dist: domain2idna~=1.12.0; extra == "all"
|
177
|
+
Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "all"
|
178
|
+
Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "all"
|
179
|
+
Requires-Dist: PyMySQL; extra == "all"
|
180
|
+
Requires-Dist: colorama; extra == "all"
|
181
|
+
Requires-Dist: mkdocs-gen-files~=0.5; extra == "all"
|
185
182
|
Requires-Dist: shtab; extra == "all"
|
186
|
-
Requires-Dist:
|
183
|
+
Requires-Dist: inflection; extra == "all"
|
187
184
|
Requires-Dist: isort; extra == "all"
|
185
|
+
Requires-Dist: mkdocs-section-index~=0.3; extra == "all"
|
186
|
+
Requires-Dist: mkdocs-material~=9.5; extra == "all"
|
187
|
+
Requires-Dist: pylint; extra == "all"
|
188
188
|
|
189
189
|

|
190
190
|
|
{pyfunceble_dev-4.3.0a11 → pyfunceble_dev-4.3.0a13}/PyFunceble/cli/entry_points/pyfunceble/cli.py
RENAMED
@@ -103,6 +103,9 @@ def get_configured_value(
|
|
103
103
|
else:
|
104
104
|
result = PyFunceble.facility.ConfigLoader.get_configured_value(entry)
|
105
105
|
|
106
|
+
if isinstance(result, str) and "%" in result:
|
107
|
+
result = result.replace("%", "%%")
|
108
|
+
|
106
109
|
if negate:
|
107
110
|
result = not result
|
108
111
|
|
@@ -587,6 +590,18 @@ def get_test_control_group_data() -> List[Tuple[List[str], dict]]:
|
|
587
590
|
"get the latest (automatically) for you.",
|
588
591
|
},
|
589
592
|
),
|
593
|
+
(
|
594
|
+
[
|
595
|
+
"--user-agent-reference",
|
596
|
+
],
|
597
|
+
{
|
598
|
+
"dest": "user_agent.reference",
|
599
|
+
"type": str,
|
600
|
+
"help": "Sets the reference to append to the user agent.\n\n"
|
601
|
+
"This is useful when you want to add a reference to the "
|
602
|
+
"user agent. %s" % get_configured_value("user_agent.reference"),
|
603
|
+
},
|
604
|
+
),
|
590
605
|
(
|
591
606
|
[
|
592
607
|
"-vsc",
|
@@ -833,15 +848,6 @@ def get_output_control_group_data() -> List[Tuple[List[str], dict]]:
|
|
833
848
|
"default": "all",
|
834
849
|
},
|
835
850
|
),
|
836
|
-
(
|
837
|
-
["--display-datetime"],
|
838
|
-
{
|
839
|
-
"dest": "cli_testing.display_mode.datetime",
|
840
|
-
"action": "store_true",
|
841
|
-
"help": "Activates or disables the display of the datetime of the\n"
|
842
|
-
"test. %s" % get_configured_value("cli_testing.display_mode.datetime"),
|
843
|
-
},
|
844
|
-
),
|
845
851
|
(
|
846
852
|
["--display-datetime-fmt"],
|
847
853
|
{
|
@@ -92,11 +92,12 @@ class ConfigLoader:
|
|
92
92
|
_path_to_config: Optional[str] = None
|
93
93
|
_remote_config_location: Optional[str] = None
|
94
94
|
path_to_default_config: Optional[str] = None
|
95
|
-
|
95
|
+
_path_to_overwrite_config: Optional[str] = None
|
96
96
|
|
97
97
|
_custom_config: dict = {}
|
98
98
|
_merge_upstream: bool = False
|
99
99
|
_config_dir: Optional[str] = None
|
100
|
+
__config_loaded: bool = False
|
100
101
|
|
101
102
|
file_helper: FileHelper = FileHelper()
|
102
103
|
dict_helper: DictHelper = DictHelper()
|
@@ -115,18 +116,8 @@ class ConfigLoader:
|
|
115
116
|
else:
|
116
117
|
self.config_dir = PyFunceble.storage.CONFIG_DIRECTORY
|
117
118
|
|
118
|
-
self.path_to_config = os.path.join(
|
119
|
-
self.config_dir,
|
120
|
-
PyFunceble.storage.CONFIGURATION_FILENAME,
|
121
|
-
)
|
122
|
-
|
123
119
|
self.path_to_remote_config = None
|
124
120
|
|
125
|
-
self.path_to_overwrite_config = os.path.join(
|
126
|
-
self.config_dir,
|
127
|
-
".PyFunceble.overwrite.yaml",
|
128
|
-
)
|
129
|
-
|
130
121
|
if merge_upstream is not None:
|
131
122
|
self.merge_upstream = merge_upstream
|
132
123
|
elif EnvironmentVariableHelper("PYFUNCEBLE_AUTO_CONFIGURATION").exists():
|
@@ -206,14 +197,82 @@ class ConfigLoader:
|
|
206
197
|
|
207
198
|
return config
|
208
199
|
|
209
|
-
|
210
|
-
def is_already_loaded() -> bool:
|
200
|
+
def is_already_loaded(self) -> bool:
|
211
201
|
"""
|
212
202
|
Checks if the configuration was already loaded.
|
213
203
|
"""
|
214
204
|
|
215
205
|
return bool(PyFunceble.storage.CONFIGURATION)
|
216
206
|
|
207
|
+
def __is_completely_loaded(self) -> bool:
|
208
|
+
"""
|
209
|
+
Checks if the configuration was completely loaded.
|
210
|
+
"""
|
211
|
+
|
212
|
+
return self.is_already_loaded() and bool(self.__config_loaded)
|
213
|
+
|
214
|
+
@property
|
215
|
+
def path_to_config(self) -> Optional[str]:
|
216
|
+
"""
|
217
|
+
Provides the current state of the :code:`_path_to_config` attribute.
|
218
|
+
"""
|
219
|
+
|
220
|
+
if self._path_to_config is None:
|
221
|
+
self._path_to_config = os.path.join(
|
222
|
+
self.config_dir,
|
223
|
+
PyFunceble.storage.CONFIGURATION_FILENAME,
|
224
|
+
)
|
225
|
+
|
226
|
+
return self._path_to_config
|
227
|
+
|
228
|
+
@path_to_config.setter
|
229
|
+
def path_to_config(self, value: str) -> None:
|
230
|
+
"""
|
231
|
+
Sets the path to the configuration file.
|
232
|
+
|
233
|
+
:param value:
|
234
|
+
The value to set.
|
235
|
+
|
236
|
+
:raise TypeError:
|
237
|
+
When value is not a :py:class:`str`.
|
238
|
+
"""
|
239
|
+
|
240
|
+
if not isinstance(value, str):
|
241
|
+
raise TypeError(f"<value> should be {str}, {type(value)} given.")
|
242
|
+
|
243
|
+
self._path_to_config = value
|
244
|
+
|
245
|
+
@property
|
246
|
+
def path_to_overwrite_config(self) -> Optional[str]:
|
247
|
+
"""
|
248
|
+
Provides the current state of the :code:`_path_to_overwrite_config` attribute.
|
249
|
+
"""
|
250
|
+
|
251
|
+
if self._path_to_overwrite_config is None:
|
252
|
+
self._path_to_overwrite_config = os.path.join(
|
253
|
+
self.config_dir,
|
254
|
+
".PyFunceble.overwrite.yaml",
|
255
|
+
)
|
256
|
+
|
257
|
+
return self._path_to_overwrite_config
|
258
|
+
|
259
|
+
@path_to_overwrite_config.setter
|
260
|
+
def path_to_overwrite_config(self, value: str) -> None:
|
261
|
+
"""
|
262
|
+
Sets the path to the overwrite configuration file.
|
263
|
+
|
264
|
+
:param value:
|
265
|
+
The value to set.
|
266
|
+
|
267
|
+
:raise TypeError:
|
268
|
+
When value is not a :py:class:`str`.
|
269
|
+
"""
|
270
|
+
|
271
|
+
if not isinstance(value, str):
|
272
|
+
raise TypeError(f"<value> should be {str}, {type(value)} given.")
|
273
|
+
|
274
|
+
self._path_to_overwrite_config = value
|
275
|
+
|
217
276
|
@property
|
218
277
|
def config_dir(self) -> Optional[str]:
|
219
278
|
"""
|
@@ -239,6 +298,9 @@ class ConfigLoader:
|
|
239
298
|
raise TypeError(f"<value> should be {str}, {type(value)} given.")
|
240
299
|
|
241
300
|
self._config_dir = value
|
301
|
+
# Reset the path to the configuration file.
|
302
|
+
self._path_to_config = None
|
303
|
+
self._path_to_overwrite_config = None
|
242
304
|
|
243
305
|
def set_config_dir(self, value: str) -> "ConfigLoader":
|
244
306
|
"""
|
@@ -385,9 +447,8 @@ class ConfigLoader:
|
|
385
447
|
|
386
448
|
return self
|
387
449
|
|
388
|
-
@classmethod
|
389
450
|
def download_dynamic_infrastructure_files(
|
390
|
-
|
451
|
+
self,
|
391
452
|
) -> "ConfigLoader":
|
392
453
|
"""
|
393
454
|
Downloads all the dynamicly (generated) infrastructure files.
|
@@ -400,7 +461,7 @@ class ConfigLoader:
|
|
400
461
|
|
401
462
|
## pragma: no cover ## Underlying download methods already tested.
|
402
463
|
|
403
|
-
if not
|
464
|
+
if not self.is_already_loaded():
|
404
465
|
IANADownloader().start()
|
405
466
|
PublicSuffixDownloader().start()
|
406
467
|
UserAgentsDownloader().start()
|
@@ -494,7 +555,7 @@ class ConfigLoader:
|
|
494
555
|
config,
|
495
556
|
)
|
496
557
|
|
497
|
-
if not self.
|
558
|
+
if not self.__is_completely_loaded():
|
498
559
|
self.install_missing_infrastructure_files()
|
499
560
|
self.download_dynamic_infrastructure_files()
|
500
561
|
download_remote_config(
|
@@ -593,6 +654,8 @@ class ConfigLoader:
|
|
593
654
|
# Early load user agents to allow usage of defined user agents.
|
594
655
|
UserAgentDataset().get_latest()
|
595
656
|
|
657
|
+
self.__config_loaded = True
|
658
|
+
|
596
659
|
return self
|
597
660
|
|
598
661
|
def destroy(self, keep_custom: bool = False) -> "ConfigLoader":
|
@@ -620,4 +683,6 @@ class ConfigLoader:
|
|
620
683
|
# This is not a mistake.
|
621
684
|
self._custom_config = {}
|
622
685
|
|
686
|
+
self.__config_loaded = False
|
687
|
+
|
623
688
|
return self
|
@@ -629,6 +629,17 @@ user_agent:
|
|
629
629
|
# CLI Argument: -ua | --user-agent
|
630
630
|
custom: null
|
631
631
|
|
632
|
+
# Set the reference to add to the User-Agent.
|
633
|
+
# This is useful when you want to add a reference (e.g. a link) to the User-Agent.
|
634
|
+
#
|
635
|
+
# The reference will be added at the end of the User-Agent in the following format:
|
636
|
+
# {user_agent}; +{reference}
|
637
|
+
#
|
638
|
+
# When set to `null`, no reference will be added.
|
639
|
+
#
|
640
|
+
# CLI Argument: --user-agent-reference
|
641
|
+
reference: null
|
642
|
+
|
632
643
|
proxy:
|
633
644
|
# Provides everything related to the proxy usage and configuration.
|
634
645
|
#
|
@@ -196,6 +196,30 @@ class UserAgentDataset(DatasetBase):
|
|
196
196
|
and bool(self[browser_short_name.lower()][platform.lower()])
|
197
197
|
)
|
198
198
|
|
199
|
+
def format_user_agent(
|
200
|
+
self, user_agent: str, *, reference: Optional[str] = None
|
201
|
+
) -> str:
|
202
|
+
"""
|
203
|
+
Given a user agent and a reference, it returns the formatted user agent
|
204
|
+
that we have to use.
|
205
|
+
|
206
|
+
:param user_agent:
|
207
|
+
The user agent to format.
|
208
|
+
:param reference:
|
209
|
+
The reference to append to the user agent.
|
210
|
+
|
211
|
+
:return:
|
212
|
+
The formatted user agent.
|
213
|
+
"""
|
214
|
+
|
215
|
+
user_agent = user_agent.strip()
|
216
|
+
|
217
|
+
if reference:
|
218
|
+
if user_agent.endswith(";"):
|
219
|
+
return f"{user_agent} +{reference}"
|
220
|
+
return f"{user_agent}; +{reference}"
|
221
|
+
return user_agent
|
222
|
+
|
199
223
|
def get_latest(self) -> str:
|
200
224
|
"""
|
201
225
|
Provides the latest user agent for the given platform.
|
@@ -205,12 +229,19 @@ class UserAgentDataset(DatasetBase):
|
|
205
229
|
(if exists).
|
206
230
|
"""
|
207
231
|
|
232
|
+
reference = None
|
233
|
+
|
208
234
|
if PyFunceble.storage.CONFIGURATION:
|
235
|
+
reference = PyFunceble.storage.CONFIGURATION.user_agent.reference
|
236
|
+
|
209
237
|
if (
|
210
238
|
PyFunceble.storage.CONFIGURATION.user_agent
|
211
239
|
and PyFunceble.storage.CONFIGURATION.user_agent.custom
|
212
240
|
):
|
213
|
-
return
|
241
|
+
return self.format_user_agent(
|
242
|
+
PyFunceble.storage.CONFIGURATION.user_agent.custom,
|
243
|
+
reference=reference,
|
244
|
+
)
|
214
245
|
|
215
246
|
self.set_preferred(
|
216
247
|
PyFunceble.storage.CONFIGURATION.user_agent.browser,
|
@@ -220,6 +251,9 @@ class UserAgentDataset(DatasetBase):
|
|
220
251
|
result = self[self.preferred_browser][self.preferred_platform]
|
221
252
|
|
222
253
|
if isinstance(result, (list, tuple)):
|
223
|
-
return
|
254
|
+
return self.format_user_agent(
|
255
|
+
secrets.choice(result),
|
256
|
+
reference=reference,
|
257
|
+
)
|
224
258
|
|
225
|
-
return result
|
259
|
+
return self.format_user_agent(result, reference=reference)
|
@@ -60,7 +60,7 @@ from dotenv import load_dotenv
|
|
60
60
|
from PyFunceble.storage_facility import get_config_directory
|
61
61
|
|
62
62
|
PROJECT_NAME: str = "PyFunceble"
|
63
|
-
PROJECT_VERSION: str = "4.3.
|
63
|
+
PROJECT_VERSION: str = "4.3.0a13.dev (Blue Duckling: Tulip)"
|
64
64
|
|
65
65
|
DISTRIBUTED_CONFIGURATION_FILENAME: str = ".PyFunceble_production.yaml"
|
66
66
|
|