PyFunceble-dev 4.3.1__tar.gz → 4.4.0__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.1 → pyfunceble_dev-4.4.0}/PKG-INFO +108 -108
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/base.py +11 -3
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/domain.py +3 -1
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/domain_and_ip.py +2 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/base.py +13 -1
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/reputation/base.py +10 -2
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/syntax/base.py +5 -2
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/utils/whois.py +7 -3
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/base.py +7 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/workers/producer.py +9 -3
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/workers/tester.py +5 -5
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/system/launcher.py +18 -5
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/utils/testing.py +9 -3
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/autocontinue/csv.py +15 -1
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/base.py +25 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/csv_base.py +3 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/db_base.py +14 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/iana.py +6 -1
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/ipv4_reputation.py +7 -1
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/public_suffix.py +6 -1
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/user_agent.py +6 -1
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/storage.py +1 -1
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble_dev.egg-info/PKG-INFO +108 -108
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/requirements.win.txt +1 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/version.yaml +2 -1
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/CODE_OF_CONDUCT.md +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/CONTRIBUTING.md +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/CONTRIBUTORS.md +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/LICENSE +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/MANIFEST.in +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/extras/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/extras/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/extras/dns.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/extras/etoxic.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/extras/external.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/extras/parked.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/extras/rules.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/extras/subject_switch.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/ip.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/params.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/status.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/url.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/complex_json_encoder.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/params_base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/reputation/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/reputation/domain.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/reputation/domain_and_ip.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/reputation/ip.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/reputation/params.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/reputation/status.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/reputation/url.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/status_base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/syntax/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/syntax/domain.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/syntax/domain_and_ip.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/syntax/domain_base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/syntax/ip.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/syntax/ipv4.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/syntax/ipv6.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/syntax/params.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/syntax/second_lvl_domain.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/syntax/status.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/syntax/subdomain.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/syntax/url.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/utils/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/continuous_integration/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/continuous_integration/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/continuous_integration/exceptions.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/continuous_integration/github_actions.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/continuous_integration/gitlab_ci.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/continuous_integration/jenkins.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/continuous_integration/standalone.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/continuous_integration/travis_ci.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/continuous_integration/utils.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/credential_loader.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/entry_points/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/entry_points/clean.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/entry_points/iana.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/entry_points/production.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/entry_points/public_suffix.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/entry_points/pyfunceble/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/entry_points/pyfunceble/argsparser.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/entry_points/pyfunceble/cli.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/execution_time.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/facility.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/factory.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/file_preloader.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/cleanup.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/counter.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/dir_base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/dir_structure/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/dir_structure/backup.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/dir_structure/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/dir_structure/restore.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/json_base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/printer/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/printer/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/printer/file.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/printer/stdout.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/registrar_counter.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/filesystem/status_file.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/alembic.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/csv_file/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/csv_file/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/csv_file/inactive_source_delete.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/csv_file/whois_registrar_add.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/db_base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/file_cleanup/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/file_cleanup/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/file_cleanup/hashes_file.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/file_cleanup/mining_file.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/file_cleanup/production_config_file.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/json2csv/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/json2csv/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/json2csv/inactive.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/json2csv/whois.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/mariadb/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/mariadb/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/mariadb/file_and_status.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/migrators/mariadb/whois_record_idna_subject.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/chancy_producer.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/chancy_tester.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/dir_files_sorter.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/file_sorter.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/migrator.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/miner.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/producer.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/tester.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/workers/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/workers/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/workers/chancy_producer.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/workers/chancy_tester.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/workers/dir_files_sorter.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/workers/file_sorter.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/workers/file_sorter_base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/workers/migrator.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/processes/workers/miner.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/scripts/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/scripts/iana.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/scripts/production.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/scripts/public_suffix.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/storage.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/storage_facility.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/system/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/system/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/system/integrator.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/utils/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/utils/ascii_logo.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/utils/sort.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/utils/stdout.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/cli/utils/version.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/config/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/config/compare.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/config/loader.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/converter/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/converter/adblock_input_line2subject.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/converter/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/converter/cidr2subject.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/converter/input_line2subject.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/converter/internal_url.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/converter/rpz_input_line2subject.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/converter/rpz_policy2subject.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/converter/subject2complements.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/converter/url2netloc.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/converter/wildcard2subject.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/env.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/script.py.mako +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/35c79626ecb9_fix_some_columns.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/3a4c55a9320d_add_continue_table.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/3d6f4a33cdb2_add_inactive_table.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/45713fea8097_deletion_uneeded_columns_from_whois_.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/459a0d7b8f09_add_idna_subject_column_into_whois.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/6f4729deaf03_delete_inactive_source_column.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/7bcf7fa64ba1_rename_created_to_created_at_and.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/83ada95132bf_delete_the_file_table.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/912bbcb77a6c_add_registrar_column.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/95dc17ddd729_introduction_of_the_session_id_column.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/ade87195b0a0_base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/bef7bcaac3f2_make_id_a_bigint.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/d8893cd406db_allow_whois_record_to_be_empty_null.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/mysql/versions/e04e8301d1a2_deletion_of_the_mined_table.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/postgresql/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/postgresql/env.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/postgresql/script.py.mako +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/postgresql/versions/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/alembic/postgresql/versions/a32ac5d66eee_initial_version.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/infrastructure/.PyFunceble_production.yaml +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/infrastructure/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/data/infrastructure/dir_structure_production.json +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/credential/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/credential/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/credential/mariadb.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/credential/mysql.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/credential/postgresql.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/schemas/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/schemas/autocontinue.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/schemas/inactive.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/schemas/status.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/schemas/whois_record.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/session.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/sqlalchemy/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/sqlalchemy/all_schemas.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/database/sqlalchemy/base_schema.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/autocontinue/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/autocontinue/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/autocontinue/sql.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/inactive/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/inactive/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/inactive/csv.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/inactive/sql.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/sql_base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/whois/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/whois/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/whois/csv.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/dataset/whois/sql.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/downloader/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/downloader/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/downloader/exceptions.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/downloader/iana.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/downloader/ipv4_reputation.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/downloader/public_suffix.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/downloader/user_agents.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/exceptions.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/facility.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/factory.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/helpers/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/helpers/command.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/helpers/dict.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/helpers/directory.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/helpers/download.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/helpers/environment_variable.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/helpers/exceptions.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/helpers/file.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/helpers/hash.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/helpers/list.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/helpers/merge.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/helpers/regex.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/logger.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/dns/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/dns/nameserver.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/dns/query_tool.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/dns/resolver.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/http_status_code.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/netinfo/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/netinfo/address.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/netinfo/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/netinfo/hostbyaddr.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/platform.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/record/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/record/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/record/dns.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/record/whois.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/requests/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/requests/adapter/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/requests/adapter/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/requests/adapter/http.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/requests/adapter/https.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/requests/requester.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/whois/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/whois/converter/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/whois/converter/base.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/whois/converter/digit2digits.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/whois/converter/expiration_date.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/whois/converter/month2unified.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/whois/converter/registrar.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/query/whois/query_tool.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/sessions.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/storage_facility.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/utils/__init__.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/utils/platform.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/utils/profile.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/utils/version.py +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble_dev.egg-info/SOURCES.txt +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble_dev.egg-info/dependency_links.txt +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble_dev.egg-info/entry_points.txt +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble_dev.egg-info/requires.txt +107 -107
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble_dev.egg-info/top_level.txt +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/README.md +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/requirements.dev.txt +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/requirements.docs.txt +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/requirements.test.txt +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/requirements.txt +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/setup.cfg +0 -0
- {pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyFunceble-dev
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.4.0
|
|
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
|
|
@@ -21,179 +21,179 @@ Classifier: Programming Language :: Python :: 3
|
|
|
21
21
|
Requires-Python: >=3.10, <4
|
|
22
22
|
Description-Content-Type: text/markdown
|
|
23
23
|
License-File: LICENSE
|
|
24
|
-
Requires-Dist:
|
|
25
|
-
Requires-Dist: PyMySQL
|
|
24
|
+
Requires-Dist: pyfunceble-process-manager==1.0.10
|
|
26
25
|
Requires-Dist: python-box[all]~=7.3.2
|
|
27
|
-
Requires-Dist:
|
|
28
|
-
Requires-Dist: domain2idna~=1.12.0
|
|
26
|
+
Requires-Dist: PyYAML
|
|
29
27
|
Requires-Dist: setuptools>=65.5.1
|
|
30
|
-
Requires-Dist:
|
|
28
|
+
Requires-Dist: alembic
|
|
29
|
+
Requires-Dist: domain2idna~=1.12.0
|
|
31
30
|
Requires-Dist: SQLAlchemy~=2.0
|
|
32
31
|
Requires-Dist: colorama
|
|
33
|
-
Requires-Dist: PyYAML
|
|
34
|
-
Requires-Dist: packaging
|
|
35
|
-
Requires-Dist: pyfunceble-process-manager==1.0.10
|
|
36
32
|
Requires-Dist: shtab
|
|
37
|
-
Requires-Dist:
|
|
33
|
+
Requires-Dist: PyMySQL
|
|
38
34
|
Requires-Dist: inflection
|
|
35
|
+
Requires-Dist: packaging
|
|
36
|
+
Requires-Dist: requests[socks]<3
|
|
37
|
+
Requires-Dist: dnspython[DOH]~=2.8.0
|
|
38
|
+
Requires-Dist: python-dotenv
|
|
39
39
|
Provides-Extra: docs
|
|
40
|
-
Requires-Dist: mkdocs-
|
|
40
|
+
Requires-Dist: mkdocs-material~=9.5; extra == "docs"
|
|
41
41
|
Requires-Dist: mkdocs-section-index~=0.3; extra == "docs"
|
|
42
|
-
Requires-Dist: mkdocs-
|
|
43
|
-
Requires-Dist: zipp>=3.19.1; extra == "docs"
|
|
42
|
+
Requires-Dist: mkdocs-literate-nav~=0.6; extra == "docs"
|
|
44
43
|
Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
|
|
45
44
|
Requires-Dist: mkdocs~=1.5; extra == "docs"
|
|
46
|
-
Requires-Dist:
|
|
47
|
-
Requires-Dist:
|
|
45
|
+
Requires-Dist: zipp>=3.19.1; extra == "docs"
|
|
46
|
+
Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "docs"
|
|
48
47
|
Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
|
|
49
48
|
Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "docs"
|
|
50
|
-
Requires-Dist:
|
|
49
|
+
Requires-Dist: mkdocstrings[python]~=1.0; extra == "docs"
|
|
50
|
+
Requires-Dist: pymdown-extensions~=10.9; extra == "docs"
|
|
51
51
|
Provides-Extra: dev
|
|
52
|
-
Requires-Dist: flake8; extra == "dev"
|
|
53
|
-
Requires-Dist: isort; extra == "dev"
|
|
54
52
|
Requires-Dist: black; extra == "dev"
|
|
55
53
|
Requires-Dist: pylint; extra == "dev"
|
|
54
|
+
Requires-Dist: flake8; extra == "dev"
|
|
56
55
|
Requires-Dist: bandit; extra == "dev"
|
|
56
|
+
Requires-Dist: isort; extra == "dev"
|
|
57
57
|
Provides-Extra: test
|
|
58
|
-
Requires-Dist: coverage; extra == "test"
|
|
59
58
|
Requires-Dist: tox; extra == "test"
|
|
59
|
+
Requires-Dist: coverage; extra == "test"
|
|
60
60
|
Provides-Extra: psql
|
|
61
|
-
Requires-Dist:
|
|
62
|
-
Requires-Dist: PyMySQL; extra == "psql"
|
|
61
|
+
Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "psql"
|
|
63
62
|
Requires-Dist: python-box[all]~=7.3.2; extra == "psql"
|
|
64
|
-
Requires-Dist:
|
|
65
|
-
Requires-Dist: domain2idna~=1.12.0; extra == "psql"
|
|
63
|
+
Requires-Dist: PyYAML; extra == "psql"
|
|
66
64
|
Requires-Dist: setuptools>=65.5.1; extra == "psql"
|
|
67
|
-
Requires-Dist:
|
|
65
|
+
Requires-Dist: psycopg2; extra == "psql"
|
|
66
|
+
Requires-Dist: alembic; extra == "psql"
|
|
67
|
+
Requires-Dist: domain2idna~=1.12.0; extra == "psql"
|
|
68
68
|
Requires-Dist: SQLAlchemy~=2.0; extra == "psql"
|
|
69
69
|
Requires-Dist: colorama; extra == "psql"
|
|
70
|
-
Requires-Dist: PyYAML; extra == "psql"
|
|
71
|
-
Requires-Dist: psycopg2; extra == "psql"
|
|
72
|
-
Requires-Dist: packaging; extra == "psql"
|
|
73
|
-
Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "psql"
|
|
74
70
|
Requires-Dist: shtab; extra == "psql"
|
|
75
|
-
Requires-Dist:
|
|
71
|
+
Requires-Dist: PyMySQL; extra == "psql"
|
|
76
72
|
Requires-Dist: inflection; extra == "psql"
|
|
73
|
+
Requires-Dist: packaging; extra == "psql"
|
|
74
|
+
Requires-Dist: requests[socks]<3; extra == "psql"
|
|
75
|
+
Requires-Dist: dnspython[DOH]~=2.8.0; extra == "psql"
|
|
76
|
+
Requires-Dist: python-dotenv; extra == "psql"
|
|
77
77
|
Provides-Extra: psql-binary
|
|
78
|
-
Requires-Dist:
|
|
79
|
-
Requires-Dist: psycopg2-binary; extra == "psql-binary"
|
|
80
|
-
Requires-Dist: PyMySQL; extra == "psql-binary"
|
|
78
|
+
Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "psql-binary"
|
|
81
79
|
Requires-Dist: python-box[all]~=7.3.2; extra == "psql-binary"
|
|
82
|
-
Requires-Dist:
|
|
83
|
-
Requires-Dist: domain2idna~=1.12.0; extra == "psql-binary"
|
|
80
|
+
Requires-Dist: PyYAML; extra == "psql-binary"
|
|
84
81
|
Requires-Dist: setuptools>=65.5.1; extra == "psql-binary"
|
|
85
|
-
Requires-Dist:
|
|
82
|
+
Requires-Dist: alembic; extra == "psql-binary"
|
|
83
|
+
Requires-Dist: domain2idna~=1.12.0; extra == "psql-binary"
|
|
86
84
|
Requires-Dist: SQLAlchemy~=2.0; extra == "psql-binary"
|
|
87
85
|
Requires-Dist: colorama; extra == "psql-binary"
|
|
88
|
-
Requires-Dist: PyYAML; extra == "psql-binary"
|
|
89
|
-
Requires-Dist: packaging; extra == "psql-binary"
|
|
90
|
-
Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "psql-binary"
|
|
91
86
|
Requires-Dist: shtab; extra == "psql-binary"
|
|
92
|
-
Requires-Dist:
|
|
87
|
+
Requires-Dist: PyMySQL; extra == "psql-binary"
|
|
93
88
|
Requires-Dist: inflection; extra == "psql-binary"
|
|
89
|
+
Requires-Dist: psycopg2-binary; extra == "psql-binary"
|
|
90
|
+
Requires-Dist: packaging; extra == "psql-binary"
|
|
91
|
+
Requires-Dist: requests[socks]<3; extra == "psql-binary"
|
|
92
|
+
Requires-Dist: dnspython[DOH]~=2.8.0; extra == "psql-binary"
|
|
93
|
+
Requires-Dist: python-dotenv; extra == "psql-binary"
|
|
94
94
|
Provides-Extra: postgresql
|
|
95
|
-
Requires-Dist:
|
|
96
|
-
Requires-Dist: PyMySQL; extra == "postgresql"
|
|
95
|
+
Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "postgresql"
|
|
97
96
|
Requires-Dist: python-box[all]~=7.3.2; extra == "postgresql"
|
|
98
|
-
Requires-Dist:
|
|
99
|
-
Requires-Dist: domain2idna~=1.12.0; extra == "postgresql"
|
|
97
|
+
Requires-Dist: PyYAML; extra == "postgresql"
|
|
100
98
|
Requires-Dist: setuptools>=65.5.1; extra == "postgresql"
|
|
101
|
-
Requires-Dist:
|
|
99
|
+
Requires-Dist: psycopg2; extra == "postgresql"
|
|
100
|
+
Requires-Dist: alembic; extra == "postgresql"
|
|
101
|
+
Requires-Dist: domain2idna~=1.12.0; extra == "postgresql"
|
|
102
102
|
Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql"
|
|
103
103
|
Requires-Dist: colorama; extra == "postgresql"
|
|
104
|
-
Requires-Dist: PyYAML; extra == "postgresql"
|
|
105
|
-
Requires-Dist: psycopg2; extra == "postgresql"
|
|
106
|
-
Requires-Dist: packaging; extra == "postgresql"
|
|
107
|
-
Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "postgresql"
|
|
108
104
|
Requires-Dist: shtab; extra == "postgresql"
|
|
109
|
-
Requires-Dist:
|
|
105
|
+
Requires-Dist: PyMySQL; extra == "postgresql"
|
|
110
106
|
Requires-Dist: inflection; extra == "postgresql"
|
|
107
|
+
Requires-Dist: packaging; extra == "postgresql"
|
|
108
|
+
Requires-Dist: requests[socks]<3; extra == "postgresql"
|
|
109
|
+
Requires-Dist: dnspython[DOH]~=2.8.0; extra == "postgresql"
|
|
110
|
+
Requires-Dist: python-dotenv; extra == "postgresql"
|
|
111
111
|
Provides-Extra: postgresql-binary
|
|
112
|
-
Requires-Dist:
|
|
113
|
-
Requires-Dist: psycopg2-binary; extra == "postgresql-binary"
|
|
114
|
-
Requires-Dist: PyMySQL; extra == "postgresql-binary"
|
|
112
|
+
Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "postgresql-binary"
|
|
115
113
|
Requires-Dist: python-box[all]~=7.3.2; extra == "postgresql-binary"
|
|
116
|
-
Requires-Dist:
|
|
117
|
-
Requires-Dist: domain2idna~=1.12.0; extra == "postgresql-binary"
|
|
114
|
+
Requires-Dist: PyYAML; extra == "postgresql-binary"
|
|
118
115
|
Requires-Dist: setuptools>=65.5.1; extra == "postgresql-binary"
|
|
119
|
-
Requires-Dist:
|
|
116
|
+
Requires-Dist: alembic; extra == "postgresql-binary"
|
|
117
|
+
Requires-Dist: domain2idna~=1.12.0; extra == "postgresql-binary"
|
|
120
118
|
Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql-binary"
|
|
121
119
|
Requires-Dist: colorama; extra == "postgresql-binary"
|
|
122
|
-
Requires-Dist: PyYAML; extra == "postgresql-binary"
|
|
123
|
-
Requires-Dist: packaging; extra == "postgresql-binary"
|
|
124
|
-
Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "postgresql-binary"
|
|
125
120
|
Requires-Dist: shtab; extra == "postgresql-binary"
|
|
126
|
-
Requires-Dist:
|
|
121
|
+
Requires-Dist: PyMySQL; extra == "postgresql-binary"
|
|
127
122
|
Requires-Dist: inflection; extra == "postgresql-binary"
|
|
123
|
+
Requires-Dist: psycopg2-binary; extra == "postgresql-binary"
|
|
124
|
+
Requires-Dist: packaging; extra == "postgresql-binary"
|
|
125
|
+
Requires-Dist: requests[socks]<3; extra == "postgresql-binary"
|
|
126
|
+
Requires-Dist: dnspython[DOH]~=2.8.0; extra == "postgresql-binary"
|
|
127
|
+
Requires-Dist: python-dotenv; extra == "postgresql-binary"
|
|
128
128
|
Provides-Extra: full
|
|
129
|
-
Requires-Dist:
|
|
130
|
-
Requires-Dist: flake8; extra == "full"
|
|
131
|
-
Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
|
|
132
|
-
Requires-Dist: domain2idna~=1.12.0; extra == "full"
|
|
133
|
-
Requires-Dist: tox; extra == "full"
|
|
134
|
-
Requires-Dist: SQLAlchemy~=2.0; extra == "full"
|
|
135
|
-
Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "full"
|
|
129
|
+
Requires-Dist: PyYAML; extra == "full"
|
|
136
130
|
Requires-Dist: mkdocs-gen-files~=0.5; extra == "full"
|
|
131
|
+
Requires-Dist: shtab; extra == "full"
|
|
132
|
+
Requires-Dist: PyMySQL; extra == "full"
|
|
133
|
+
Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
|
|
134
|
+
Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "full"
|
|
135
|
+
Requires-Dist: tox; extra == "full"
|
|
136
|
+
Requires-Dist: bandit; extra == "full"
|
|
137
137
|
Requires-Dist: isort; extra == "full"
|
|
138
|
+
Requires-Dist: mkdocs-material~=9.5; extra == "full"
|
|
139
|
+
Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
|
|
140
|
+
Requires-Dist: mkdocs~=1.5; extra == "full"
|
|
141
|
+
Requires-Dist: SQLAlchemy~=2.0; extra == "full"
|
|
138
142
|
Requires-Dist: coverage; extra == "full"
|
|
139
|
-
Requires-Dist: mkdocstrings[python]~=1.0; extra == "full"
|
|
140
|
-
Requires-Dist: alembic; extra == "full"
|
|
141
143
|
Requires-Dist: inflection; extra == "full"
|
|
142
144
|
Requires-Dist: dnspython[DOH]~=2.8.0; extra == "full"
|
|
143
|
-
Requires-Dist:
|
|
144
|
-
Requires-Dist:
|
|
145
|
+
Requires-Dist: pymdown-extensions~=10.9; extra == "full"
|
|
146
|
+
Requires-Dist: python-box[all]~=7.3.2; extra == "full"
|
|
147
|
+
Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
|
|
148
|
+
Requires-Dist: alembic; extra == "full"
|
|
145
149
|
Requires-Dist: colorama; extra == "full"
|
|
146
|
-
Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
|
|
147
|
-
Requires-Dist: zipp>=3.19.1; extra == "full"
|
|
148
|
-
Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "full"
|
|
149
|
-
Requires-Dist: mkdocs~=1.5; extra == "full"
|
|
150
|
-
Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
|
|
151
|
-
Requires-Dist: setuptools>=65.5.1; extra == "full"
|
|
152
|
-
Requires-Dist: python-dotenv; extra == "full"
|
|
153
|
-
Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
|
|
154
|
-
Requires-Dist: PyYAML; extra == "full"
|
|
155
150
|
Requires-Dist: packaging; extra == "full"
|
|
156
|
-
Requires-Dist: pymdown-extensions~=10.9; extra == "full"
|
|
157
|
-
Requires-Dist: pylint; extra == "full"
|
|
158
151
|
Requires-Dist: requests[socks]<3; extra == "full"
|
|
159
|
-
Requires-Dist:
|
|
152
|
+
Requires-Dist: python-dotenv; extra == "full"
|
|
153
|
+
Requires-Dist: mkdocstrings[python]~=1.0; extra == "full"
|
|
154
|
+
Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "full"
|
|
160
155
|
Requires-Dist: black; extra == "full"
|
|
161
|
-
Requires-Dist:
|
|
156
|
+
Requires-Dist: setuptools>=65.5.1; extra == "full"
|
|
157
|
+
Requires-Dist: domain2idna~=1.12.0; extra == "full"
|
|
158
|
+
Requires-Dist: zipp>=3.19.1; extra == "full"
|
|
159
|
+
Requires-Dist: flake8; extra == "full"
|
|
160
|
+
Requires-Dist: pylint; extra == "full"
|
|
161
|
+
Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
|
|
162
162
|
Provides-Extra: all
|
|
163
|
-
Requires-Dist:
|
|
164
|
-
Requires-Dist: python-box[all]~=7.3.2; extra == "all"
|
|
165
|
-
Requires-Dist: flake8; extra == "all"
|
|
166
|
-
Requires-Dist: mkdocs-literate-nav~=0.6; extra == "all"
|
|
167
|
-
Requires-Dist: domain2idna~=1.12.0; extra == "all"
|
|
168
|
-
Requires-Dist: tox; extra == "all"
|
|
169
|
-
Requires-Dist: SQLAlchemy~=2.0; extra == "all"
|
|
170
|
-
Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "all"
|
|
163
|
+
Requires-Dist: PyYAML; extra == "all"
|
|
171
164
|
Requires-Dist: mkdocs-gen-files~=0.5; extra == "all"
|
|
165
|
+
Requires-Dist: shtab; extra == "all"
|
|
166
|
+
Requires-Dist: PyMySQL; extra == "all"
|
|
167
|
+
Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "all"
|
|
168
|
+
Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "all"
|
|
169
|
+
Requires-Dist: tox; extra == "all"
|
|
170
|
+
Requires-Dist: bandit; extra == "all"
|
|
172
171
|
Requires-Dist: isort; extra == "all"
|
|
172
|
+
Requires-Dist: mkdocs-material~=9.5; extra == "all"
|
|
173
|
+
Requires-Dist: mkdocs-section-index~=0.3; extra == "all"
|
|
174
|
+
Requires-Dist: mkdocs~=1.5; extra == "all"
|
|
175
|
+
Requires-Dist: SQLAlchemy~=2.0; extra == "all"
|
|
173
176
|
Requires-Dist: coverage; extra == "all"
|
|
174
|
-
Requires-Dist: mkdocstrings[python]~=1.0; extra == "all"
|
|
175
|
-
Requires-Dist: alembic; extra == "all"
|
|
176
177
|
Requires-Dist: inflection; extra == "all"
|
|
177
178
|
Requires-Dist: dnspython[DOH]~=2.8.0; extra == "all"
|
|
178
|
-
Requires-Dist:
|
|
179
|
-
Requires-Dist:
|
|
179
|
+
Requires-Dist: pymdown-extensions~=10.9; extra == "all"
|
|
180
|
+
Requires-Dist: python-box[all]~=7.3.2; extra == "all"
|
|
181
|
+
Requires-Dist: mkdocs-literate-nav~=0.6; extra == "all"
|
|
182
|
+
Requires-Dist: alembic; extra == "all"
|
|
180
183
|
Requires-Dist: colorama; extra == "all"
|
|
181
|
-
Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "all"
|
|
182
|
-
Requires-Dist: zipp>=3.19.1; extra == "all"
|
|
183
|
-
Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "all"
|
|
184
|
-
Requires-Dist: mkdocs~=1.5; extra == "all"
|
|
185
|
-
Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "all"
|
|
186
|
-
Requires-Dist: setuptools>=65.5.1; extra == "all"
|
|
187
|
-
Requires-Dist: python-dotenv; extra == "all"
|
|
188
|
-
Requires-Dist: mkdocs-section-index~=0.3; extra == "all"
|
|
189
|
-
Requires-Dist: PyYAML; extra == "all"
|
|
190
184
|
Requires-Dist: packaging; extra == "all"
|
|
191
|
-
Requires-Dist: pymdown-extensions~=10.9; extra == "all"
|
|
192
|
-
Requires-Dist: pylint; extra == "all"
|
|
193
185
|
Requires-Dist: requests[socks]<3; extra == "all"
|
|
194
|
-
Requires-Dist:
|
|
186
|
+
Requires-Dist: python-dotenv; extra == "all"
|
|
187
|
+
Requires-Dist: mkdocstrings[python]~=1.0; extra == "all"
|
|
188
|
+
Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "all"
|
|
195
189
|
Requires-Dist: black; extra == "all"
|
|
196
|
-
Requires-Dist:
|
|
190
|
+
Requires-Dist: setuptools>=65.5.1; extra == "all"
|
|
191
|
+
Requires-Dist: domain2idna~=1.12.0; extra == "all"
|
|
192
|
+
Requires-Dist: zipp>=3.19.1; extra == "all"
|
|
193
|
+
Requires-Dist: flake8; extra == "all"
|
|
194
|
+
Requires-Dist: pylint; extra == "all"
|
|
195
|
+
Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "all"
|
|
196
|
+
Requires-Dist: psycopg2-binary; extra == "all"
|
|
197
197
|
Dynamic: author
|
|
198
198
|
Dynamic: author-email
|
|
199
199
|
Dynamic: classifier
|
|
@@ -54,7 +54,7 @@ License:
|
|
|
54
54
|
|
|
55
55
|
import multiprocessing
|
|
56
56
|
from datetime import datetime
|
|
57
|
-
from typing import Dict, List, Optional
|
|
57
|
+
from typing import Any, Dict, List, Optional
|
|
58
58
|
|
|
59
59
|
from sqlalchemy.orm import Session
|
|
60
60
|
|
|
@@ -110,8 +110,12 @@ class AvailabilityCheckerBase(CheckerBase):
|
|
|
110
110
|
Optional, Activates/Disables the check of the status before the actual
|
|
111
111
|
status gathering.
|
|
112
112
|
:param bool use_whois_db:
|
|
113
|
-
Optional, Activates/
|
|
113
|
+
Optional, Activates/Disables the usage of a local database to store the
|
|
114
114
|
WHOIS datasets.
|
|
115
|
+
:param bool use_platform:
|
|
116
|
+
Optional, Activates/Disables the usage of the platform features.
|
|
117
|
+
:param multiprocessing.Lock shared_lock:
|
|
118
|
+
Optional, The shared lock to use to access shared resources.
|
|
115
119
|
"""
|
|
116
120
|
|
|
117
121
|
# pylint: disable=too-many-public-methods, too-many-instance-attributes
|
|
@@ -160,6 +164,7 @@ class AvailabilityCheckerBase(CheckerBase):
|
|
|
160
164
|
db_session: Optional[Session] = None,
|
|
161
165
|
use_whois_db: Optional[bool] = None,
|
|
162
166
|
use_platform: Optional[bool] = None,
|
|
167
|
+
shared_lock: Optional[Any] = None,
|
|
163
168
|
) -> None:
|
|
164
169
|
self.dns_query_tool = DNSQueryTool()
|
|
165
170
|
self.whois_query_tool = WhoisQueryTool()
|
|
@@ -226,6 +231,7 @@ class AvailabilityCheckerBase(CheckerBase):
|
|
|
226
231
|
do_syntax_check_first=do_syntax_check_first,
|
|
227
232
|
db_session=db_session,
|
|
228
233
|
use_platform=use_platform,
|
|
234
|
+
shared_lock=shared_lock,
|
|
229
235
|
)
|
|
230
236
|
|
|
231
237
|
@property
|
|
@@ -761,7 +767,9 @@ class AvailabilityCheckerBase(CheckerBase):
|
|
|
761
767
|
if (
|
|
762
768
|
PyFunceble.facility.ConfigLoader.is_already_loaded() and self.use_whois_db
|
|
763
769
|
): # pragma: no cover ## Not interesting enough to spend time on it.
|
|
764
|
-
whois_object = get_whois_dataset_object(
|
|
770
|
+
whois_object = get_whois_dataset_object(
|
|
771
|
+
db_session=self.db_session, shared_lock=self.shared_lock
|
|
772
|
+
)
|
|
765
773
|
known_record = whois_object[self.subject]
|
|
766
774
|
|
|
767
775
|
if known_record and not isinstance(known_record, dict):
|
|
@@ -115,7 +115,9 @@ class DomainAvailabilityChecker(AvailabilityCheckerBase):
|
|
|
115
115
|
self.status.idna_subject,
|
|
116
116
|
)
|
|
117
117
|
|
|
118
|
-
lookup_result = DomainReputationChecker(
|
|
118
|
+
lookup_result = DomainReputationChecker(
|
|
119
|
+
self.status.idna_subject, shared_lock=self.shared_lock
|
|
120
|
+
).get_status()
|
|
119
121
|
|
|
120
122
|
# pylint: disable=no-member
|
|
121
123
|
if lookup_result and lookup_result.is_malicious():
|
{pyfunceble_dev-4.3.1 → pyfunceble_dev-4.4.0}/PyFunceble/checker/availability/domain_and_ip.py
RENAMED
|
@@ -112,6 +112,7 @@ class DomainAndIPAvailabilityChecker(AvailabilityCheckerBase):
|
|
|
112
112
|
db_session=self.db_session,
|
|
113
113
|
use_whois_db=self.use_whois_db,
|
|
114
114
|
use_platform=self.use_platform,
|
|
115
|
+
shared_lock=self.shared_lock,
|
|
115
116
|
)
|
|
116
117
|
else:
|
|
117
118
|
query_object = DomainAvailabilityChecker(
|
|
@@ -126,6 +127,7 @@ class DomainAndIPAvailabilityChecker(AvailabilityCheckerBase):
|
|
|
126
127
|
db_session=self.db_session,
|
|
127
128
|
use_whois_db=self.use_whois_db,
|
|
128
129
|
use_platform=self.use_platform,
|
|
130
|
+
shared_lock=self.shared_lock,
|
|
129
131
|
)
|
|
130
132
|
|
|
131
133
|
query_object.dns_query_tool = self.dns_query_tool
|
|
@@ -52,7 +52,7 @@ License:
|
|
|
52
52
|
|
|
53
53
|
import datetime
|
|
54
54
|
import functools
|
|
55
|
-
from typing import Optional
|
|
55
|
+
from typing import Any, Optional
|
|
56
56
|
|
|
57
57
|
import domain2idna
|
|
58
58
|
from sqlalchemy.orm import Session
|
|
@@ -77,6 +77,12 @@ class CheckerBase:
|
|
|
77
77
|
|
|
78
78
|
.. warning::
|
|
79
79
|
This does not apply to the syntax checker - itself.
|
|
80
|
+
:param Session db_session:
|
|
81
|
+
Optional, The database session to use.
|
|
82
|
+
:param bool use_platform:
|
|
83
|
+
Optional, Authorizes the usage of the platform.
|
|
84
|
+
:param Any shared_lock:
|
|
85
|
+
Optional, The shared lock to use to access shared resources.
|
|
80
86
|
"""
|
|
81
87
|
|
|
82
88
|
STD_DO_SYNTAX_CHECK_FIRST: bool = False
|
|
@@ -97,6 +103,8 @@ class CheckerBase:
|
|
|
97
103
|
status: Optional[CheckerStatusBase] = None
|
|
98
104
|
params: Optional[CheckerParamsBase] = None
|
|
99
105
|
|
|
106
|
+
shared_lock: Optional[Any] = None
|
|
107
|
+
|
|
100
108
|
def __init__(
|
|
101
109
|
self,
|
|
102
110
|
subject: Optional[str] = None,
|
|
@@ -104,6 +112,7 @@ class CheckerBase:
|
|
|
104
112
|
do_syntax_check_first: Optional[bool] = None,
|
|
105
113
|
db_session: Optional[Session] = None,
|
|
106
114
|
use_platform: Optional[bool] = None,
|
|
115
|
+
shared_lock: Optional[Any] = None,
|
|
107
116
|
) -> None:
|
|
108
117
|
self.platform_query_tool = PlatformQueryTool()
|
|
109
118
|
self.url2netloc = Url2Netloc()
|
|
@@ -115,6 +124,9 @@ class CheckerBase:
|
|
|
115
124
|
if self.status is None:
|
|
116
125
|
self.status = CheckerStatusBase()
|
|
117
126
|
|
|
127
|
+
if shared_lock is not None:
|
|
128
|
+
self.shared_lock = shared_lock
|
|
129
|
+
|
|
118
130
|
if subject is not None:
|
|
119
131
|
self.subject = subject
|
|
120
132
|
|
|
@@ -50,7 +50,7 @@ License:
|
|
|
50
50
|
limitations under the License.
|
|
51
51
|
"""
|
|
52
52
|
|
|
53
|
-
from typing import List, Optional
|
|
53
|
+
from typing import Any, List, Optional
|
|
54
54
|
|
|
55
55
|
from sqlalchemy.orm import Session
|
|
56
56
|
|
|
@@ -75,6 +75,12 @@ class ReputationCheckerBase(CheckerBase):
|
|
|
75
75
|
:param bool do_syntax_check_first:
|
|
76
76
|
Optional, Activates/Disables the check of the status before the actual
|
|
77
77
|
status gathering.
|
|
78
|
+
:param Session db_session:
|
|
79
|
+
Optional, The database session to use.
|
|
80
|
+
:param bool use_platform:
|
|
81
|
+
Optional, Authorizes the usage of the platform.
|
|
82
|
+
:param Any shared_lock:
|
|
83
|
+
Optional, The shared lock to use to access shared resources.
|
|
78
84
|
"""
|
|
79
85
|
|
|
80
86
|
dns_query_tool: Optional[DNSQueryTool] = None
|
|
@@ -92,9 +98,10 @@ class ReputationCheckerBase(CheckerBase):
|
|
|
92
98
|
do_syntax_check_first: Optional[bool] = None,
|
|
93
99
|
db_session: Optional[Session] = None,
|
|
94
100
|
use_platform: Optional[bool] = None,
|
|
101
|
+
shared_lock: Optional[Any] = None,
|
|
95
102
|
) -> None:
|
|
96
103
|
self.dns_query_tool = DNSQueryTool()
|
|
97
|
-
self.ipv4_reputation_query_tool = IPV4ReputationDataset()
|
|
104
|
+
self.ipv4_reputation_query_tool = IPV4ReputationDataset(shared_lock=shared_lock)
|
|
98
105
|
self.domain_syntax_checker = DomainSyntaxChecker()
|
|
99
106
|
self.ip_syntax_checker = IPSyntaxChecker()
|
|
100
107
|
self.url_syntax_checker = URLSyntaxChecker()
|
|
@@ -110,6 +117,7 @@ class ReputationCheckerBase(CheckerBase):
|
|
|
110
117
|
do_syntax_check_first=do_syntax_check_first,
|
|
111
118
|
db_session=db_session,
|
|
112
119
|
use_platform=use_platform,
|
|
120
|
+
shared_lock=shared_lock,
|
|
113
121
|
)
|
|
114
122
|
|
|
115
123
|
@staticmethod
|
|
@@ -50,7 +50,7 @@ License:
|
|
|
50
50
|
limitations under the License.
|
|
51
51
|
"""
|
|
52
52
|
|
|
53
|
-
from typing import Optional
|
|
53
|
+
from typing import Any, Optional
|
|
54
54
|
|
|
55
55
|
from sqlalchemy.orm import Session
|
|
56
56
|
|
|
@@ -78,13 +78,16 @@ class SyntaxCheckerBase(CheckerBase):
|
|
|
78
78
|
self,
|
|
79
79
|
subject: Optional[str] = None,
|
|
80
80
|
db_session: Optional[Session] = None,
|
|
81
|
+
shared_lock: Optional[Any] = None,
|
|
81
82
|
) -> None:
|
|
82
83
|
self.params = SyntaxCheckerParams()
|
|
83
84
|
|
|
84
85
|
self.status = SyntaxCheckerStatus()
|
|
85
86
|
self.status.params = self.params
|
|
86
87
|
|
|
87
|
-
super().__init__(
|
|
88
|
+
super().__init__(
|
|
89
|
+
subject=subject, db_session=db_session, shared_lock=shared_lock
|
|
90
|
+
)
|
|
88
91
|
|
|
89
92
|
def subject_propagator(self) -> "CheckerBase":
|
|
90
93
|
"""
|
|
@@ -50,7 +50,7 @@ License:
|
|
|
50
50
|
limitations under the License.
|
|
51
51
|
"""
|
|
52
52
|
|
|
53
|
-
from typing import Optional, Union
|
|
53
|
+
from typing import Any, Optional, Union
|
|
54
54
|
|
|
55
55
|
from sqlalchemy.orm import Session
|
|
56
56
|
|
|
@@ -64,13 +64,17 @@ from PyFunceble.dataset.whois.sql import SQLDBWhoisDataset
|
|
|
64
64
|
|
|
65
65
|
|
|
66
66
|
def get_whois_dataset_object(
|
|
67
|
-
*,
|
|
67
|
+
*,
|
|
68
|
+
db_session: Optional[Session] = None,
|
|
69
|
+
shared_lock: Optional[Any] = None,
|
|
68
70
|
) -> Union[DatasetBase, CSVDatasetBase, DBDatasetBase]:
|
|
69
71
|
"""
|
|
70
72
|
Provides the whois dataset object to work with.
|
|
71
73
|
|
|
72
74
|
:param db_session:
|
|
73
75
|
A database session to use.
|
|
76
|
+
:param shared_lock:
|
|
77
|
+
Optional, The shared lock to use to access shared resources.
|
|
74
78
|
|
|
75
79
|
:raise ValueError:
|
|
76
80
|
When the given database type is unknown.
|
|
@@ -80,7 +84,7 @@ def get_whois_dataset_object(
|
|
|
80
84
|
|
|
81
85
|
if PyFunceble.facility.ConfigLoader.is_already_loaded():
|
|
82
86
|
if PyFunceble.storage.CONFIGURATION.cli_testing.db_type == "csv":
|
|
83
|
-
return CSVWhoisDataset().set_authorized(
|
|
87
|
+
return CSVWhoisDataset(shared_lock=shared_lock).set_authorized(
|
|
84
88
|
bool(PyFunceble.storage.CONFIGURATION.cli_testing.whois_db)
|
|
85
89
|
)
|
|
86
90
|
|
|
@@ -60,3 +60,10 @@ class ProcessesManagerBase(PyFunceble.ext.process_manager.ProcessManagerCore):
|
|
|
60
60
|
"""
|
|
61
61
|
Provides the base of all classes.
|
|
62
62
|
"""
|
|
63
|
+
|
|
64
|
+
def __init__(self, *args, **kwargs) -> None:
|
|
65
|
+
# Better handling of shared locks.
|
|
66
|
+
# This help be be retro-compatible. Allowing existing users to
|
|
67
|
+
# not get exceptions.
|
|
68
|
+
shared_lock = kwargs.pop("shared_lock", None)
|
|
69
|
+
super().__init__(*args, **kwargs, shared_lock=shared_lock)
|
|
@@ -125,9 +125,15 @@ class ProducerWorker(WorkerBase):
|
|
|
125
125
|
self.file_printer = FilePrinter(
|
|
126
126
|
skip_column=skip_columns, extra_formatters=extra_formatters
|
|
127
127
|
)
|
|
128
|
-
self.whois_dataset = get_whois_dataset_object(
|
|
129
|
-
|
|
130
|
-
|
|
128
|
+
self.whois_dataset = get_whois_dataset_object(
|
|
129
|
+
db_session=self.db_session, shared_lock=self.shared_lock
|
|
130
|
+
)
|
|
131
|
+
self.inactive_dataset = get_inactive_dataset_object(
|
|
132
|
+
db_session=self.db_session, shared_lock=self.shared_lock
|
|
133
|
+
)
|
|
134
|
+
self.continue_dataset = get_continue_dataset_object(
|
|
135
|
+
db_session=self.db_session, shared_lock=self.shared_lock
|
|
136
|
+
)
|
|
131
137
|
self.status_file_generator = StatusFileGenerator().guess_all_settings()
|
|
132
138
|
self.counter = FilesystemCounter()
|
|
133
139
|
self.registrar_counter = RegistrarCounter()
|
|
@@ -90,12 +90,12 @@ class TesterWorker(WorkerBase):
|
|
|
90
90
|
|
|
91
91
|
self.continue_dataset = (
|
|
92
92
|
PyFunceble.cli.utils.testing.get_continue_dataset_object(
|
|
93
|
-
db_session=self.db_session
|
|
93
|
+
db_session=self.db_session, shared_lock=self.shared_lock
|
|
94
94
|
)
|
|
95
95
|
)
|
|
96
96
|
self.inactive_dataset = (
|
|
97
97
|
PyFunceble.cli.utils.testing.get_inactive_dataset_object(
|
|
98
|
-
db_session=self.db_session
|
|
98
|
+
db_session=self.db_session, shared_lock=self.shared_lock
|
|
99
99
|
)
|
|
100
100
|
)
|
|
101
101
|
|
|
@@ -191,7 +191,7 @@ class TesterWorker(WorkerBase):
|
|
|
191
191
|
self.initiated_testing_objects[checker_type][
|
|
192
192
|
subject_type
|
|
193
193
|
] = self.known_testing_objects[checker_type][subject_type](
|
|
194
|
-
db_session=self.db_session
|
|
194
|
+
db_session=self.db_session, shared_lock=self.shared_lock
|
|
195
195
|
).set_do_syntax_check_first(
|
|
196
196
|
# We want to always check the syntax first (ONLY UNDER THE CLI)
|
|
197
197
|
not bool(PyFunceble.storage.CONFIGURATION.cli_testing.local_network)
|
|
@@ -278,12 +278,12 @@ class TesterWorker(WorkerBase):
|
|
|
278
278
|
test_dataset["idna_subject"],
|
|
279
279
|
)
|
|
280
280
|
|
|
281
|
-
self._init_testing_object(
|
|
281
|
+
testing_object = self._init_testing_object(
|
|
282
282
|
test_dataset["subject_type"], test_dataset["checker_type"]
|
|
283
283
|
)
|
|
284
284
|
|
|
285
285
|
result = (
|
|
286
|
-
|
|
286
|
+
testing_object.set_subject(test_dataset["idna_subject"])
|
|
287
287
|
.query_status()
|
|
288
288
|
.get_status()
|
|
289
289
|
)
|