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.
Files changed (296) hide show
  1. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PKG-INFO +1 -1
  2. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/base.py +1 -7
  3. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/domain.py +0 -1
  4. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/base.py +1 -2
  5. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/rules.py +1 -1
  6. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/ip.py +0 -1
  7. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/url.py +0 -1
  8. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/base.py +0 -1
  9. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/domain.py +0 -1
  10. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/ip.py +0 -1
  11. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/url.py +0 -1
  12. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/second_lvl_domain.py +6 -2
  13. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/status.py +1 -0
  14. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/subdomain.py +3 -1
  15. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/url.py +0 -1
  16. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/credential_loader.py +3 -3
  17. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/file_preloader.py +3 -3
  18. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/base.py +0 -1
  19. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/base.py +3 -3
  20. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/scripts/production.py +3 -4
  21. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/storage.py +5 -3
  22. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/utils/testing.py +1 -3
  23. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/35c79626ecb9_fix_some_columns.py +1 -0
  24. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/3a4c55a9320d_add_continue_table.py +1 -0
  25. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/3d6f4a33cdb2_add_inactive_table.py +1 -0
  26. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/45713fea8097_deletion_uneeded_columns_from_whois_.py +1 -0
  27. {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
  28. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/6f4729deaf03_delete_inactive_source_column.py +1 -0
  29. {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
  30. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/83ada95132bf_delete_the_file_table.py +1 -0
  31. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/912bbcb77a6c_add_registrar_column.py +1 -0
  32. {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
  33. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/ade87195b0a0_base.py +1 -0
  34. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/bef7bcaac3f2_make_id_a_bigint.py +1 -0
  35. {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
  36. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/e04e8301d1a2_deletion_of_the_mined_table.py +1 -0
  37. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/postgresql/versions/a32ac5d66eee_initial_version.py +1 -0
  38. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/collection.py +97 -7
  39. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/requests/adapter/https.py +6 -6
  40. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/converter/digit2digits.py +1 -0
  41. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/storage.py +4 -2
  42. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble_dev.egg-info/PKG-INFO +1 -1
  43. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble_dev.egg-info/requires.txt +44 -44
  44. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/requirements.txt +2 -2
  45. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/requirements.win.txt +3 -3
  46. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/version.yaml +1 -1
  47. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/CODE_OF_CONDUCT.rst +0 -0
  48. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/CONTRIBUTING.rst +0 -0
  49. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/LICENSE +0 -0
  50. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/MANIFEST.in +0 -0
  51. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/__init__.py +0 -0
  52. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/__init__.py +0 -0
  53. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/__init__.py +0 -0
  54. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/domain_and_ip.py +0 -0
  55. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/__init__.py +0 -0
  56. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/dns.py +0 -0
  57. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/etoxic.py +0 -0
  58. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/parked.py +0 -0
  59. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/extras/subject_switch.py +0 -0
  60. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/params.py +0 -0
  61. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/availability/status.py +0 -0
  62. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/base.py +0 -0
  63. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/complex_json_encoder.py +0 -0
  64. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/params_base.py +0 -0
  65. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/__init__.py +0 -0
  66. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/domain_and_ip.py +0 -0
  67. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/params.py +0 -0
  68. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/reputation/status.py +0 -0
  69. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/status_base.py +0 -0
  70. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/__init__.py +0 -0
  71. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/base.py +0 -0
  72. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/domain.py +0 -0
  73. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/domain_and_ip.py +0 -0
  74. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/domain_base.py +0 -0
  75. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/ip.py +0 -0
  76. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/ipv4.py +0 -0
  77. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/ipv6.py +0 -0
  78. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/syntax/params.py +0 -0
  79. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/utils/__init__.py +0 -0
  80. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/checker/utils/whois.py +0 -0
  81. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/__init__.py +0 -0
  82. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/__init__.py +0 -0
  83. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/base.py +0 -0
  84. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/exceptions.py +0 -0
  85. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/github_actions.py +0 -0
  86. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/gitlab_ci.py +0 -0
  87. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/jenkins.py +0 -0
  88. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/travis_ci.py +0 -0
  89. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/continuous_integration/utils.py +0 -0
  90. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/__init__.py +0 -0
  91. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/clean.py +0 -0
  92. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/iana.py +0 -0
  93. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/production.py +0 -0
  94. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/public_suffix.py +0 -0
  95. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/pyfunceble/__init__.py +0 -0
  96. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/pyfunceble/argsparser.py +0 -0
  97. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/entry_points/pyfunceble/cli.py +0 -0
  98. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/execution_time.py +0 -0
  99. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/facility.py +0 -0
  100. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/factory.py +0 -0
  101. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/__init__.py +0 -0
  102. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/cleanup.py +0 -0
  103. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/counter.py +0 -0
  104. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/dir_base.py +0 -0
  105. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/dir_structure/__init__.py +0 -0
  106. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/dir_structure/backup.py +0 -0
  107. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/dir_structure/base.py +0 -0
  108. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/dir_structure/restore.py +0 -0
  109. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/json_base.py +0 -0
  110. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/printer/__init__.py +0 -0
  111. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/printer/base.py +0 -0
  112. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/printer/file.py +0 -0
  113. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/printer/stdout.py +0 -0
  114. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/registrar_counter.py +0 -0
  115. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/filesystem/status_file.py +0 -0
  116. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/__init__.py +0 -0
  117. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/alembic.py +0 -0
  118. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/csv_file/__init__.py +0 -0
  119. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/csv_file/base.py +0 -0
  120. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/csv_file/inactive_source_delete.py +0 -0
  121. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/csv_file/whois_registrar_add.py +0 -0
  122. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/db_base.py +0 -0
  123. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/file_cleanup/__init__.py +0 -0
  124. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/file_cleanup/base.py +0 -0
  125. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/file_cleanup/hashes_file.py +0 -0
  126. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/file_cleanup/mining_file.py +0 -0
  127. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/file_cleanup/production_config_file.py +0 -0
  128. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/json2csv/__init__.py +0 -0
  129. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/json2csv/base.py +0 -0
  130. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/json2csv/inactive.py +0 -0
  131. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/json2csv/whois.py +0 -0
  132. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/mariadb/__init__.py +0 -0
  133. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/mariadb/base.py +0 -0
  134. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/mariadb/file_and_status.py +0 -0
  135. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/migrators/mariadb/whois_record_idna_subject.py +0 -0
  136. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/__init__.py +0 -0
  137. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/base.py +0 -0
  138. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/chancy_producer.py +0 -0
  139. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/chancy_tester.py +0 -0
  140. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/dir_files_sorter.py +0 -0
  141. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/file_sorter.py +0 -0
  142. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/migrator.py +0 -0
  143. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/miner.py +0 -0
  144. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/producer.py +0 -0
  145. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/tester.py +0 -0
  146. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/__init__.py +0 -0
  147. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/chancy_producer.py +0 -0
  148. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/chancy_tester.py +0 -0
  149. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/dir_files_sorter.py +0 -0
  150. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/file_sorter.py +0 -0
  151. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/file_sorter_base.py +0 -0
  152. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/migrator.py +0 -0
  153. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/miner.py +0 -0
  154. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/producer.py +0 -0
  155. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/processes/workers/tester.py +0 -0
  156. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/scripts/__init__.py +0 -0
  157. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/scripts/iana.py +0 -0
  158. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/scripts/public_suffix.py +0 -0
  159. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/storage_facility.py +0 -0
  160. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/system/__init__.py +0 -0
  161. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/system/base.py +0 -0
  162. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/system/integrator.py +0 -0
  163. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/system/launcher.py +0 -0
  164. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/utils/__init__.py +0 -0
  165. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/utils/ascii_logo.py +0 -0
  166. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/utils/sort.py +0 -0
  167. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/utils/stdout.py +0 -0
  168. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/cli/utils/version.py +0 -0
  169. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/config/__init__.py +0 -0
  170. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/config/compare.py +0 -0
  171. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/config/loader.py +0 -0
  172. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/__init__.py +0 -0
  173. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/adblock_input_line2subject.py +0 -0
  174. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/base.py +0 -0
  175. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/cidr2subject.py +0 -0
  176. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/input_line2subject.py +0 -0
  177. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/internal_url.py +0 -0
  178. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/rpz_input_line2subject.py +0 -0
  179. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/rpz_policy2subject.py +0 -0
  180. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/subject2complements.py +0 -0
  181. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/url2netloc.py +0 -0
  182. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/converter/wildcard2subject.py +0 -0
  183. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/__init__.py +0 -0
  184. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/__init__.py +0 -0
  185. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/__init__.py +0 -0
  186. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/env.py +0 -0
  187. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/script.py.mako +0 -0
  188. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/mysql/versions/__init__.py +0 -0
  189. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/postgresql/__init__.py +0 -0
  190. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/postgresql/env.py +0 -0
  191. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/postgresql/script.py.mako +0 -0
  192. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/alembic/postgresql/versions/__init__.py +0 -0
  193. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/infrastructure/.PyFunceble_production.yaml +0 -0
  194. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/infrastructure/__init__.py +0 -0
  195. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/data/infrastructure/dir_structure_production.json +0 -0
  196. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/__init__.py +0 -0
  197. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/credential/__init__.py +0 -0
  198. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/credential/base.py +0 -0
  199. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/credential/mariadb.py +0 -0
  200. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/credential/mysql.py +0 -0
  201. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/credential/postgresql.py +0 -0
  202. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/schemas/__init__.py +0 -0
  203. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/schemas/autocontinue.py +0 -0
  204. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/schemas/inactive.py +0 -0
  205. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/schemas/status.py +0 -0
  206. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/schemas/whois_record.py +0 -0
  207. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/session.py +0 -0
  208. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/sqlalchemy/__init__.py +0 -0
  209. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/sqlalchemy/all_schemas.py +0 -0
  210. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/database/sqlalchemy/base_schema.py +0 -0
  211. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/__init__.py +0 -0
  212. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/autocontinue/__init__.py +0 -0
  213. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/autocontinue/base.py +0 -0
  214. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/autocontinue/csv.py +0 -0
  215. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/autocontinue/sql.py +0 -0
  216. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/base.py +0 -0
  217. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/csv_base.py +0 -0
  218. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/db_base.py +0 -0
  219. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/iana.py +0 -0
  220. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/inactive/__init__.py +0 -0
  221. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/inactive/base.py +0 -0
  222. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/inactive/csv.py +0 -0
  223. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/inactive/sql.py +0 -0
  224. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/ipv4_reputation.py +0 -0
  225. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/public_suffix.py +0 -0
  226. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/sql_base.py +0 -0
  227. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/user_agent.py +0 -0
  228. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/whois/__init__.py +0 -0
  229. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/whois/base.py +0 -0
  230. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/whois/csv.py +0 -0
  231. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/dataset/whois/sql.py +0 -0
  232. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/downloader/__init__.py +0 -0
  233. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/downloader/base.py +0 -0
  234. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/downloader/exceptions.py +0 -0
  235. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/downloader/iana.py +0 -0
  236. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/downloader/ipv4_reputation.py +0 -0
  237. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/downloader/public_suffix.py +0 -0
  238. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/downloader/user_agents.py +0 -0
  239. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/exceptions.py +0 -0
  240. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/facility.py +0 -0
  241. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/factory.py +0 -0
  242. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/__init__.py +0 -0
  243. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/command.py +0 -0
  244. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/dict.py +0 -0
  245. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/directory.py +0 -0
  246. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/download.py +0 -0
  247. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/environment_variable.py +0 -0
  248. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/exceptions.py +0 -0
  249. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/file.py +0 -0
  250. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/hash.py +0 -0
  251. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/list.py +0 -0
  252. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/merge.py +0 -0
  253. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/helpers/regex.py +0 -0
  254. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/logger.py +0 -0
  255. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/__init__.py +0 -0
  256. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/dns/__init__.py +0 -0
  257. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/dns/nameserver.py +0 -0
  258. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/dns/query_tool.py +0 -0
  259. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/dns/resolver.py +0 -0
  260. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/http_status_code.py +0 -0
  261. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/netinfo/__init__.py +0 -0
  262. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/netinfo/address.py +0 -0
  263. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/netinfo/base.py +0 -0
  264. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/netinfo/hostbyaddr.py +0 -0
  265. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/record/__init__.py +0 -0
  266. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/record/base.py +0 -0
  267. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/record/dns.py +0 -0
  268. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/record/whois.py +0 -0
  269. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/requests/__init__.py +0 -0
  270. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/requests/adapter/__init__.py +0 -0
  271. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/requests/adapter/base.py +0 -0
  272. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/requests/adapter/http.py +0 -0
  273. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/requests/requester.py +0 -0
  274. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/__init__.py +0 -0
  275. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/converter/__init__.py +0 -0
  276. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/converter/base.py +0 -0
  277. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/converter/expiration_date.py +0 -0
  278. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/converter/month2unified.py +0 -0
  279. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/converter/registrar.py +0 -0
  280. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/query/whois/query_tool.py +0 -0
  281. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/sessions.py +0 -0
  282. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/storage_facility.py +0 -0
  283. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/utils/__init__.py +0 -0
  284. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/utils/platform.py +0 -0
  285. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/utils/profile.py +0 -0
  286. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble/utils/version.py +0 -0
  287. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble_dev.egg-info/SOURCES.txt +0 -0
  288. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble_dev.egg-info/dependency_links.txt +0 -0
  289. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble_dev.egg-info/entry_points.txt +0 -0
  290. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/PyFunceble_dev.egg-info/top_level.txt +0 -0
  291. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/README.rst +0 -0
  292. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/requirements.dev.txt +0 -0
  293. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/requirements.docs.txt +0 -0
  294. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/requirements.test.txt +0 -0
  295. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/setup.cfg +0 -0
  296. {PyFunceble-dev-4.2.7 → PyFunceble-dev-4.2.9}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyFunceble-dev
3
- Version: 4.2.7
3
+ Version: 4.2.9
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
@@ -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 RegexHelper("[^a-z0-9._]").match(
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
  )
@@ -50,7 +50,6 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
-
54
53
  import PyFunceble.facility
55
54
  import PyFunceble.factory
56
55
  import PyFunceble.storage
@@ -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):
@@ -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)],
@@ -50,7 +50,6 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
-
54
53
  import PyFunceble.facility
55
54
  import PyFunceble.factory
56
55
  import PyFunceble.storage
@@ -50,7 +50,6 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
-
54
53
  import PyFunceble.facility
55
54
  import PyFunceble.factory
56
55
  import PyFunceble.storage
@@ -50,7 +50,6 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
-
54
53
  from typing import List, Optional
55
54
 
56
55
  from sqlalchemy.orm import Session
@@ -50,7 +50,6 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
-
54
53
  from typing import List, Optional
55
54
 
56
55
  from PyFunceble.checker.reputation.base import ReputationCheckerBase
@@ -50,7 +50,6 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
-
54
53
  from typing import List, Optional
55
54
 
56
55
  from PyFunceble.checker.reputation.base import ReputationCheckerBase
@@ -50,7 +50,6 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
-
54
53
  from typing import List, Optional
55
54
 
56
55
  from PyFunceble.checker.reputation.base import ReputationCheckerBase
@@ -65,8 +65,12 @@ class SecondLvlDomainSyntaxChecker(DomainSyntaxCheckerBase):
65
65
  """
66
66
 
67
67
  # pylint: disable=line-too-long
68
- REGEX_VALID_DOMAIN: str = 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](?:\.)?))$"
69
- REGEX_VALID_RELAXED_DOMAIN: str = 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](?:\.)?))$"
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
  """
@@ -50,6 +50,7 @@ License:
50
50
  See the License for the specific language governing permissions and
51
51
  limitations under the License.
52
52
  """
53
+
53
54
  import dataclasses
54
55
  from typing import Optional
55
56
 
@@ -63,7 +63,9 @@ class SubDomainSyntaxChecker(DomainSyntaxCheckerBase):
63
63
  """
64
64
 
65
65
  # pylint: disable=line-too-long
66
- REGEX_VALID_SUBDOMAIN: str = 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](?:\.)?))$"
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:
@@ -50,7 +50,6 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
-
54
53
  import urllib.parse
55
54
  from typing import Optional
56
55
 
@@ -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
- PyFunceble.cli.factory.DBSession.credential
271
- ) = self.DB_TYPE2OBJ[self.db_type]()
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
- "previous_hash"
486
- ] = self.__description[self.__matching_index]["hash"]
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
 
@@ -50,7 +50,6 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
-
54
53
  from typing import Optional
55
54
 
56
55
  from sqlalchemy.orm import Session
@@ -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
- "continuous_integration"
120
- ] = continuous_integration
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
- "current_version"
521
- ] = PyFunceble.storage.PROJECT_VERSION
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
- Merge(UNIX_OUTPUTS).into(UNIVERSAL_OUTPUTS)
257
- if PlatformUtility.is_unix()
258
- else Merge(WIN_OUTPUTS).into(UNIVERSAL_OUTPUTS),
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
@@ -5,6 +5,7 @@ Revises: ade87195b0a0
5
5
  Create Date: 2020-08-21 11:42:07.044762
6
6
 
7
7
  """
8
+
8
9
  from alembic import op
9
10
  from sqlalchemy.exc import OperationalError
10
11
 
@@ -5,6 +5,7 @@ Revises: 3d6f4a33cdb2
5
5
  Create Date: 2020-12-13 22:52:56.968513
6
6
 
7
7
  """
8
+
8
9
  import sqlalchemy as sa
9
10
  from alembic import op
10
11
 
@@ -5,6 +5,7 @@ Revises: 7bcf7fa64ba1
5
5
  Create Date: 2020-12-13 19:45:41.893657
6
6
 
7
7
  """
8
+
8
9
  import sqlalchemy as sa
9
10
  from alembic import op
10
11
 
@@ -5,6 +5,7 @@ Revises: e04e8301d1a2
5
5
  Create Date: 2020-12-07 12:36:04.818466
6
6
 
7
7
  """
8
+
8
9
  import sqlalchemy as sa
9
10
  from alembic import op
10
11
  from sqlalchemy.dialects import mysql
@@ -5,6 +5,7 @@ Revises: 45713fea8097
5
5
  Create Date: 2020-12-07 12:37:52.018637
6
6
 
7
7
  """
8
+
8
9
  import sqlalchemy as sa
9
10
  from alembic import op
10
11
 
@@ -5,6 +5,7 @@ Revises: 95dc17ddd729
5
5
  Create Date: 2021-02-13 12:21:00.493002
6
6
 
7
7
  """
8
+
8
9
  import sqlalchemy as sa
9
10
  from alembic import op
10
11
  from sqlalchemy.dialects import mysql
@@ -5,6 +5,7 @@ Revises: 83ada95132bf
5
5
  Create Date: 2020-12-08 17:34:59.349943
6
6
 
7
7
  """
8
+
8
9
  import sqlalchemy as sa
9
10
  from alembic import op
10
11
  from sqlalchemy.dialects import mysql
@@ -5,6 +5,7 @@ Revises: 459a0d7b8f09
5
5
  Create Date: 2020-12-07 12:49:48.797794
6
6
 
7
7
  """
8
+
8
9
  import sqlalchemy as sa
9
10
  from alembic import op
10
11
  from sqlalchemy.dialects import mysql
@@ -5,6 +5,7 @@ Revises: 6f4729deaf03
5
5
  Create Date: 2021-12-04 23:52:11.861732
6
6
 
7
7
  """
8
+
8
9
  import sqlalchemy as sa
9
10
  from alembic import op
10
11
 
@@ -5,6 +5,7 @@ Revises: bef7bcaac3f2
5
5
  Create Date: 2020-12-23 02:26:21.647125
6
6
 
7
7
  """
8
+
8
9
  import sqlalchemy as sa
9
10
  from alembic import op
10
11
 
@@ -5,6 +5,7 @@ Revises:
5
5
  Create Date: 2020-08-15 20:12:26.768419
6
6
 
7
7
  """
8
+
8
9
  import sqlalchemy as sa
9
10
  from alembic import op
10
11
 
@@ -5,6 +5,7 @@ Revises: 3a4c55a9320d
5
5
  Create Date: 2020-12-16 19:09:41.212679
6
6
 
7
7
  """
8
+
8
9
  import sqlalchemy as sa
9
10
  from alembic import op
10
11
  from sqlalchemy.dialects import mysql
@@ -5,6 +5,7 @@ Revises: 35c79626ecb9
5
5
  Create Date: 2020-08-22 17:27:52.087506
6
6
 
7
7
  """
8
+
8
9
  from alembic import op
9
10
  from sqlalchemy.dialects import mysql
10
11
 
@@ -5,6 +5,7 @@ Revises: d8893cd406db
5
5
  Create Date: 2020-12-07 12:33:43.650514
6
6
 
7
7
  """
8
+
8
9
  import sqlalchemy as sa
9
10
  from alembic import op
10
11
  from sqlalchemy.dialects import mysql
@@ -5,6 +5,7 @@ Revises:
5
5
  Create Date: 2022-12-28 07:20:50.310072
6
6
 
7
7
  """
8
+
8
9
  import sqlalchemy as sa
9
10
  from alembic import op
10
11
 
@@ -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
- try:
311
- response = self.session.get(
312
- f"{self.url_base}/v1/stats/subject",
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
- response.raise_for_status()
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
- except (requests.RequestException, json.decoder.JSONDecodeError):
319
- self.is_modern_api = True
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
- "server_hostname"
118
- ] = parsed_url.hostname
119
- self.poolmanager.connection_pool_kw[
120
- "assert_hostname"
121
- ] = parsed_url.hostname
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.
@@ -49,6 +49,7 @@ License:
49
49
  See the License for the specific language governing permissions and
50
50
  limitations under the License.
51
51
  """
52
+
52
53
  # pylint: enable=line-too-long
53
54
 
54
55
  from typing import Any
@@ -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.7.dev (Blue Duckling: Ixora)"
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 = "https://raw.githubusercontent.com/PyFunceble/public-suffix/master/public-suffix.json"
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
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyFunceble-dev
3
- Version: 4.2.7
3
+ Version: 4.2.9
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