PyFunceble-dev 4.0.0b33__tar.gz → 4.0.0b35__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 (271) hide show
  1. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PKG-INFO +1 -3
  2. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/availability/base.py +33 -6
  3. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/availability/domain.py +26 -0
  4. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/availability/domain_and_ip.py +26 -0
  5. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/availability/extra_rules.py +5 -0
  6. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/availability/ip.py +26 -0
  7. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/availability/params.py +1 -1
  8. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/availability/url.py +28 -1
  9. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/reputation/base.py +6 -0
  10. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/reputation/domain.py +6 -0
  11. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/reputation/domain_and_ip.py +6 -0
  12. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/reputation/ip.py +6 -0
  13. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/reputation/url.py +6 -0
  14. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/syntax/base.py +6 -1
  15. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/syntax/domain.py +2 -2
  16. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/syntax/domain_base.py +2 -2
  17. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/syntax/ip.py +2 -2
  18. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/syntax/ipv4.py +2 -2
  19. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/syntax/ipv6.py +2 -2
  20. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/syntax/second_lvl_domain.py +2 -2
  21. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/syntax/subdomain.py +2 -2
  22. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/syntax/url.py +2 -2
  23. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/processes/base.py +16 -0
  24. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/processes/workers/tester.py +44 -26
  25. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/scripts/production.py +1 -1
  26. PyFunceble-dev-4.0.0b35/PyFunceble/converter/adblock_input_line2subject.py +434 -0
  27. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/helpers/download.py +3 -1
  28. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/helpers/environment_variable.py +12 -2
  29. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/http_status_code.py +2 -2
  30. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/whois/query_tool.py +51 -47
  31. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/storage.py +1 -1
  32. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble_dev.egg-info/PKG-INFO +1 -3
  33. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/README.rst +0 -2
  34. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/version.yaml +1 -1
  35. PyFunceble-dev-4.0.0b33/PyFunceble/converter/adblock_input_line2subject.py +0 -354
  36. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/.PyFunceble_production.yaml +0 -0
  37. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/CODE_OF_CONDUCT.rst +0 -0
  38. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/CONTRIBUTING.rst +0 -0
  39. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/LICENSE +0 -0
  40. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/MANIFEST.in +0 -0
  41. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/.vscode/settings.json +0 -0
  42. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/__init__.py +0 -0
  43. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/__init__.py +0 -0
  44. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/availability/__init__.py +0 -0
  45. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/availability/status.py +0 -0
  46. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/base.py +0 -0
  47. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/complex_json_encoder.py +0 -0
  48. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/params_base.py +0 -0
  49. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/reputation/__init__.py +0 -0
  50. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/reputation/params.py +0 -0
  51. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/reputation/status.py +0 -0
  52. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/status_base.py +0 -0
  53. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/syntax/__init__.py +0 -0
  54. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/syntax/params.py +0 -0
  55. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/syntax/status.py +0 -0
  56. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/utils/__init__.py +0 -0
  57. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/checker/utils/whois.py +0 -0
  58. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/__init__.py +0 -0
  59. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/continuous_integration/__init__.py +0 -0
  60. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/continuous_integration/base.py +0 -0
  61. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/continuous_integration/exceptions.py +0 -0
  62. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/continuous_integration/github_actions.py +0 -0
  63. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/continuous_integration/gitlab_ci.py +0 -0
  64. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/continuous_integration/jenkins.py +0 -0
  65. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/continuous_integration/travis_ci.py +0 -0
  66. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/continuous_integration/utils.py +0 -0
  67. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/credential_loader.py +0 -0
  68. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/entry_points/__init__.py +0 -0
  69. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/entry_points/clean.py +0 -0
  70. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/entry_points/iana.py +0 -0
  71. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/entry_points/production.py +0 -0
  72. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/entry_points/public_suffix.py +0 -0
  73. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/entry_points/pyfunceble/__init__.py +0 -0
  74. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/entry_points/pyfunceble/argsparser.py +0 -0
  75. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/entry_points/pyfunceble/cli.py +0 -0
  76. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/execution_time.py +0 -0
  77. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/facility.py +0 -0
  78. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/factory.py +0 -0
  79. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/file_preloader.py +0 -0
  80. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/filesystem/__init__.py +0 -0
  81. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/filesystem/cleanup.py +0 -0
  82. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/filesystem/counter.py +0 -0
  83. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/filesystem/dir_base.py +0 -0
  84. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/filesystem/dir_structure/__init__.py +0 -0
  85. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/filesystem/dir_structure/backup.py +0 -0
  86. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/filesystem/dir_structure/base.py +0 -0
  87. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/filesystem/dir_structure/restore.py +0 -0
  88. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/filesystem/printer/__init__.py +0 -0
  89. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/filesystem/printer/base.py +0 -0
  90. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/filesystem/printer/file.py +0 -0
  91. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/filesystem/printer/stdout.py +0 -0
  92. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/filesystem/status_file.py +0 -0
  93. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/__init__.py +0 -0
  94. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/alembic.py +0 -0
  95. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/base.py +0 -0
  96. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/csv_file/__init__.py +0 -0
  97. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/csv_file/base.py +0 -0
  98. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/csv_file/inactive_source_delete.py +0 -0
  99. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/db_base.py +0 -0
  100. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/file_cleanup/__init__.py +0 -0
  101. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/file_cleanup/base.py +0 -0
  102. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/file_cleanup/hashes_file.py +0 -0
  103. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/file_cleanup/mining_file.py +0 -0
  104. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/file_cleanup/production_config_file.py +0 -0
  105. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/json2csv/__init__.py +0 -0
  106. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/json2csv/base.py +0 -0
  107. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/json2csv/inactive.py +0 -0
  108. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/json2csv/whois.py +0 -0
  109. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/mariadb/__init__.py +0 -0
  110. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/mariadb/base.py +0 -0
  111. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/mariadb/file_and_status.py +0 -0
  112. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/migrators/mariadb/whois_record_idna_subject.py +0 -0
  113. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/processes/__init__.py +0 -0
  114. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/processes/file_sorter.py +0 -0
  115. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/processes/migrator.py +0 -0
  116. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/processes/miner.py +0 -0
  117. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/processes/producer.py +0 -0
  118. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/processes/tester.py +0 -0
  119. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/processes/workers/__init__.py +0 -0
  120. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/processes/workers/base.py +0 -0
  121. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/processes/workers/file_sorter.py +0 -0
  122. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/processes/workers/migrator.py +0 -0
  123. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/processes/workers/miner.py +0 -0
  124. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/processes/workers/producer.py +0 -0
  125. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/scripts/__init__.py +0 -0
  126. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/scripts/iana.py +0 -0
  127. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/scripts/public_suffix.py +0 -0
  128. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/storage.py +0 -0
  129. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/storage_facility.py +0 -0
  130. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/system/__init__.py +0 -0
  131. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/system/base.py +0 -0
  132. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/system/integrator.py +0 -0
  133. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/system/launcher.py +0 -0
  134. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/utils/__init__.py +0 -0
  135. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/utils/ascii_logo.py +0 -0
  136. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/utils/sort.py +0 -0
  137. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/utils/stdout.py +0 -0
  138. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/utils/testing.py +0 -0
  139. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/cli/utils/version.py +0 -0
  140. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/config/__init__.py +0 -0
  141. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/config/compare.py +0 -0
  142. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/config/loader.py +0 -0
  143. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/converter/__init__.py +0 -0
  144. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/converter/base.py +0 -0
  145. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/converter/input_line2subject.py +0 -0
  146. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/converter/internal_url.py +0 -0
  147. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/converter/rpz_input_line2subject.py +0 -0
  148. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/converter/rpz_policy2subject.py +0 -0
  149. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/converter/subject2complements.py +0 -0
  150. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/converter/url2netloc.py +0 -0
  151. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/converter/wildcard2subject.py +0 -0
  152. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/__init__.py +0 -0
  153. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/__init__.py +0 -0
  154. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/env.py +0 -0
  155. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/script.py.mako +0 -0
  156. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/versions/35c79626ecb9_fix_some_columns.py +0 -0
  157. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/versions/3a4c55a9320d_add_continue_table.py +0 -0
  158. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/versions/3d6f4a33cdb2_add_inactive_table.py +0 -0
  159. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/versions/45713fea8097_deletion_uneeded_columns_from_whois_.py +0 -0
  160. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/versions/459a0d7b8f09_add_idna_subject_column_into_whois.py +0 -0
  161. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/versions/6f4729deaf03_delete_inactive_source_column.py +0 -0
  162. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/versions/7bcf7fa64ba1_rename_created_to_created_at_and.py +0 -0
  163. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/versions/83ada95132bf_delete_the_file_table.py +0 -0
  164. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/versions/95dc17ddd729_introduction_of_the_session_id_column.py +0 -0
  165. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/versions/__init__.py +0 -0
  166. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/versions/ade87195b0a0_base.py +0 -0
  167. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/versions/bef7bcaac3f2_make_id_a_bigint.py +0 -0
  168. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/versions/d8893cd406db_allow_whois_record_to_be_empty_null.py +0 -0
  169. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/alembic/versions/e04e8301d1a2_deletion_of_the_mined_table.py +0 -0
  170. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/infrastructure/.PyFunceble_production.yaml +0 -0
  171. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/infrastructure/__init__.py +0 -0
  172. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/data/infrastructure/dir_structure_production.json +0 -0
  173. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/database/__init__.py +0 -0
  174. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/database/credential/__init__.py +0 -0
  175. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/database/credential/base.py +0 -0
  176. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/database/credential/mariadb.py +0 -0
  177. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/database/credential/mysql.py +0 -0
  178. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/database/schemas/__init__.py +0 -0
  179. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/database/schemas/autocontinue.py +0 -0
  180. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/database/schemas/inactive.py +0 -0
  181. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/database/schemas/status.py +0 -0
  182. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/database/schemas/whois_record.py +0 -0
  183. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/database/session.py +0 -0
  184. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/database/sqlalchemy/__init__.py +0 -0
  185. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/database/sqlalchemy/all_schemas.py +0 -0
  186. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/database/sqlalchemy/base_schema.py +0 -0
  187. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/__init__.py +0 -0
  188. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/autocontinue/__init__.py +0 -0
  189. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/autocontinue/base.py +0 -0
  190. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/autocontinue/csv.py +0 -0
  191. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/autocontinue/mariadb.py +0 -0
  192. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/autocontinue/mysql.py +0 -0
  193. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/base.py +0 -0
  194. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/csv_base.py +0 -0
  195. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/db_base.py +0 -0
  196. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/iana.py +0 -0
  197. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/inactive/__init__.py +0 -0
  198. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/inactive/base.py +0 -0
  199. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/inactive/csv.py +0 -0
  200. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/inactive/mariadb.py +0 -0
  201. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/inactive/mysql.py +0 -0
  202. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/ipv4_reputation.py +0 -0
  203. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/mariadb_base.py +0 -0
  204. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/public_suffix.py +0 -0
  205. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/user_agent.py +0 -0
  206. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/whois/__init__.py +0 -0
  207. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/whois/base.py +0 -0
  208. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/whois/csv.py +0 -0
  209. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/whois/mariadb.py +0 -0
  210. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/dataset/whois/mysql.py +0 -0
  211. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/downloader/__init__.py +0 -0
  212. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/downloader/base.py +0 -0
  213. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/downloader/exceptions.py +0 -0
  214. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/downloader/iana.py +0 -0
  215. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/downloader/ipv4_reputation.py +0 -0
  216. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/downloader/public_suffix.py +0 -0
  217. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/downloader/user_agents.py +0 -0
  218. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/exceptions.py +0 -0
  219. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/facility.py +0 -0
  220. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/factory.py +0 -0
  221. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/helpers/__init__.py +0 -0
  222. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/helpers/command.py +0 -0
  223. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/helpers/dict.py +0 -0
  224. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/helpers/directory.py +0 -0
  225. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/helpers/exceptions.py +0 -0
  226. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/helpers/file.py +0 -0
  227. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/helpers/hash.py +0 -0
  228. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/helpers/list.py +0 -0
  229. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/helpers/merge.py +0 -0
  230. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/helpers/regex.py +0 -0
  231. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/logger.py +0 -0
  232. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/__init__.py +0 -0
  233. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/dns/__init__.py +0 -0
  234. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/dns/nameserver.py +0 -0
  235. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/dns/query_tool.py +0 -0
  236. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/dns/resolver.py +0 -0
  237. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/netinfo/__init__.py +0 -0
  238. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/netinfo/address.py +0 -0
  239. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/netinfo/base.py +0 -0
  240. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/netinfo/hostbyaddr.py +0 -0
  241. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/record/__init__.py +0 -0
  242. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/record/base.py +0 -0
  243. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/record/dns.py +0 -0
  244. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/record/whois.py +0 -0
  245. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/requests/__init__.py +0 -0
  246. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/requests/adapter/__init__.py +0 -0
  247. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/requests/adapter/base.py +0 -0
  248. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/requests/adapter/http.py +0 -0
  249. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/requests/adapter/https.py +0 -0
  250. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/requests/requester.py +0 -0
  251. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/whois/__init__.py +0 -0
  252. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/whois/converter/__init__.py +0 -0
  253. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/whois/converter/base.py +0 -0
  254. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/whois/converter/digit2digits.py +0 -0
  255. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/whois/converter/expiration_date.py +0 -0
  256. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/query/whois/converter/month2unified.py +0 -0
  257. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/sessions.py +0 -0
  258. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/storage_facility.py +0 -0
  259. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/utils/__init__.py +0 -0
  260. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/utils/platform.py +0 -0
  261. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/utils/profile.py +0 -0
  262. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble/utils/version.py +0 -0
  263. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble_dev.egg-info/SOURCES.txt +0 -0
  264. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble_dev.egg-info/dependency_links.txt +0 -0
  265. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble_dev.egg-info/entry_points.txt +0 -0
  266. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble_dev.egg-info/requires.txt +0 -0
  267. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/PyFunceble_dev.egg-info/top_level.txt +0 -0
  268. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/dir_structure_production.json +0 -0
  269. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/requirements.txt +0 -0
  270. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/setup.cfg +0 -0
  271. {PyFunceble-dev-4.0.0b33 → PyFunceble-dev-4.0.0b35}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: PyFunceble-dev
3
- Version: 4.0.0b33
3
+ Version: 4.0.0b35
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
@@ -187,8 +187,6 @@ Description: .. image:: https://raw.githubusercontent.com/PyFunceble/logo/dev/Gr
187
187
  """"""""""""""
188
188
  `@funilrys`_ is part of the GitHub Sponsor program!
189
189
 
190
- *GitHub will match all donation for the coming months!*
191
-
192
190
  .. image:: https://github.com/PyFunceble/logo/raw/master/pyfunceble_github.png
193
191
  :target: https://github.com/sponsors/funilrys
194
192
  :height: 70px
@@ -78,6 +78,32 @@ from PyFunceble.query.whois.query_tool import WhoisQueryTool
78
78
  class AvailabilityCheckerBase(CheckerBase):
79
79
  """
80
80
  Provides the base of all our availability checker classes.
81
+
82
+ :param str subject:
83
+ Optional, The subject to work with.
84
+ :param bool use_extra_rules:
85
+ Optional, Activates/Disables the usage of our own set of extra rules.
86
+ :param bool use_whois_lookup:
87
+ Optional, Activates/Disables the usage of the WHOIS lookup to gather
88
+ the status of the given :code:`subject`.
89
+ :param bool use_dns_lookup:
90
+ Optional, Activates/Disables the usage of the DNS lookup to gather the
91
+ status of the given :code:`subject`.
92
+ :param bool use_netinfo_lookup:
93
+ Optional, Activates/Disables the usage of the network information
94
+ lookup module to gather the status of the given :code:`subject`.
95
+ :param bool use_http_code_lookup:
96
+ Optional, Activates/Disables the usage of the HTTP status code lookup
97
+ to gather the status of the given :code:`subject`.
98
+ :param bool use_reputation_lookup:
99
+ Optional, Activates/Disables the usage of the reputation dataset
100
+ lookup to gather the status of the given :code:`subject`.
101
+ :param bool do_syntax_check_first:
102
+ Optional, Activates/Disables the check of the status before the actual
103
+ status gathering.
104
+ :param bool use_whois_db:
105
+ Optional, Activates/Disable the usage of a local database to store the
106
+ WHOIS datasets.
81
107
  """
82
108
 
83
109
  # pylint: disable=too-many-public-methods, too-many-instance-attributes
@@ -699,7 +725,7 @@ class AvailabilityCheckerBase(CheckerBase):
699
725
  best database first.
700
726
 
701
727
  If it's not found it will try to query it from the best WHOIS server
702
- then add it into the database (if the expirationd date
728
+ then add it into the database (if the expiration date
703
729
  extraction is successful).
704
730
 
705
731
  .. note::
@@ -729,13 +755,13 @@ class AvailabilityCheckerBase(CheckerBase):
729
755
  self.status.expiration_date = (
730
756
  self.whois_query_tool.get_expiration_date()
731
757
  )
732
- self.status.whois_record = self.whois_query_tool.get_record()
758
+ self.status.whois_record = self.whois_query_tool.record
733
759
 
734
760
  if (
735
- not multiprocessing.current_process().name.startswith(
761
+ self.status.expiration_date
762
+ and not multiprocessing.current_process().name.startswith(
736
763
  PyFunceble.storage.PROJECT_NAME.lower()
737
764
  )
738
- and self.status.expiration_date
739
765
  ):
740
766
  whois_object.update(
741
767
  {
@@ -754,7 +780,7 @@ class AvailabilityCheckerBase(CheckerBase):
754
780
  self.status.whois_record = None
755
781
  else:
756
782
  self.status.expiration_date = self.whois_query_tool.get_expiration_date()
757
- self.status.whois_record = self.whois_query_tool.get_record()
783
+ self.status.whois_record = self.whois_query_tool.record
758
784
 
759
785
  if self.status.expiration_date:
760
786
  self.status.status = PyFunceble.storage.STATUS.up
@@ -859,7 +885,8 @@ class AvailabilityCheckerBase(CheckerBase):
859
885
 
860
886
  if (
861
887
  lookup_result
862
- and lookup_result != self.http_status_code_query_tool.STD_UNKWON_STATUS_CODE
888
+ and lookup_result
889
+ != self.http_status_code_query_tool.STD_UNKNOWN_STATUS_CODE
863
890
  ):
864
891
  self.status.http_status_code = lookup_result
865
892
 
@@ -62,6 +62,32 @@ from PyFunceble.checker.reputation.domain import DomainReputationChecker
62
62
  class DomainAvailabilityChecker(AvailabilityCheckerBase):
63
63
  """
64
64
  Provides the interface for checking the availability of a given domain.
65
+
66
+ :param str subject:
67
+ Optional, The subject to work with.
68
+ :param bool use_extra_rules:
69
+ Optional, Activates/Disables the usage of our own set of extra rules.
70
+ :param bool use_whois_lookup:
71
+ Optional, Activates/Disables the usage of the WHOIS lookup to gather
72
+ the status of the given :code:`subject`.
73
+ :param bool use_dns_lookup:
74
+ Optional, Activates/Disables the usage of the DNS lookup to gather the
75
+ status of the given :code:`subject`.
76
+ :param bool use_netinfo_lookup:
77
+ Optional, Activates/Disables the usage of the network information
78
+ lookup module to gather the status of the given :code:`subject`.
79
+ :param bool use_http_code_lookup:
80
+ Optional, Activates/Disables the usage of the HTTP status code lookup
81
+ to gather the status of the given :code:`subject`.
82
+ :param bool use_reputation_lookup:
83
+ Optional, Activates/Disables the usage of the reputation dataset
84
+ lookup to gather the status of the given :code:`subject`.
85
+ :param bool do_syntax_check_first:
86
+ Optional, Activates/Disables the check of the status before the actual
87
+ status gathering.
88
+ :param bool use_whois_db:
89
+ Optional, Activates/Disable the usage of a local database to store the
90
+ WHOIS datasets.
65
91
  """
66
92
 
67
93
  def try_to_query_status_from_reputation(self) -> "DomainAvailabilityChecker":
@@ -60,6 +60,32 @@ from PyFunceble.checker.availability.ip import IPAvailabilityChecker
60
60
  class DomainAndIPAvailabilityChecker(AvailabilityCheckerBase):
61
61
  """
62
62
  Provides the interface for checking the availability of a IP or domain.
63
+
64
+ :param str subject:
65
+ Optional, The subject to work with.
66
+ :param bool use_extra_rules:
67
+ Optional, Activates/Disables the usage of our own set of extra rules.
68
+ :param bool use_whois_lookup:
69
+ Optional, Activates/Disables the usage of the WHOIS lookup to gather
70
+ the status of the given :code:`subject`.
71
+ :param bool use_dns_lookup:
72
+ Optional, Activates/Disables the usage of the DNS lookup to gather the
73
+ status of the given :code:`subject`.
74
+ :param bool use_netinfo_lookup:
75
+ Optional, Activates/Disables the usage of the network information
76
+ lookup module to gather the status of the given :code:`subject`.
77
+ :param bool use_http_code_lookup:
78
+ Optional, Activates/Disables the usage of the HTTP status code lookup
79
+ to gather the status of the given :code:`subject`.
80
+ :param bool use_reputation_lookup:
81
+ Optional, Activates/Disables the usage of the reputation dataset
82
+ lookup to gather the status of the given :code:`subject`.
83
+ :param bool do_syntax_check_first:
84
+ Optional, Activates/Disables the check of the status before the actual
85
+ status gathering.
86
+ :param bool use_whois_db:
87
+ Optional, Activates/Disable the usage of a local database to store the
88
+ WHOIS datasets.
63
89
  """
64
90
 
65
91
  @AvailabilityCheckerBase.ensure_subject_is_given
@@ -66,6 +66,11 @@ from PyFunceble.helpers.regex import RegexHelper
66
66
  class ExtraRulesHandler:
67
67
  """
68
68
  Provides our very own extra rules handler.
69
+
70
+ :param status:
71
+ The previously gathered status.
72
+ :type status:
73
+ :class:`~PyFunceble.checker.availability.status.AvailabilityCheckerStatus`
69
74
  """
70
75
 
71
76
  _status: Optional[AvailabilityCheckerStatus] = None
@@ -62,6 +62,32 @@ from PyFunceble.checker.reputation.ip import IPReputationChecker
62
62
  class IPAvailabilityChecker(AvailabilityCheckerBase):
63
63
  """
64
64
  Provides the interface for checking the availability of a given IP.
65
+
66
+ :param str subject:
67
+ Optional, The subject to work with.
68
+ :param bool use_extra_rules:
69
+ Optional, Activates/Disables the usage of our own set of extra rules.
70
+ :param bool use_whois_lookup:
71
+ Optional, Activates/Disables the usage of the WHOIS lookup to gather
72
+ the status of the given :code:`subject`.
73
+ :param bool use_dns_lookup:
74
+ Optional, Activates/Disables the usage of the DNS lookup to gather the
75
+ status of the given :code:`subject`.
76
+ :param bool use_netinfo_lookup:
77
+ Optional, Activates/Disables the usage of the network information
78
+ lookup module to gather the status of the given :code:`subject`.
79
+ :param bool use_http_code_lookup:
80
+ Optional, Activates/Disables the usage of the HTTP status code lookup
81
+ to gather the status of the given :code:`subject`.
82
+ :param bool use_reputation_lookup:
83
+ Optional, Activates/Disables the usage of the reputation dataset
84
+ lookup to gather the status of the given :code:`subject`.
85
+ :param bool do_syntax_check_first:
86
+ Optional, Activates/Disables the check of the status before the actual
87
+ status gathering.
88
+ :param bool use_whois_db:
89
+ Optional, Activates/Disable the usage of a local database to store the
90
+ WHOIS datasets.
65
91
  """
66
92
 
67
93
  def try_to_query_status_from_reputation(self) -> "IPAvailabilityChecker":
@@ -60,7 +60,7 @@ from PyFunceble.checker.params_base import CheckerParamsBase
60
60
  @dataclasses.dataclass
61
61
  class AvailabilityCheckerParams(CheckerParamsBase):
62
62
  """
63
- Provides the description of an availablity checker paramaters.
63
+ Provides the description of an availability checker paramaters.
64
64
  """
65
65
 
66
66
  use_extra_rules: Optional[bool] = None
@@ -62,6 +62,32 @@ from PyFunceble.checker.reputation.url import URLReputationChecker
62
62
  class URLAvailabilityChecker(AvailabilityCheckerBase):
63
63
  """
64
64
  Provides the interface for checking the availability of a given URL.
65
+
66
+ :param str subject:
67
+ Optional, The subject to work with.
68
+ :param bool use_extra_rules:
69
+ Optional, Activates/Disables the usage of our own set of extra rules.
70
+ :param bool use_whois_lookup:
71
+ Optional, Activates/Disables the usage of the WHOIS lookup to gather
72
+ the status of the given :code:`subject`.
73
+ :param bool use_dns_lookup:
74
+ Optional, Activates/Disables the usage of the DNS lookup to gather the
75
+ status of the given :code:`subject`.
76
+ :param bool use_netinfo_lookup:
77
+ Optional, Activates/Disables the usage of the network information
78
+ lookup module to gather the status of the given :code:`subject`.
79
+ :param bool use_http_code_lookup:
80
+ Optional, Activates/Disables the usage of the HTTP status code lookup
81
+ to gather the status of the given :code:`subject`.
82
+ :param bool use_reputation_lookup:
83
+ Optional, Activates/Disables the usage of the reputation dataset
84
+ lookup to gather the status of the given :code:`subject`.
85
+ :param bool do_syntax_check_first:
86
+ Optional, Activates/Disables the check of the status before the actual
87
+ status gathering.
88
+ :param bool use_whois_db:
89
+ Optional, Activates/Disable the usage of a local database to store the
90
+ WHOIS datasets.
65
91
  """
66
92
 
67
93
  def subject_propagator(self) -> "URLAvailabilityChecker":
@@ -105,7 +131,8 @@ class URLAvailabilityChecker(AvailabilityCheckerBase):
105
131
 
106
132
  if (
107
133
  lookup_result
108
- and lookup_result != self.http_status_code_query_tool.STD_UNKWON_STATUS_CODE
134
+ and lookup_result
135
+ != self.http_status_code_query_tool.STD_UNKNOWN_STATUS_CODE
109
136
  ):
110
137
  self.status.http_status_code = lookup_result
111
138
 
@@ -71,6 +71,12 @@ from PyFunceble.query.dns.query_tool import DNSQueryTool
71
71
  class ReputationCheckerBase(CheckerBase):
72
72
  """
73
73
  Provides the base of all our reputation checker classes.
74
+
75
+ :param str subject:
76
+ Optional, The subject to work with.
77
+ :param bool do_syntax_check_first:
78
+ Optional, Activates/Disables the check of the status before the actual
79
+ status gathering.
74
80
  """
75
81
 
76
82
  dns_query_tool: Optional[DNSQueryTool] = None
@@ -59,6 +59,12 @@ from PyFunceble.checker.reputation.base import ReputationCheckerBase
59
59
  class DomainReputationChecker(ReputationCheckerBase):
60
60
  """
61
61
  Provides the domain reputation checker classes.
62
+
63
+ :param str subject:
64
+ Optional, The subject to work with.
65
+ :param bool do_syntax_check_first:
66
+ Optional, Activates/Disables the check of the status before the actual
67
+ status gathering.
62
68
  """
63
69
 
64
70
  def query_a_record(self) -> Optional[List[str]]:
@@ -58,6 +58,12 @@ from PyFunceble.checker.reputation.ip import IPReputationChecker
58
58
  class DomainAndIPReputationChecker(ReputationCheckerBase):
59
59
  """
60
60
  Provides the interface for checking the reputation of an IP or domain.
61
+
62
+ :param str subject:
63
+ Optional, The subject to work with.
64
+ :param bool do_syntax_check_first:
65
+ Optional, Activates/Disables the check of the status before the actual
66
+ status gathering.
61
67
  """
62
68
 
63
69
  @ReputationCheckerBase.ensure_subject_is_given
@@ -59,6 +59,12 @@ from PyFunceble.checker.reputation.base import ReputationCheckerBase
59
59
  class IPReputationChecker(ReputationCheckerBase):
60
60
  """
61
61
  Provides the IP reputation checker.
62
+
63
+ :param str subject:
64
+ Optional, The subject to work with.
65
+ :param bool do_syntax_check_first:
66
+ Optional, Activates/Disables the check of the status before the actual
67
+ status gathering.
62
68
  """
63
69
 
64
70
  def query_a_record(self) -> Optional[List[str]]:
@@ -61,6 +61,12 @@ from PyFunceble.converter.url2netloc import Url2Netloc
61
61
  class URLReputationChecker(ReputationCheckerBase):
62
62
  """
63
63
  Provides the URL reputation checker.
64
+
65
+ :param str subject:
66
+ Optional, The subject to work with.
67
+ :param bool do_syntax_check_first:
68
+ Optional, Activates/Disables the check of the status before the actual
69
+ status gathering.
64
70
  """
65
71
 
66
72
  def query_a_record(self) -> Optional[List[str]]:
@@ -63,6 +63,9 @@ from PyFunceble.checker.syntax.status import SyntaxCheckerStatus
63
63
  class SyntaxCheckerBase(CheckerBase):
64
64
  """
65
65
  Provides the base of all our syntax checker classes.
66
+
67
+ :param str subject:
68
+ Optional, The subject to work with.
66
69
  """
67
70
 
68
71
  db_session: Optional[Session] = None
@@ -119,5 +122,7 @@ class SyntaxCheckerBase(CheckerBase):
119
122
  raise NotImplementedError()
120
123
 
121
124
  # pylint: disable=useless-super-delegation
122
- def get_status(self) -> Optional[SyntaxCheckerStatus]:
125
+ def get_status(
126
+ self,
127
+ ) -> Optional[SyntaxCheckerStatus]: # pragma: no cover ## Safety.
123
128
  return super().get_status()
@@ -65,8 +65,8 @@ class DomainSyntaxChecker(DomainSyntaxCheckerBase, SyntaxCheckerBase):
65
65
  """
66
66
  Provides an interface to check the syntax of a domain.
67
67
 
68
- :param subject:
69
- The subject to work with.
68
+ :param str subject:
69
+ Optional, The subject to work with.
70
70
  """
71
71
 
72
72
  second_level_checker: Optional[SecondLvlDomainSyntaxChecker] = None
@@ -62,8 +62,8 @@ class DomainSyntaxCheckerBase(CheckerBase):
62
62
  """
63
63
  Provides an interface to check the syntax of a second domain.
64
64
 
65
- :param subject:
66
- The subject to work with.
65
+ :param str subject:
66
+ Optional, The subject to work with.
67
67
  """
68
68
 
69
69
  # pylint: disable=line-too-long
@@ -63,8 +63,8 @@ class IPSyntaxChecker(SyntaxCheckerBase):
63
63
  """
64
64
  Provides an interface to check the syntax of an IP (v6 or v4).
65
65
 
66
- :param subject:
67
- The subject to work with.
66
+ :param str subject:
67
+ Optional, The subject to work with.
68
68
  """
69
69
 
70
70
  ipv4_checker: Optional[IPv4SyntaxChecker] = None
@@ -60,8 +60,8 @@ class IPv4SyntaxChecker(CheckerBase):
60
60
  """
61
61
  Provides an interface to check the syntax of an IPv4.
62
62
 
63
- :param subject:
64
- The subject to work with.
63
+ :param str subject:
64
+ Optional, The subject to work with.
65
65
  """
66
66
 
67
67
  @staticmethod
@@ -59,8 +59,8 @@ class IPv6SyntaxChecker(CheckerBase):
59
59
  """
60
60
  Provides an interface to check the syntax of an IPv6.
61
61
 
62
- :param subject:
63
- The subject to work with.
62
+ :param str subject:
63
+ Optional, The subject to work with.
64
64
  """
65
65
 
66
66
  @CheckerBase.ensure_subject_is_given
@@ -60,8 +60,8 @@ class SecondLvlDomainSyntaxChecker(DomainSyntaxCheckerBase):
60
60
  """
61
61
  Provides an interface to check the syntax of a second domain.
62
62
 
63
- :param subject:
64
- The subject to work with.
63
+ :param str subject:
64
+ Optional, The subject to work with.
65
65
  """
66
66
 
67
67
  # pylint: disable=line-too-long
@@ -58,8 +58,8 @@ class SubDomainSyntaxChecker(DomainSyntaxCheckerBase):
58
58
  """
59
59
  Provides an interface to check the syntax of a subdomain.
60
60
 
61
- :param subject:
62
- The subject to work with.
61
+ :param str subject:
62
+ Optional, The subject to work with.
63
63
  """
64
64
 
65
65
  # pylint: disable=line-too-long
@@ -63,8 +63,8 @@ class URLSyntaxChecker(SyntaxCheckerBase):
63
63
  """
64
64
  Provides an interface to check the syntax of a URL.
65
65
 
66
- :param subject:
67
- The subject to work with.
66
+ :param str subject:
67
+ Optional, The subject to work with.
68
68
  """
69
69
 
70
70
  @CheckerBase.ensure_subject_is_given
@@ -183,6 +183,21 @@ class ProcessesManagerBase:
183
183
 
184
184
  return wrapper
185
185
 
186
+ def ignore_if_running(func): # pylint: disable=no-self-argument
187
+ """
188
+ Ignore the launching of the decorated method if the workers are
189
+ running.
190
+ """
191
+
192
+ @functools.wraps(func)
193
+ def wrapper(self, *args, **kwargs):
194
+ if not self.is_running():
195
+ return func(self, *args, **kwargs) # pylint: disable=not-callable
196
+
197
+ return self
198
+
199
+ return wrapper
200
+
186
201
  @property
187
202
  def max_worker(self) -> Optional[int]:
188
203
  """
@@ -434,6 +449,7 @@ class ProcessesManagerBase:
434
449
 
435
450
  @ensure_worker_obj_is_given
436
451
  @create_workers_if_missing
452
+ # @ignore_if_running
437
453
  def start(self) -> "ProcessesManagerBase":
438
454
  """
439
455
  Starts a defined number of worker.
@@ -82,6 +82,9 @@ class TesterWorker(WorkerBase):
82
82
 
83
83
  continue_dataset: Optional[ContinueDatasetBase] = None
84
84
  inactive_dataset: Optional[InactiveDatasetBase] = None
85
+ testing_object: Optional[CheckerBase] = None
86
+
87
+ known_testing_objects: dict = dict()
85
88
 
86
89
  def __post_init__(self) -> None:
87
90
  self.continue_dataset = (
@@ -95,6 +98,18 @@ class TesterWorker(WorkerBase):
95
98
  )
96
99
  )
97
100
 
101
+ self.known_testing_objects = {
102
+ "SYNTAX": {"domain": DomainSyntaxChecker, "url": URLSyntaxChecker},
103
+ "AVAILABILITY": {
104
+ "domain": DomainAndIPAvailabilityChecker,
105
+ "url": URLAvailabilityChecker,
106
+ },
107
+ "REPUTATION": {
108
+ "domain": DomainAndIPReputationChecker,
109
+ "url": URLReputationChecker,
110
+ },
111
+ }
112
+
98
113
  return super().__post_init__()
99
114
 
100
115
  @staticmethod
@@ -143,33 +158,41 @@ class TesterWorker(WorkerBase):
143
158
 
144
159
  return False
145
160
 
146
- def get_testing_object(self, subject_type: str, checker_type: str) -> CheckerBase:
161
+ def _init_testing_object(
162
+ self, subject_type: str, checker_type: str
163
+ ) -> Optional[CheckerBase]:
147
164
  """
148
165
  Provides the object to use for testing.
149
166
 
150
167
  :raise ValueError:
151
- When the given subject type is unkown.
168
+ When the given subject type is unknown.
152
169
  """
153
170
 
154
- known = {
155
- "SYNTAX": {"domain": DomainSyntaxChecker, "url": URLSyntaxChecker},
156
- "AVAILABILITY": {
157
- "domain": DomainAndIPAvailabilityChecker,
158
- "url": URLAvailabilityChecker,
159
- },
160
- "REPUTATION": {
161
- "domain": DomainAndIPReputationChecker,
162
- "url": URLReputationChecker,
163
- },
164
- }
165
-
166
- if checker_type in known:
167
- if subject_type in known[checker_type]:
171
+ if checker_type in self.known_testing_objects:
172
+ if subject_type in self.known_testing_objects[checker_type]:
168
173
  # Yes, we initialize before returning!
169
- return known[checker_type][subject_type](db_session=self.db_session)
170
174
 
171
- raise ValueError(f"<subject_type> ({subject_type!r}) is unknwon.")
172
- raise ValueError(f"<testing_mode> ({checker_type!r}) is unknwon.")
175
+ if not isinstance(
176
+ self.known_testing_objects[checker_type][subject_type],
177
+ type(self.testing_object),
178
+ ):
179
+ self.testing_object = self.known_testing_objects[checker_type][
180
+ subject_type
181
+ ](db_session=self.db_session)
182
+
183
+ # We want to always check the syntax first (ONLY UNDER THE CLI)
184
+ self.testing_object.set_do_syntax_check_first(
185
+ not bool(
186
+ PyFunceble.storage.CONFIGURATION.cli_testing.local_network
187
+ )
188
+ )
189
+
190
+ return self.testing_object
191
+
192
+ return None
193
+
194
+ raise ValueError(f"<subject_type> ({subject_type!r}) is unknown.")
195
+ raise ValueError(f"<testing_mode> ({checker_type!r}) is unknown.")
173
196
 
174
197
  def target(self, consumed: dict) -> Optional[Tuple[Any, ...]]:
175
198
  """
@@ -244,17 +267,12 @@ class TesterWorker(WorkerBase):
244
267
  test_dataset["idna_subject"],
245
268
  )
246
269
 
247
- testing_object = self.get_testing_object(
270
+ self._init_testing_object(
248
271
  test_dataset["subject_type"], test_dataset["checker_type"]
249
272
  )
250
273
 
251
- # We want to always check the syntax first (ONLY UNDER THE CLI)
252
- testing_object.set_do_syntax_check_first(
253
- not bool(PyFunceble.storage.CONFIGURATION.cli_testing.local_network)
254
- )
255
-
256
274
  result = (
257
- testing_object.set_subject(test_dataset["idna_subject"])
275
+ self.testing_object.set_subject(test_dataset["idna_subject"])
258
276
  .query_status()
259
277
  .get_status()
260
278
  )
@@ -383,7 +383,7 @@ class ProductionPrep:
383
383
  source_code_destination = os.path.join(docs_dir_helper.realpath, "code")
384
384
 
385
385
  CommandHelper(
386
- f"sphinx-apidoc -d 5 -f -H {header!r} -P -o "
386
+ f"sphinx-apidoc -d 5 -f -H {header!r} -o "
387
387
  f"{source_code_destination!r} {source_code_dir_helper.realpath}"
388
388
  ).execute(raise_on_error=True)
389
389