PyFunceble-dev 4.2.7__tar.gz → 4.2.9__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.2.7 → PyFunceble-dev-4.2.9}/PKG-INFO +1 -1
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/base.py +1 -7
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/domain.py +0 -1
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/base.py +1 -2
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/rules.py +1 -1
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/ip.py +0 -1
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/url.py +0 -1
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/base.py +0 -1
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/domain.py +0 -1
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/ip.py +0 -1
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/url.py +0 -1
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/second_lvl_domain.py +6 -2
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/status.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/subdomain.py +3 -1
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/url.py +0 -1
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/credential_loader.py +3 -3
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/file_preloader.py +3 -3
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/base.py +0 -1
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/base.py +3 -3
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/scripts/production.py +3 -4
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/storage.py +5 -3
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/utils/testing.py +1 -3
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/35c79626ecb9_fix_some_columns.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/3a4c55a9320d_add_continue_table.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/3d6f4a33cdb2_add_inactive_table.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/45713fea8097_deletion_uneeded_columns_from_whois_.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/459a0d7b8f09_add_idna_subject_column_into_whois.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/6f4729deaf03_delete_inactive_source_column.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/7bcf7fa64ba1_rename_created_to_created_at_and.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/83ada95132bf_delete_the_file_table.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/912bbcb77a6c_add_registrar_column.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/95dc17ddd729_introduction_of_the_session_id_column.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/ade87195b0a0_base.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/bef7bcaac3f2_make_id_a_bigint.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/d8893cd406db_allow_whois_record_to_be_empty_null.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/e04e8301d1a2_deletion_of_the_mined_table.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/postgresql/versions/a32ac5d66eee_initial_version.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/collection.py +97 -7
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/requests/adapter/https.py +6 -6
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/converter/digit2digits.py +1 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/storage.py +4 -2
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble_dev.egg-info/PKG-INFO +1 -1
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble_dev.egg-info/requires.txt +44 -44
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/requirements.txt +2 -2
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/requirements.win.txt +3 -3
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/version.yaml +1 -1
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/CODE_OF_CONDUCT.rst +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/CONTRIBUTING.rst +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/LICENSE +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/MANIFEST.in +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/domain_and_ip.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/dns.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/etoxic.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/parked.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/subject_switch.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/params.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/status.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/complex_json_encoder.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/params_base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/domain_and_ip.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/params.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/status.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/status_base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/domain.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/domain_and_ip.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/domain_base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/ip.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/ipv4.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/ipv6.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/params.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/utils/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/utils/whois.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/exceptions.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/github_actions.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/gitlab_ci.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/jenkins.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/travis_ci.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/utils.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/clean.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/iana.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/production.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/public_suffix.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/pyfunceble/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/pyfunceble/argsparser.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/pyfunceble/cli.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/execution_time.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/facility.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/factory.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/cleanup.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/counter.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/dir_base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/dir_structure/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/dir_structure/backup.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/dir_structure/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/dir_structure/restore.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/json_base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/printer/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/printer/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/printer/file.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/printer/stdout.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/registrar_counter.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/status_file.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/alembic.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/csv_file/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/csv_file/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/csv_file/inactive_source_delete.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/csv_file/whois_registrar_add.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/db_base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/file_cleanup/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/file_cleanup/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/file_cleanup/hashes_file.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/file_cleanup/mining_file.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/file_cleanup/production_config_file.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/json2csv/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/json2csv/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/json2csv/inactive.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/json2csv/whois.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/mariadb/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/mariadb/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/mariadb/file_and_status.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/mariadb/whois_record_idna_subject.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/chancy_producer.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/chancy_tester.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/dir_files_sorter.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/file_sorter.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/migrator.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/miner.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/producer.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/tester.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/chancy_producer.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/chancy_tester.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/dir_files_sorter.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/file_sorter.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/file_sorter_base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/migrator.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/miner.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/producer.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/tester.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/scripts/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/scripts/iana.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/scripts/public_suffix.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/storage_facility.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/system/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/system/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/system/integrator.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/system/launcher.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/utils/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/utils/ascii_logo.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/utils/sort.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/utils/stdout.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/utils/version.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/config/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/config/compare.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/config/loader.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/adblock_input_line2subject.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/cidr2subject.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/input_line2subject.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/internal_url.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/rpz_input_line2subject.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/rpz_policy2subject.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/subject2complements.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/url2netloc.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/wildcard2subject.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/env.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/script.py.mako +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/postgresql/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/postgresql/env.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/postgresql/script.py.mako +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/postgresql/versions/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/infrastructure/.PyFunceble_production.yaml +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/infrastructure/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/infrastructure/dir_structure_production.json +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/credential/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/credential/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/credential/mariadb.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/credential/mysql.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/credential/postgresql.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/schemas/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/schemas/autocontinue.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/schemas/inactive.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/schemas/status.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/schemas/whois_record.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/session.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/sqlalchemy/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/sqlalchemy/all_schemas.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/sqlalchemy/base_schema.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/autocontinue/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/autocontinue/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/autocontinue/csv.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/autocontinue/sql.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/csv_base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/db_base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/iana.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/inactive/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/inactive/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/inactive/csv.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/inactive/sql.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/ipv4_reputation.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/public_suffix.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/sql_base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/user_agent.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/whois/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/whois/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/whois/csv.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/whois/sql.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/downloader/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/downloader/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/downloader/exceptions.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/downloader/iana.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/downloader/ipv4_reputation.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/downloader/public_suffix.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/downloader/user_agents.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/exceptions.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/facility.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/factory.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/command.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/dict.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/directory.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/download.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/environment_variable.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/exceptions.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/file.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/hash.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/list.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/merge.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/regex.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/logger.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/dns/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/dns/nameserver.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/dns/query_tool.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/dns/resolver.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/http_status_code.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/netinfo/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/netinfo/address.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/netinfo/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/netinfo/hostbyaddr.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/record/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/record/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/record/dns.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/record/whois.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/requests/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/requests/adapter/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/requests/adapter/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/requests/adapter/http.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/requests/requester.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/converter/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/converter/base.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/converter/expiration_date.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/converter/month2unified.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/converter/registrar.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/query_tool.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/sessions.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/storage_facility.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/utils/__init__.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/utils/platform.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/utils/profile.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/utils/version.py +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble_dev.egg-info/SOURCES.txt +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble_dev.egg-info/dependency_links.txt +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble_dev.egg-info/entry_points.txt +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble_dev.egg-info/top_level.txt +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/README.rst +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/requirements.dev.txt +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/requirements.docs.txt +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/requirements.test.txt +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/setup.cfg +0 -0
- {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/setup.py +0 -0
@@ -76,7 +76,6 @@ from PyFunceble.checker.syntax.domain import DomainSyntaxChecker
|
|
76
76
|
from PyFunceble.checker.syntax.ip import IPSyntaxChecker
|
77
77
|
from PyFunceble.checker.syntax.url import URLSyntaxChecker
|
78
78
|
from PyFunceble.converter.url2netloc import Url2Netloc
|
79
|
-
from PyFunceble.helpers.regex import RegexHelper
|
80
79
|
from PyFunceble.query.dns.query_tool import DNSQueryTool
|
81
80
|
from PyFunceble.query.http_status_code import HTTPStatusCode
|
82
81
|
from PyFunceble.query.netinfo.address import AddressInfo
|
@@ -919,12 +918,7 @@ class AvailabilityCheckerBase(CheckerBase):
|
|
919
918
|
if from_domain_test and self.status.url_syntax:
|
920
919
|
return self
|
921
920
|
|
922
|
-
if not self.status.url_syntax and not
|
923
|
-
self.idna_subject, return_match=False
|
924
|
-
):
|
925
|
-
# The regex is there because while testing for domain, sometime we
|
926
|
-
# may see something like mailto:xxx@yyy.de
|
927
|
-
|
921
|
+
if not self.status.url_syntax and not self.idna_subject.startswith("http"):
|
928
922
|
self.http_status_code_query_tool.set_subject(
|
929
923
|
f"http://{self.idna_subject}:80"
|
930
924
|
)
|
{PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/base.py
RENAMED
@@ -50,7 +50,6 @@ License:
|
|
50
50
|
limitations under the License.
|
51
51
|
"""
|
52
52
|
|
53
|
-
|
54
53
|
import functools
|
55
54
|
import socket
|
56
55
|
from typing import Callable, Dict, List, Optional, Union
|
@@ -423,7 +422,7 @@ class ExtraRuleHandlerBase:
|
|
423
422
|
of the given one.
|
424
423
|
"""
|
425
424
|
|
426
|
-
if not isinstance(status_code, (list, tuple)):
|
425
|
+
if not isinstance(status_code, (list, tuple, set)):
|
427
426
|
status_code = [status_code]
|
428
427
|
|
429
428
|
if any(self.status.http_status_code == x for x in status_code):
|
{PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/rules.py
RENAMED
@@ -78,7 +78,7 @@ class ExtraRulesHandler(ExtraRuleHandlerBase):
|
|
78
78
|
def __init__(self, status: Optional[AvailabilityCheckerStatus] = None) -> None:
|
79
79
|
self.regex_active2inactive = {
|
80
80
|
r"\.000webhostapp\.com": [
|
81
|
-
(self.switch_to_down_if_status_code, 410),
|
81
|
+
(self.switch_to_down_if_status_code, {410, 424}),
|
82
82
|
],
|
83
83
|
r"\.24\.eu$": [(self.switch_to_down_if_status_code, 503)],
|
84
84
|
r"\.altervista\.org$": [(self.switch_to_down_if_status_code, 403)],
|
{PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/second_lvl_domain.py
RENAMED
@@ -65,8 +65,12 @@ class SecondLvlDomainSyntaxChecker(DomainSyntaxCheckerBase):
|
|
65
65
|
"""
|
66
66
|
|
67
67
|
# pylint: disable=line-too-long
|
68
|
-
REGEX_VALID_DOMAIN: str =
|
69
|
-
|
68
|
+
REGEX_VALID_DOMAIN: str = (
|
69
|
+
r"^(?=.{0,253}$)(([a-z0-9][a-z0-9-]{0,61}[a-z0-9]|[a-z0-9])\.)+((?=.*[^0-9])([a-z0-9][a-z0-9-]{0,61}[a-z0-9](?:\.)?|[a-z0-9](?:\.)?))$"
|
70
|
+
)
|
71
|
+
REGEX_VALID_RELAXED_DOMAIN: str = (
|
72
|
+
r"^(?=.{0,253}$)(([a-z0-9][a-z0-9_-]{0,61}[a-z0-9_-]|[a-z0-9])\.)+((?=.*[^0-9])([a-z0-9][a-z0-9-]{0,61}[a-z0-9](?:\.)?|[a-z0-9](?:\.)?))$"
|
73
|
+
)
|
70
74
|
|
71
75
|
last_point_index: Optional[int] = None
|
72
76
|
"""
|
@@ -63,7 +63,9 @@ class SubDomainSyntaxChecker(DomainSyntaxCheckerBase):
|
|
63
63
|
"""
|
64
64
|
|
65
65
|
# pylint: disable=line-too-long
|
66
|
-
REGEX_VALID_SUBDOMAIN: str =
|
66
|
+
REGEX_VALID_SUBDOMAIN: str = (
|
67
|
+
r"^(?=.{0,253}$)(([a-z0-9_][a-z0-9-_]{0,61}[a-z0-9_-]|[a-z0-9])\.)+((?=.*)([a-z0-9][a-z0-9-]{0,61}[a-z0-9](?:\.)?|[a-z0-9](?:\.)?))$"
|
68
|
+
)
|
67
69
|
|
68
70
|
@DomainSyntaxCheckerBase.ensure_subject_is_given
|
69
71
|
def is_valid(self) -> bool:
|
@@ -266,9 +266,9 @@ class CredentialLoader:
|
|
266
266
|
# We directly share the credential object into the DBSession object.
|
267
267
|
# This will let us use the DBSession without having to think about
|
268
268
|
# any other headache.
|
269
|
-
self.credential = (
|
270
|
-
|
271
|
-
)
|
269
|
+
self.credential = PyFunceble.cli.factory.DBSession.credential = (
|
270
|
+
self.DB_TYPE2OBJ[self.db_type]()
|
271
|
+
)
|
272
272
|
|
273
273
|
env_var_helper = EnvironmentVariableHelper(
|
274
274
|
env_file_path=self.credential.get_dot_env_file()
|
@@ -481,9 +481,9 @@ class FilePreloader:
|
|
481
481
|
raise exception
|
482
482
|
|
483
483
|
if not broken:
|
484
|
-
self.__description[self.__matching_index][
|
485
|
-
"
|
486
|
-
|
484
|
+
self.__description[self.__matching_index]["previous_hash"] = (
|
485
|
+
self.__description[self.__matching_index]["hash"]
|
486
|
+
)
|
487
487
|
|
488
488
|
self.__save_description()
|
489
489
|
|
@@ -115,9 +115,9 @@ class WorkerBase(multiprocessing.Process):
|
|
115
115
|
self.input_queue = self._params["input_queue"] = input_queue
|
116
116
|
self.output_queue = self._params["output_queue"] = output_queue
|
117
117
|
|
118
|
-
self.continuous_integration = self._params[
|
119
|
-
|
120
|
-
|
118
|
+
self.continuous_integration = self._params["continuous_integration"] = (
|
119
|
+
continuous_integration
|
120
|
+
)
|
121
121
|
|
122
122
|
self.global_exit_event = self._params["global_exit_event"] = global_exit_event
|
123
123
|
self.exit_it = multiprocessing.Event()
|
@@ -50,7 +50,6 @@ License:
|
|
50
50
|
limitations under the License.
|
51
51
|
"""
|
52
52
|
|
53
|
-
|
54
53
|
import copy
|
55
54
|
import functools
|
56
55
|
import os
|
@@ -516,9 +515,9 @@ class ProductionPrep:
|
|
516
515
|
if to_append not in self.version_file_content["deprecated"]:
|
517
516
|
self.version_file_content["deprecated"].append(to_append)
|
518
517
|
|
519
|
-
self.version_file_content[
|
520
|
-
|
521
|
-
|
518
|
+
self.version_file_content["current_version"] = (
|
519
|
+
PyFunceble.storage.PROJECT_VERSION
|
520
|
+
)
|
522
521
|
|
523
522
|
self.dict_helper.set_subject(self.version_file_content).to_yaml_file(
|
524
523
|
self.VERSION_FILE_PATH
|
@@ -253,9 +253,11 @@ UNIVERSAL_OUTPUTS: dict = {
|
|
253
253
|
}
|
254
254
|
|
255
255
|
OUTPUTS: Optional[Box] = Box(
|
256
|
-
|
257
|
-
|
258
|
-
|
256
|
+
(
|
257
|
+
Merge(UNIX_OUTPUTS).into(UNIVERSAL_OUTPUTS)
|
258
|
+
if PlatformUtility.is_unix()
|
259
|
+
else Merge(WIN_OUTPUTS).into(UNIVERSAL_OUTPUTS)
|
260
|
+
),
|
259
261
|
frozen_box=True,
|
260
262
|
)
|
261
263
|
|
@@ -232,9 +232,7 @@ def get_subjects_from_line(
|
|
232
232
|
if cidr2subject is None:
|
233
233
|
cidr2subject = CIDR2Subject()
|
234
234
|
|
235
|
-
adblock_inputline2subject.aggressive = (
|
236
|
-
wildcard2subject.aggressive
|
237
|
-
) = (
|
235
|
+
adblock_inputline2subject.aggressive = wildcard2subject.aggressive = (
|
238
236
|
rpz_inputline2subject.aggressive
|
239
237
|
) = inputline2subject.aggressive = url2netloc.aggressive = bool(
|
240
238
|
PyFunceble.storage.CONFIGURATION.cli_decoding.aggressive
|
@@ -88,6 +88,7 @@ class CollectionQueryTool:
|
|
88
88
|
|
89
89
|
STD_URL_BASE: str = "http://localhost:8001"
|
90
90
|
STD_PREFERRED_STATUS_ORIGIN: str = "frequent"
|
91
|
+
STD_TIMEOUT: float = 5.0
|
91
92
|
|
92
93
|
_token: Optional[str] = None
|
93
94
|
"""
|
@@ -109,6 +110,11 @@ class CollectionQueryTool:
|
|
109
110
|
Whether we are working with the modern or legacy API.
|
110
111
|
"""
|
111
112
|
|
113
|
+
_timeout: float = 5.0
|
114
|
+
"""
|
115
|
+
The timeout to use while communicating with the API.
|
116
|
+
"""
|
117
|
+
|
112
118
|
session: Optional[requests.Session] = None
|
113
119
|
|
114
120
|
def __init__(
|
@@ -117,6 +123,7 @@ class CollectionQueryTool:
|
|
117
123
|
token: Optional[str] = None,
|
118
124
|
url_base: Optional[str] = None,
|
119
125
|
preferred_status_origin: Optional[str] = None,
|
126
|
+
timeout: Optional[float] = None,
|
120
127
|
) -> None:
|
121
128
|
if token is not None:
|
122
129
|
self.token = token
|
@@ -135,6 +142,11 @@ class CollectionQueryTool:
|
|
135
142
|
else:
|
136
143
|
self.guess_and_set_preferred_status_origin()
|
137
144
|
|
145
|
+
if timeout is not None:
|
146
|
+
self.timeout = timeout
|
147
|
+
else:
|
148
|
+
self.guess_and_set_timeout()
|
149
|
+
|
138
150
|
self.session = requests.Session()
|
139
151
|
self.session.headers.update(
|
140
152
|
{
|
@@ -283,6 +295,43 @@ class CollectionQueryTool:
|
|
283
295
|
|
284
296
|
return self
|
285
297
|
|
298
|
+
@property
|
299
|
+
def timeout(self) -> float:
|
300
|
+
"""
|
301
|
+
Provides the value of the :code:`_timeout` attribute.
|
302
|
+
"""
|
303
|
+
|
304
|
+
return self._timeout
|
305
|
+
|
306
|
+
@timeout.setter
|
307
|
+
def timeout(self, value: float) -> None:
|
308
|
+
"""
|
309
|
+
Sets the value of the :code:`_timeout` attribute.
|
310
|
+
|
311
|
+
:param value:
|
312
|
+
The value to set.
|
313
|
+
|
314
|
+
:raise TypeError:
|
315
|
+
When the given :code:`value` is not a :py:class:`float`.
|
316
|
+
"""
|
317
|
+
|
318
|
+
if not isinstance(value, (int, float)):
|
319
|
+
raise TypeError(f"<value> should be {float}, {type(value)} given.")
|
320
|
+
|
321
|
+
self._timeout = value
|
322
|
+
|
323
|
+
def set_timeout(self, value: float) -> "CollectionQueryTool":
|
324
|
+
"""
|
325
|
+
Sets the value of the :code:`_timeout` attribute.
|
326
|
+
|
327
|
+
:param value:
|
328
|
+
The value to set.
|
329
|
+
"""
|
330
|
+
|
331
|
+
self.timeout = value
|
332
|
+
|
333
|
+
return self
|
334
|
+
|
286
335
|
def guess_and_set_url_base(self) -> "CollectionQueryTool":
|
287
336
|
"""
|
288
337
|
Try to guess the URL base to work with.
|
@@ -307,16 +356,22 @@ class CollectionQueryTool:
|
|
307
356
|
Try to guess if we are working with a legacy version.
|
308
357
|
"""
|
309
358
|
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
359
|
+
if self.token:
|
360
|
+
try:
|
361
|
+
response = self.session.get(
|
362
|
+
f"{self.url_base}/v1/stats/subject",
|
363
|
+
timeout=self.timeout,
|
364
|
+
)
|
314
365
|
|
315
|
-
|
366
|
+
response.raise_for_status()
|
316
367
|
|
368
|
+
self.is_modern_api = False
|
369
|
+
except (requests.RequestException, json.decoder.JSONDecodeError):
|
370
|
+
self.is_modern_api = True
|
371
|
+
else:
|
317
372
|
self.is_modern_api = False
|
318
|
-
|
319
|
-
|
373
|
+
|
374
|
+
return self
|
320
375
|
|
321
376
|
@property
|
322
377
|
def preferred_status_origin(self) -> Optional[str]:
|
@@ -380,6 +435,18 @@ class CollectionQueryTool:
|
|
380
435
|
|
381
436
|
return self
|
382
437
|
|
438
|
+
def guess_and_set_timeout(self) -> "CollectionQueryTool":
|
439
|
+
"""
|
440
|
+
Try to guess the timeout to use.
|
441
|
+
"""
|
442
|
+
|
443
|
+
if PyFunceble.facility.ConfigLoader.is_already_loaded():
|
444
|
+
self.timeout = PyFunceble.storage.CONFIGURATION.lookup.timeout
|
445
|
+
else:
|
446
|
+
self.timeout = self.STD_TIMEOUT
|
447
|
+
|
448
|
+
return self
|
449
|
+
|
383
450
|
def ensure_is_modern_api_is_set(func): # pylint: disable=no-self-argument
|
384
451
|
"""
|
385
452
|
Ensures that the :code:`is_modern_api` attribute is set before running
|
@@ -426,6 +493,7 @@ class CollectionQueryTool:
|
|
426
493
|
response = self.session.post(
|
427
494
|
url,
|
428
495
|
json={"subject": subject},
|
496
|
+
timeout=self.timeout,
|
429
497
|
)
|
430
498
|
|
431
499
|
response_json = response.json()
|
@@ -574,11 +642,26 @@ class CollectionQueryTool:
|
|
574
642
|
response = self.session.post(
|
575
643
|
url,
|
576
644
|
json=data,
|
645
|
+
timeout=self.timeout,
|
646
|
+
)
|
647
|
+
elif isinstance(
|
648
|
+
data,
|
649
|
+
(
|
650
|
+
AvailabilityCheckerStatus,
|
651
|
+
SyntaxCheckerStatus,
|
652
|
+
ReputationCheckerStatus,
|
653
|
+
),
|
654
|
+
):
|
655
|
+
response = self.session.post(
|
656
|
+
url,
|
657
|
+
json=data.to_dict(),
|
658
|
+
timeout=self.timeout,
|
577
659
|
)
|
578
660
|
else:
|
579
661
|
response = self.session.post(
|
580
662
|
url,
|
581
663
|
data=data,
|
664
|
+
timeout=self.timeout,
|
582
665
|
)
|
583
666
|
|
584
667
|
response_json = response.json()
|
@@ -622,6 +705,12 @@ class CollectionQueryTool:
|
|
622
705
|
if not self.token:
|
623
706
|
return None
|
624
707
|
|
708
|
+
if isinstance(
|
709
|
+
data,
|
710
|
+
(AvailabilityCheckerStatus, SyntaxCheckerStatus, ReputationCheckerStatus),
|
711
|
+
):
|
712
|
+
data = data.to_dict()
|
713
|
+
|
625
714
|
if not isinstance(data, dict): # pragma: no cover ## Should never happen
|
626
715
|
raise TypeError(f"<data> should be {dict}, {type(data)} given.")
|
627
716
|
|
@@ -633,6 +722,7 @@ class CollectionQueryTool:
|
|
633
722
|
response = self.session.post(
|
634
723
|
url,
|
635
724
|
json=data,
|
725
|
+
timeout=self.timeout,
|
636
726
|
)
|
637
727
|
|
638
728
|
response_json = response.json()
|
@@ -113,12 +113,12 @@ class RequestHTTPSAdapter(RequestAdapterBase):
|
|
113
113
|
)
|
114
114
|
|
115
115
|
if parsed_url.scheme == "https":
|
116
|
-
self.poolmanager.connection_pool_kw[
|
117
|
-
|
118
|
-
|
119
|
-
self.poolmanager.connection_pool_kw[
|
120
|
-
|
121
|
-
|
116
|
+
self.poolmanager.connection_pool_kw["server_hostname"] = (
|
117
|
+
parsed_url.hostname
|
118
|
+
)
|
119
|
+
self.poolmanager.connection_pool_kw["assert_hostname"] = (
|
120
|
+
parsed_url.hostname
|
121
|
+
)
|
122
122
|
|
123
123
|
# Ensure that the Hosts header is present. Otherwise, connection might
|
124
124
|
# not work.
|
@@ -61,7 +61,7 @@ from dotenv import load_dotenv
|
|
61
61
|
from PyFunceble.storage_facility import get_config_directory
|
62
62
|
|
63
63
|
PROJECT_NAME: str = "PyFunceble"
|
64
|
-
PROJECT_VERSION: str = "4.2.
|
64
|
+
PROJECT_VERSION: str = "4.2.9.dev (Blue Duckling: Ixora)"
|
65
65
|
|
66
66
|
DISTRIBUTED_CONFIGURATION_FILENAME: str = ".PyFunceble_production.yaml"
|
67
67
|
DISTRIBUTED_DIR_STRUCTURE_FILENAME: str = "dir_structure_production.json"
|
@@ -79,7 +79,9 @@ IPV4_REPUTATION_FILENAME: str = "ipv4_reputation.data"
|
|
79
79
|
IANA_DUMP_LINK: str = (
|
80
80
|
"https://raw.githubusercontent.com/PyFunceble/iana/master/iana-domains-db.json"
|
81
81
|
)
|
82
|
-
PUBLIC_SUFFIX_DUMP_LINK: str =
|
82
|
+
PUBLIC_SUFFIX_DUMP_LINK: str = (
|
83
|
+
"https://raw.githubusercontent.com/PyFunceble/public-suffix/master/public-suffix.json"
|
84
|
+
)
|
83
85
|
USER_AGENT_DUMP_LINK: str = (
|
84
86
|
"https://raw.githubusercontent.com/PyFunceble/user_agents/master/user_agents.json"
|
85
87
|
)
|