PyFunceble-dev 4.3.0a21__tar.gz → 4.3.0a24__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 (299) hide show
  1. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PKG-INFO +109 -108
  2. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/base.py +7 -6
  3. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/domain.py +18 -0
  4. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/extras/base.py +4 -4
  5. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/extras/dns.py +1 -1
  6. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/extras/etoxic.py +3 -3
  7. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/extras/parked.py +22 -20
  8. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/extras/rules.py +5 -13
  9. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/extras/subject_switch.py +4 -5
  10. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/ip.py +18 -0
  11. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/params.py +1 -1
  12. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/status.py +9 -4
  13. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/url.py +6 -0
  14. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/base.py +4 -0
  15. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/reputation/base.py +5 -2
  16. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/reputation/domain.py +11 -0
  17. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/reputation/ip.py +11 -0
  18. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/reputation/status.py +1 -1
  19. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/reputation/url.py +12 -1
  20. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/syntax/base.py +4 -1
  21. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/syntax/domain.py +4 -0
  22. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/syntax/ip.py +4 -0
  23. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/syntax/ipv4.py +10 -13
  24. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/syntax/ipv6.py +9 -11
  25. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/syntax/params.py +1 -1
  26. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/syntax/second_lvl_domain.py +3 -4
  27. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/syntax/subdomain.py +3 -4
  28. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/syntax/url.py +9 -6
  29. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/utils/whois.py +7 -11
  30. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/continuous_integration/base.py +14 -14
  31. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/credential_loader.py +4 -6
  32. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/entry_points/clean.py +0 -1
  33. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/entry_points/production.py +1 -1
  34. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/entry_points/pyfunceble/cli.py +11 -2
  35. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/execution_time.py +2 -2
  36. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/cleanup.py +1 -3
  37. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/dir_base.py +5 -1
  38. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/dir_structure/backup.py +1 -2
  39. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/dir_structure/base.py +0 -1
  40. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/dir_structure/restore.py +5 -7
  41. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/status_file.py +2 -3
  42. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/alembic.py +2 -4
  43. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/csv_file/inactive_source_delete.py +0 -1
  44. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/csv_file/whois_registrar_add.py +0 -1
  45. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/db_base.py +2 -2
  46. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/file_cleanup/base.py +3 -3
  47. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/file_cleanup/hashes_file.py +2 -3
  48. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/file_cleanup/mining_file.py +2 -3
  49. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/file_cleanup/production_config_file.py +2 -3
  50. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/mariadb/base.py +2 -4
  51. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/mariadb/file_and_status.py +1 -1
  52. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/mariadb/whois_record_idna_subject.py +0 -2
  53. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/migrator.py +0 -1
  54. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/workers/base.py +0 -1
  55. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/workers/chancy_producer.py +1 -2
  56. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/workers/dir_files_sorter.py +6 -14
  57. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/workers/file_sorter.py +2 -9
  58. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/workers/migrator.py +0 -1
  59. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/workers/producer.py +2 -4
  60. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/workers/tester.py +2 -3
  61. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/scripts/iana.py +14 -10
  62. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/scripts/production.py +2 -2
  63. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/scripts/public_suffix.py +2 -2
  64. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/system/integrator.py +1 -1
  65. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/system/launcher.py +14 -11
  66. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/utils/stdout.py +1 -1
  67. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/utils/testing.py +6 -16
  68. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/config/compare.py +10 -9
  69. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/config/loader.py +7 -4
  70. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/converter/input_line2subject.py +2 -2
  71. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/converter/internal_url.py +1 -1
  72. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/converter/rpz_input_line2subject.py +2 -4
  73. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/converter/subject2complements.py +4 -1
  74. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/converter/url2netloc.py +3 -3
  75. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/converter/wildcard2subject.py +3 -3
  76. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/helpers/command.py +1 -1
  77. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/helpers/dict.py +4 -4
  78. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/helpers/file.py +2 -2
  79. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/helpers/list.py +10 -7
  80. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/helpers/merge.py +2 -2
  81. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/helpers/regex.py +9 -11
  82. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/dns/nameserver.py +9 -19
  83. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/dns/query_tool.py +64 -205
  84. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/dns/resolver.py +64 -51
  85. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/netinfo/address.py +4 -6
  86. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/netinfo/base.py +1 -1
  87. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/netinfo/hostbyaddr.py +5 -8
  88. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/requests/adapter/base.py +3 -3
  89. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/requests/adapter/http.py +0 -1
  90. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/requests/requester.py +6 -6
  91. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/whois/converter/expiration_date.py +19 -8
  92. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/whois/converter/month2unified.py +4 -6
  93. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/whois/converter/registrar.py +18 -5
  94. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/whois/query_tool.py +15 -18
  95. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/storage.py +1 -1
  96. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble_dev.egg-info/PKG-INFO +109 -108
  97. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble_dev.egg-info/requires.txt +107 -107
  98. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/README.md +1 -0
  99. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/requirements.txt +2 -2
  100. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/requirements.win.txt +2 -2
  101. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/version.yaml +1 -1
  102. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/CODE_OF_CONDUCT.md +0 -0
  103. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/CONTRIBUTING.md +0 -0
  104. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/CONTRIBUTORS.md +0 -0
  105. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/LICENSE +0 -0
  106. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/MANIFEST.in +0 -0
  107. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/__init__.py +0 -0
  108. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/__init__.py +0 -0
  109. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/__init__.py +0 -0
  110. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/domain_and_ip.py +0 -0
  111. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/extras/__init__.py +0 -0
  112. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/availability/extras/external.py +0 -0
  113. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/complex_json_encoder.py +0 -0
  114. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/params_base.py +0 -0
  115. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/reputation/__init__.py +0 -0
  116. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/reputation/domain_and_ip.py +0 -0
  117. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/reputation/params.py +0 -0
  118. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/status_base.py +0 -0
  119. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/syntax/__init__.py +0 -0
  120. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/syntax/domain_and_ip.py +0 -0
  121. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/syntax/domain_base.py +0 -0
  122. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/syntax/status.py +0 -0
  123. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/checker/utils/__init__.py +0 -0
  124. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/__init__.py +0 -0
  125. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/continuous_integration/__init__.py +0 -0
  126. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/continuous_integration/exceptions.py +0 -0
  127. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/continuous_integration/github_actions.py +0 -0
  128. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/continuous_integration/gitlab_ci.py +0 -0
  129. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/continuous_integration/jenkins.py +0 -0
  130. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/continuous_integration/standalone.py +0 -0
  131. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/continuous_integration/travis_ci.py +0 -0
  132. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/continuous_integration/utils.py +0 -0
  133. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/entry_points/__init__.py +0 -0
  134. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/entry_points/iana.py +0 -0
  135. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/entry_points/public_suffix.py +0 -0
  136. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/entry_points/pyfunceble/__init__.py +0 -0
  137. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/entry_points/pyfunceble/argsparser.py +0 -0
  138. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/facility.py +0 -0
  139. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/factory.py +0 -0
  140. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/file_preloader.py +0 -0
  141. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/__init__.py +0 -0
  142. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/counter.py +0 -0
  143. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/dir_structure/__init__.py +0 -0
  144. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/json_base.py +0 -0
  145. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/printer/__init__.py +0 -0
  146. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/printer/base.py +0 -0
  147. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/printer/file.py +0 -0
  148. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/printer/stdout.py +0 -0
  149. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/filesystem/registrar_counter.py +0 -0
  150. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/__init__.py +0 -0
  151. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/base.py +0 -0
  152. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/csv_file/__init__.py +0 -0
  153. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/csv_file/base.py +0 -0
  154. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/file_cleanup/__init__.py +0 -0
  155. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/json2csv/__init__.py +0 -0
  156. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/json2csv/base.py +0 -0
  157. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/json2csv/inactive.py +0 -0
  158. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/json2csv/whois.py +0 -0
  159. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/migrators/mariadb/__init__.py +0 -0
  160. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/__init__.py +0 -0
  161. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/base.py +0 -0
  162. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/chancy_producer.py +0 -0
  163. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/chancy_tester.py +0 -0
  164. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/dir_files_sorter.py +0 -0
  165. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/file_sorter.py +0 -0
  166. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/miner.py +0 -0
  167. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/producer.py +0 -0
  168. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/tester.py +0 -0
  169. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/workers/__init__.py +0 -0
  170. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/workers/chancy_tester.py +0 -0
  171. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/workers/file_sorter_base.py +0 -0
  172. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/processes/workers/miner.py +0 -0
  173. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/scripts/__init__.py +0 -0
  174. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/storage.py +0 -0
  175. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/storage_facility.py +0 -0
  176. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/system/__init__.py +0 -0
  177. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/system/base.py +0 -0
  178. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/utils/__init__.py +0 -0
  179. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/utils/ascii_logo.py +0 -0
  180. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/utils/sort.py +0 -0
  181. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/cli/utils/version.py +0 -0
  182. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/config/__init__.py +0 -0
  183. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/converter/__init__.py +0 -0
  184. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/converter/adblock_input_line2subject.py +0 -0
  185. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/converter/base.py +0 -0
  186. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/converter/cidr2subject.py +0 -0
  187. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/converter/rpz_policy2subject.py +0 -0
  188. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/__init__.py +0 -0
  189. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/__init__.py +0 -0
  190. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/__init__.py +0 -0
  191. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/env.py +0 -0
  192. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/script.py.mako +0 -0
  193. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/35c79626ecb9_fix_some_columns.py +0 -0
  194. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/3a4c55a9320d_add_continue_table.py +0 -0
  195. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/3d6f4a33cdb2_add_inactive_table.py +0 -0
  196. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/45713fea8097_deletion_uneeded_columns_from_whois_.py +0 -0
  197. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/459a0d7b8f09_add_idna_subject_column_into_whois.py +0 -0
  198. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/6f4729deaf03_delete_inactive_source_column.py +0 -0
  199. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/7bcf7fa64ba1_rename_created_to_created_at_and.py +0 -0
  200. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/83ada95132bf_delete_the_file_table.py +0 -0
  201. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/912bbcb77a6c_add_registrar_column.py +0 -0
  202. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/95dc17ddd729_introduction_of_the_session_id_column.py +0 -0
  203. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/__init__.py +0 -0
  204. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/ade87195b0a0_base.py +0 -0
  205. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/bef7bcaac3f2_make_id_a_bigint.py +0 -0
  206. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/d8893cd406db_allow_whois_record_to_be_empty_null.py +0 -0
  207. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/mysql/versions/e04e8301d1a2_deletion_of_the_mined_table.py +0 -0
  208. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/postgresql/__init__.py +0 -0
  209. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/postgresql/env.py +0 -0
  210. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/postgresql/script.py.mako +0 -0
  211. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/postgresql/versions/__init__.py +0 -0
  212. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/alembic/postgresql/versions/a32ac5d66eee_initial_version.py +0 -0
  213. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/infrastructure/.PyFunceble_production.yaml +0 -0
  214. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/infrastructure/__init__.py +0 -0
  215. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/data/infrastructure/dir_structure_production.json +0 -0
  216. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/__init__.py +0 -0
  217. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/credential/__init__.py +0 -0
  218. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/credential/base.py +0 -0
  219. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/credential/mariadb.py +0 -0
  220. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/credential/mysql.py +0 -0
  221. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/credential/postgresql.py +0 -0
  222. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/schemas/__init__.py +0 -0
  223. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/schemas/autocontinue.py +0 -0
  224. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/schemas/inactive.py +0 -0
  225. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/schemas/status.py +0 -0
  226. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/schemas/whois_record.py +0 -0
  227. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/session.py +0 -0
  228. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/sqlalchemy/__init__.py +0 -0
  229. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/sqlalchemy/all_schemas.py +0 -0
  230. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/database/sqlalchemy/base_schema.py +0 -0
  231. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/__init__.py +0 -0
  232. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/autocontinue/__init__.py +0 -0
  233. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/autocontinue/base.py +0 -0
  234. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/autocontinue/csv.py +0 -0
  235. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/autocontinue/sql.py +0 -0
  236. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/base.py +0 -0
  237. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/csv_base.py +0 -0
  238. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/db_base.py +0 -0
  239. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/iana.py +0 -0
  240. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/inactive/__init__.py +0 -0
  241. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/inactive/base.py +0 -0
  242. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/inactive/csv.py +0 -0
  243. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/inactive/sql.py +0 -0
  244. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/ipv4_reputation.py +0 -0
  245. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/public_suffix.py +0 -0
  246. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/sql_base.py +0 -0
  247. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/user_agent.py +0 -0
  248. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/whois/__init__.py +0 -0
  249. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/whois/base.py +0 -0
  250. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/whois/csv.py +0 -0
  251. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/dataset/whois/sql.py +0 -0
  252. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/downloader/__init__.py +0 -0
  253. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/downloader/base.py +0 -0
  254. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/downloader/exceptions.py +0 -0
  255. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/downloader/iana.py +0 -0
  256. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/downloader/ipv4_reputation.py +0 -0
  257. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/downloader/public_suffix.py +0 -0
  258. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/downloader/user_agents.py +0 -0
  259. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/exceptions.py +0 -0
  260. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/facility.py +0 -0
  261. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/factory.py +0 -0
  262. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/helpers/__init__.py +0 -0
  263. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/helpers/directory.py +0 -0
  264. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/helpers/download.py +0 -0
  265. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/helpers/environment_variable.py +0 -0
  266. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/helpers/exceptions.py +0 -0
  267. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/helpers/hash.py +0 -0
  268. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/logger.py +0 -0
  269. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/__init__.py +0 -0
  270. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/dns/__init__.py +0 -0
  271. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/http_status_code.py +0 -0
  272. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/netinfo/__init__.py +0 -0
  273. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/platform.py +0 -0
  274. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/record/__init__.py +0 -0
  275. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/record/base.py +0 -0
  276. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/record/dns.py +0 -0
  277. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/record/whois.py +0 -0
  278. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/requests/__init__.py +0 -0
  279. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/requests/adapter/__init__.py +0 -0
  280. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/requests/adapter/https.py +0 -0
  281. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/whois/__init__.py +0 -0
  282. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/whois/converter/__init__.py +0 -0
  283. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/whois/converter/base.py +0 -0
  284. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/query/whois/converter/digit2digits.py +0 -0
  285. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/sessions.py +0 -0
  286. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/storage_facility.py +0 -0
  287. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/utils/__init__.py +0 -0
  288. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/utils/platform.py +0 -0
  289. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/utils/profile.py +0 -0
  290. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble/utils/version.py +0 -0
  291. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble_dev.egg-info/SOURCES.txt +0 -0
  292. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble_dev.egg-info/dependency_links.txt +0 -0
  293. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble_dev.egg-info/entry_points.txt +0 -0
  294. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/PyFunceble_dev.egg-info/top_level.txt +0 -0
  295. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/requirements.dev.txt +0 -0
  296. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/requirements.docs.txt +0 -0
  297. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/requirements.test.txt +0 -0
  298. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/setup.cfg +0 -0
  299. {pyfunceble_dev-4.3.0a21 → pyfunceble_dev-4.3.0a24}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyFunceble-dev
3
- Version: 4.3.0a21
3
+ Version: 4.3.0a24
4
4
  Summary: The tool to check the availability or syntax of domain, IP or URL.
5
5
  Home-page: https://github.com/funilrys/PyFunceble
6
6
  Author: funilrys
@@ -22,176 +22,176 @@ Classifier: License :: OSI Approved
22
22
  Requires-Python: >=3.9, <4
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE
25
- Requires-Dist: domain2idna~=1.12.0
26
- Requires-Dist: SQLAlchemy~=2.0
25
+ Requires-Dist: setuptools>=65.5.1
26
+ Requires-Dist: colorama
27
27
  Requires-Dist: python-dotenv
28
28
  Requires-Dist: inflection
29
- Requires-Dist: requests[socks]<3
30
- Requires-Dist: PyYAML
31
- Requires-Dist: dnspython[DOH]~=2.6.0
32
- Requires-Dist: shtab
33
- Requires-Dist: python-box[all]~=6.0.0
34
29
  Requires-Dist: alembic
35
30
  Requires-Dist: packaging
36
- Requires-Dist: setuptools>=65.5.1
31
+ Requires-Dist: python-box[all]~=6.1.0
32
+ Requires-Dist: PyYAML
33
+ Requires-Dist: requests[socks]<3
37
34
  Requires-Dist: PyMySQL
38
- Requires-Dist: colorama
35
+ Requires-Dist: SQLAlchemy~=2.0
36
+ Requires-Dist: domain2idna~=1.12.0
37
+ Requires-Dist: shtab
38
+ Requires-Dist: dnspython[DOH]~=2.7.0
39
39
  Requires-Dist: pyfunceble-process-manager==1.0.10
40
40
  Provides-Extra: docs
41
- Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
42
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "docs"
41
+ Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
43
42
  Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "docs"
43
+ Requires-Dist: mkdocstrings[python]~=0.26; extra == "docs"
44
+ Requires-Dist: zipp>=3.19.1; extra == "docs"
45
+ Requires-Dist: pymdown-extensions~=10.9; extra == "docs"
44
46
  Requires-Dist: mkdocs-literate-nav~=0.6; extra == "docs"
47
+ Requires-Dist: mkdocs~=1.5; extra == "docs"
48
+ Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
45
49
  Requires-Dist: mkdocs-section-index~=0.3; extra == "docs"
46
- Requires-Dist: zipp>=3.19.1; extra == "docs"
47
50
  Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "docs"
48
51
  Requires-Dist: mkdocs-material~=9.5; extra == "docs"
49
- Requires-Dist: mkdocs~=1.5; extra == "docs"
50
- Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
51
- Requires-Dist: pymdown-extensions~=10.9; extra == "docs"
52
52
  Provides-Extra: dev
53
- Requires-Dist: flake8; extra == "dev"
54
- Requires-Dist: black; extra == "dev"
55
53
  Requires-Dist: pylint; extra == "dev"
56
54
  Requires-Dist: isort; extra == "dev"
55
+ Requires-Dist: flake8; extra == "dev"
56
+ Requires-Dist: black; extra == "dev"
57
57
  Provides-Extra: test
58
- Requires-Dist: tox; extra == "test"
59
58
  Requires-Dist: coverage; extra == "test"
59
+ Requires-Dist: tox; extra == "test"
60
60
  Provides-Extra: psql
61
+ Requires-Dist: setuptools>=65.5.1; extra == "psql"
62
+ Requires-Dist: colorama; extra == "psql"
61
63
  Requires-Dist: psycopg2; extra == "psql"
62
- Requires-Dist: domain2idna~=1.12.0; extra == "psql"
63
- Requires-Dist: SQLAlchemy~=2.0; extra == "psql"
64
64
  Requires-Dist: python-dotenv; extra == "psql"
65
65
  Requires-Dist: inflection; extra == "psql"
66
- Requires-Dist: requests[socks]<3; extra == "psql"
67
- Requires-Dist: PyYAML; extra == "psql"
68
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql"
69
- Requires-Dist: shtab; extra == "psql"
70
- Requires-Dist: python-box[all]~=6.0.0; extra == "psql"
71
66
  Requires-Dist: alembic; extra == "psql"
72
67
  Requires-Dist: packaging; extra == "psql"
73
- Requires-Dist: setuptools>=65.5.1; extra == "psql"
68
+ Requires-Dist: python-box[all]~=6.1.0; extra == "psql"
69
+ Requires-Dist: PyYAML; extra == "psql"
70
+ Requires-Dist: requests[socks]<3; extra == "psql"
74
71
  Requires-Dist: PyMySQL; extra == "psql"
75
- Requires-Dist: colorama; extra == "psql"
72
+ Requires-Dist: SQLAlchemy~=2.0; extra == "psql"
73
+ Requires-Dist: domain2idna~=1.12.0; extra == "psql"
74
+ Requires-Dist: shtab; extra == "psql"
75
+ Requires-Dist: dnspython[DOH]~=2.7.0; extra == "psql"
76
76
  Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "psql"
77
77
  Provides-Extra: psql-binary
78
- Requires-Dist: domain2idna~=1.12.0; extra == "psql-binary"
79
- Requires-Dist: psycopg2-binary; extra == "psql-binary"
80
- Requires-Dist: SQLAlchemy~=2.0; extra == "psql-binary"
78
+ Requires-Dist: setuptools>=65.5.1; extra == "psql-binary"
79
+ Requires-Dist: colorama; extra == "psql-binary"
81
80
  Requires-Dist: python-dotenv; extra == "psql-binary"
81
+ Requires-Dist: psycopg2-binary; extra == "psql-binary"
82
82
  Requires-Dist: inflection; extra == "psql-binary"
83
- Requires-Dist: requests[socks]<3; extra == "psql-binary"
84
- Requires-Dist: PyYAML; extra == "psql-binary"
85
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql-binary"
86
- Requires-Dist: shtab; extra == "psql-binary"
87
- Requires-Dist: python-box[all]~=6.0.0; extra == "psql-binary"
88
83
  Requires-Dist: alembic; extra == "psql-binary"
89
84
  Requires-Dist: packaging; extra == "psql-binary"
90
- Requires-Dist: setuptools>=65.5.1; extra == "psql-binary"
85
+ Requires-Dist: python-box[all]~=6.1.0; extra == "psql-binary"
86
+ Requires-Dist: PyYAML; extra == "psql-binary"
87
+ Requires-Dist: requests[socks]<3; extra == "psql-binary"
91
88
  Requires-Dist: PyMySQL; extra == "psql-binary"
92
- Requires-Dist: colorama; extra == "psql-binary"
89
+ Requires-Dist: SQLAlchemy~=2.0; extra == "psql-binary"
90
+ Requires-Dist: domain2idna~=1.12.0; extra == "psql-binary"
91
+ Requires-Dist: shtab; extra == "psql-binary"
92
+ Requires-Dist: dnspython[DOH]~=2.7.0; extra == "psql-binary"
93
93
  Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "psql-binary"
94
94
  Provides-Extra: postgresql
95
+ Requires-Dist: setuptools>=65.5.1; extra == "postgresql"
96
+ Requires-Dist: colorama; extra == "postgresql"
95
97
  Requires-Dist: psycopg2; extra == "postgresql"
96
- Requires-Dist: domain2idna~=1.12.0; extra == "postgresql"
97
- Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql"
98
98
  Requires-Dist: python-dotenv; extra == "postgresql"
99
99
  Requires-Dist: inflection; extra == "postgresql"
100
- Requires-Dist: requests[socks]<3; extra == "postgresql"
101
- Requires-Dist: PyYAML; extra == "postgresql"
102
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql"
103
- Requires-Dist: shtab; extra == "postgresql"
104
- Requires-Dist: python-box[all]~=6.0.0; extra == "postgresql"
105
100
  Requires-Dist: alembic; extra == "postgresql"
106
101
  Requires-Dist: packaging; extra == "postgresql"
107
- Requires-Dist: setuptools>=65.5.1; extra == "postgresql"
102
+ Requires-Dist: python-box[all]~=6.1.0; extra == "postgresql"
103
+ Requires-Dist: PyYAML; extra == "postgresql"
104
+ Requires-Dist: requests[socks]<3; extra == "postgresql"
108
105
  Requires-Dist: PyMySQL; extra == "postgresql"
109
- Requires-Dist: colorama; extra == "postgresql"
106
+ Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql"
107
+ Requires-Dist: domain2idna~=1.12.0; extra == "postgresql"
108
+ Requires-Dist: shtab; extra == "postgresql"
109
+ Requires-Dist: dnspython[DOH]~=2.7.0; extra == "postgresql"
110
110
  Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "postgresql"
111
111
  Provides-Extra: postgresql-binary
112
- Requires-Dist: domain2idna~=1.12.0; extra == "postgresql-binary"
113
- Requires-Dist: psycopg2-binary; extra == "postgresql-binary"
114
- Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql-binary"
112
+ Requires-Dist: setuptools>=65.5.1; extra == "postgresql-binary"
113
+ Requires-Dist: colorama; extra == "postgresql-binary"
115
114
  Requires-Dist: python-dotenv; extra == "postgresql-binary"
115
+ Requires-Dist: psycopg2-binary; extra == "postgresql-binary"
116
116
  Requires-Dist: inflection; extra == "postgresql-binary"
117
- Requires-Dist: requests[socks]<3; extra == "postgresql-binary"
118
- Requires-Dist: PyYAML; extra == "postgresql-binary"
119
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql-binary"
120
- Requires-Dist: shtab; extra == "postgresql-binary"
121
- Requires-Dist: python-box[all]~=6.0.0; extra == "postgresql-binary"
122
117
  Requires-Dist: alembic; extra == "postgresql-binary"
123
118
  Requires-Dist: packaging; extra == "postgresql-binary"
124
- Requires-Dist: setuptools>=65.5.1; extra == "postgresql-binary"
119
+ Requires-Dist: python-box[all]~=6.1.0; extra == "postgresql-binary"
120
+ Requires-Dist: PyYAML; extra == "postgresql-binary"
121
+ Requires-Dist: requests[socks]<3; extra == "postgresql-binary"
125
122
  Requires-Dist: PyMySQL; extra == "postgresql-binary"
126
- Requires-Dist: colorama; extra == "postgresql-binary"
123
+ Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql-binary"
124
+ Requires-Dist: domain2idna~=1.12.0; extra == "postgresql-binary"
125
+ Requires-Dist: shtab; extra == "postgresql-binary"
126
+ Requires-Dist: dnspython[DOH]~=2.7.0; extra == "postgresql-binary"
127
127
  Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "postgresql-binary"
128
128
  Provides-Extra: full
129
- Requires-Dist: mkdocs-gen-files~=0.5; extra == "full"
130
- Requires-Dist: domain2idna~=1.12.0; extra == "full"
131
- Requires-Dist: PyYAML; extra == "full"
132
- Requires-Dist: mkdocs~=1.5; extra == "full"
133
- Requires-Dist: pymdown-extensions~=10.9; extra == "full"
134
- Requires-Dist: requests[socks]<3; extra == "full"
135
- Requires-Dist: colorama; extra == "full"
136
- Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "full"
137
- Requires-Dist: python-dotenv; extra == "full"
138
- Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
139
- Requires-Dist: flake8; extra == "full"
129
+ Requires-Dist: setuptools>=65.5.1; extra == "full"
140
130
  Requires-Dist: pylint; extra == "full"
141
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "full"
142
- Requires-Dist: python-box[all]~=6.0.0; extra == "full"
143
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "full"
144
- Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
145
- Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
146
- Requires-Dist: SQLAlchemy~=2.0; extra == "full"
147
131
  Requires-Dist: isort; extra == "full"
148
- Requires-Dist: coverage; extra == "full"
132
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
149
133
  Requires-Dist: packaging; extra == "full"
134
+ Requires-Dist: SQLAlchemy~=2.0; extra == "full"
135
+ Requires-Dist: requests[socks]<3; extra == "full"
136
+ Requires-Dist: shtab; extra == "full"
137
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "full"
138
+ Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "full"
139
+ Requires-Dist: colorama; extra == "full"
140
+ Requires-Dist: mkdocstrings[python]~=0.26; extra == "full"
141
+ Requires-Dist: python-dotenv; extra == "full"
142
+ Requires-Dist: mkdocs~=1.5; extra == "full"
150
143
  Requires-Dist: PyMySQL; extra == "full"
151
- Requires-Dist: inflection; extra == "full"
152
- Requires-Dist: tox; extra == "full"
144
+ Requires-Dist: dnspython[DOH]~=2.7.0; extra == "full"
145
+ Requires-Dist: coverage; extra == "full"
153
146
  Requires-Dist: zipp>=3.19.1; extra == "full"
154
- Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
155
- Requires-Dist: shtab; extra == "full"
147
+ Requires-Dist: tox; extra == "full"
148
+ Requires-Dist: inflection; extra == "full"
149
+ Requires-Dist: python-box[all]~=6.1.0; extra == "full"
150
+ Requires-Dist: mkdocs-gen-files~=0.5; extra == "full"
151
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
152
+ Requires-Dist: alembic; extra == "full"
153
+ Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
154
+ Requires-Dist: pymdown-extensions~=10.9; extra == "full"
156
155
  Requires-Dist: black; extra == "full"
156
+ Requires-Dist: flake8; extra == "full"
157
+ Requires-Dist: PyYAML; extra == "full"
158
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
159
+ Requires-Dist: domain2idna~=1.12.0; extra == "full"
157
160
  Requires-Dist: mkdocs-material~=9.5; extra == "full"
158
- Requires-Dist: alembic; extra == "full"
159
- Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "full"
160
- Requires-Dist: setuptools>=65.5.1; extra == "full"
161
161
  Provides-Extra: all
162
- Requires-Dist: mkdocs-gen-files~=0.5; extra == "all"
163
- Requires-Dist: domain2idna~=1.12.0; extra == "all"
164
- Requires-Dist: PyYAML; extra == "all"
165
- Requires-Dist: mkdocs~=1.5; extra == "all"
166
- Requires-Dist: pymdown-extensions~=10.9; extra == "all"
167
- Requires-Dist: requests[socks]<3; extra == "all"
168
- Requires-Dist: colorama; extra == "all"
169
- Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "all"
170
- Requires-Dist: psycopg2-binary; extra == "all"
171
- Requires-Dist: python-dotenv; extra == "all"
172
- Requires-Dist: mkdocs-section-index~=0.3; extra == "all"
173
- Requires-Dist: flake8; extra == "all"
162
+ Requires-Dist: setuptools>=65.5.1; extra == "all"
174
163
  Requires-Dist: pylint; extra == "all"
175
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "all"
176
- Requires-Dist: python-box[all]~=6.0.0; extra == "all"
177
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "all"
178
- Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "all"
179
- Requires-Dist: mkdocs-literate-nav~=0.6; extra == "all"
180
- Requires-Dist: SQLAlchemy~=2.0; extra == "all"
181
164
  Requires-Dist: isort; extra == "all"
182
- Requires-Dist: coverage; extra == "all"
165
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "all"
183
166
  Requires-Dist: packaging; extra == "all"
167
+ Requires-Dist: SQLAlchemy~=2.0; extra == "all"
168
+ Requires-Dist: requests[socks]<3; extra == "all"
169
+ Requires-Dist: shtab; extra == "all"
170
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "all"
171
+ Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "all"
172
+ Requires-Dist: colorama; extra == "all"
173
+ Requires-Dist: mkdocstrings[python]~=0.26; extra == "all"
174
+ Requires-Dist: python-dotenv; extra == "all"
175
+ Requires-Dist: mkdocs~=1.5; extra == "all"
184
176
  Requires-Dist: PyMySQL; extra == "all"
185
- Requires-Dist: inflection; extra == "all"
186
- Requires-Dist: tox; extra == "all"
177
+ Requires-Dist: dnspython[DOH]~=2.7.0; extra == "all"
178
+ Requires-Dist: coverage; extra == "all"
187
179
  Requires-Dist: zipp>=3.19.1; extra == "all"
188
- Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "all"
189
- Requires-Dist: shtab; extra == "all"
180
+ Requires-Dist: tox; extra == "all"
181
+ Requires-Dist: psycopg2-binary; extra == "all"
182
+ Requires-Dist: inflection; extra == "all"
183
+ Requires-Dist: python-box[all]~=6.1.0; extra == "all"
184
+ Requires-Dist: mkdocs-gen-files~=0.5; extra == "all"
185
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "all"
186
+ Requires-Dist: alembic; extra == "all"
187
+ Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "all"
188
+ Requires-Dist: pymdown-extensions~=10.9; extra == "all"
190
189
  Requires-Dist: black; extra == "all"
190
+ Requires-Dist: flake8; extra == "all"
191
+ Requires-Dist: PyYAML; extra == "all"
192
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "all"
193
+ Requires-Dist: domain2idna~=1.12.0; extra == "all"
191
194
  Requires-Dist: mkdocs-material~=9.5; extra == "all"
192
- Requires-Dist: alembic; extra == "all"
193
- Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "all"
194
- Requires-Dist: setuptools>=65.5.1; extra == "all"
195
195
  Dynamic: author
196
196
  Dynamic: author-email
197
197
  Dynamic: classifier
@@ -215,6 +215,7 @@ Dynamic: summary
215
215
  [![image](https://img.shields.io/badge/code%20style-black-000000.png)](https://github.com/ambv/black)
216
216
  [![image](https://coveralls.io/repos/github/funilrys/PyFunceble/badge.png?branch=dev)](https://coveralls.io/github/funilrys/PyFunceble?branch=dev)
217
217
  [![image](https://img.shields.io/github/license/funilrys/PyFunceble.png)](https://github.com/funilrys/PyFunceble/blob/dev/LICENSE)
218
+ [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Ffunilrys%2FPyFunceble.svg?type=shield&issueType=license)](https://app.fossa.com/projects/git%2Bgithub.com%2Ffunilrys%2FPyFunceble?ref=badge_shield&issueType=license)
218
219
  [![image](https://img.shields.io/pypi/v/pyfunceble-dev.png)](https://pypi.org/project/pyfunceble-dev)
219
220
  [![image](https://img.shields.io/github/issues/funilrys/PyFunceble.png)](https://github.com/funilrys/PyFunceble/issues)
220
221
 
@@ -58,7 +58,6 @@ from typing import Dict, List, Optional
58
58
 
59
59
  from sqlalchemy.orm import Session
60
60
 
61
- import PyFunceble.checker.utils.whois
62
61
  import PyFunceble.facility
63
62
  import PyFunceble.storage
64
63
  from PyFunceble.checker.availability.extras.base import ExtraRuleHandlerBase
@@ -75,6 +74,7 @@ from PyFunceble.checker.base import CheckerBase
75
74
  from PyFunceble.checker.syntax.domain import DomainSyntaxChecker
76
75
  from PyFunceble.checker.syntax.ip import IPSyntaxChecker
77
76
  from PyFunceble.checker.syntax.url import URLSyntaxChecker
77
+ from PyFunceble.checker.utils.whois import get_whois_dataset_object
78
78
  from PyFunceble.converter.url2netloc import Url2Netloc
79
79
  from PyFunceble.query.dns.query_tool import DNSQueryTool
80
80
  from PyFunceble.query.http_status_code import HTTPStatusCode
@@ -511,8 +511,11 @@ class AvailabilityCheckerBase(CheckerBase):
511
511
  self.ip_syntax_checker.subject = self.idna_subject
512
512
  self.url_syntax_checker.subject = self.idna_subject
513
513
 
514
- self.status = AvailabilityCheckerStatus()
515
- self.status.params = self.params
514
+ if self.status.subject_kind is None:
515
+ self.status = AvailabilityCheckerStatus()
516
+ self.params = AvailabilityCheckerParams()
517
+ self.status.params = self.params
518
+
516
519
  self.status.dns_lookup_record = self.dns_query_tool.lookup_record
517
520
  self.status.whois_lookup_record = self.whois_query_tool.lookup_record
518
521
 
@@ -758,9 +761,7 @@ class AvailabilityCheckerBase(CheckerBase):
758
761
  if (
759
762
  PyFunceble.facility.ConfigLoader.is_already_loaded() and self.use_whois_db
760
763
  ): # pragma: no cover ## Not interesting enough to spend time on it.
761
- whois_object = PyFunceble.checker.utils.whois.get_whois_dataset_object(
762
- db_session=self.db_session
763
- )
764
+ whois_object = get_whois_dataset_object(db_session=self.db_session)
764
765
  known_record = whois_object[self.subject]
765
766
 
766
767
  if known_record and not isinstance(known_record, dict):
@@ -53,6 +53,8 @@ License:
53
53
  import PyFunceble.facility
54
54
  import PyFunceble.storage
55
55
  from PyFunceble.checker.availability.base import AvailabilityCheckerBase
56
+ from PyFunceble.checker.availability.params import AvailabilityCheckerParams
57
+ from PyFunceble.checker.availability.status import AvailabilityCheckerStatus
56
58
  from PyFunceble.checker.reputation.domain import DomainReputationChecker
57
59
 
58
60
 
@@ -87,6 +89,22 @@ class DomainAvailabilityChecker(AvailabilityCheckerBase):
87
89
  WHOIS datasets.
88
90
  """
89
91
 
92
+ def subject_propagator(self) -> "DomainAvailabilityChecker":
93
+ """
94
+ Propagate the currently set subject.
95
+
96
+ .. warning::
97
+ You are not invited to run this method directly.
98
+ """
99
+
100
+ self.status = AvailabilityCheckerStatus()
101
+ self.params = AvailabilityCheckerParams()
102
+ self.status.params = self.params
103
+
104
+ self.status.subject_kind = "domain"
105
+
106
+ return super().subject_propagator()
107
+
90
108
  def try_to_query_status_from_reputation(self) -> "DomainAvailabilityChecker":
91
109
  """
92
110
  Tries to query the status from the reputation lookup.
@@ -67,7 +67,7 @@ class ExtraRuleHandlerBase:
67
67
  """
68
68
  Provides the base of all extra rules handler.
69
69
 
70
- :param statatus:
70
+ :param status:
71
71
  The previously gathered status.
72
72
  :type status:
73
73
  :class:`~PyFunceble.checker.availability.status.AvailabilityCheckerStatus`
@@ -167,7 +167,7 @@ class ExtraRuleHandlerBase:
167
167
  Provides a viable request URL.
168
168
  """
169
169
 
170
- if any(self.status.idna_subject.startswith(x) for x in ("http:", "https:")):
170
+ if self.status.idna_subject.startswith(("http:", "https:")):
171
171
  return self.status.idna_subject
172
172
  return f"http://{self.status.idna_subject}:80"
173
173
 
@@ -177,7 +177,7 @@ class ExtraRuleHandlerBase:
177
177
  Provides a viable request URL that default to an HTTPS URL.
178
178
  """
179
179
 
180
- if any(self.status.idna_subject.startswith(x) for x in ("http:", "https:")):
180
+ if self.status.idna_subject.startswith(("http:", "https:")):
181
181
  return self.status.idna_subject
182
182
  return f"https://{self.status.idna_subject}:443"
183
183
 
@@ -226,7 +226,7 @@ class ExtraRuleHandlerBase:
226
226
  Do a request and store its response into the `req` attribute.
227
227
 
228
228
  :param bool allow_redirects:
229
- Whether we shoold follow the redirection - or not.
229
+ Whether we should follow the redirection - or not.
230
230
  """
231
231
 
232
232
  self.req = self.requester.get(self.req_url, allow_redirects=allow_redirects)
@@ -132,7 +132,7 @@ class DNSRulesHandler(ExtraRuleHandlerBase):
132
132
  if not self.regex_helper.set_regex(regex).match(
133
133
  self.status.netloc, return_match=False
134
134
  ):
135
- break
135
+ continue
136
136
 
137
137
  for ruler, params in rulesets:
138
138
  if self.status.status_after_extra_rules:
@@ -64,7 +64,7 @@ class EToxicHandler(ExtraRuleHandlerBase):
64
64
  :class:`~PyFunceble.checker.availability.status.AvailabilityCheckerStatus`
65
65
  """
66
66
 
67
- MATCHES = [
67
+ MATCHES = (
68
68
  ".0wn0.com",
69
69
  ".123.st",
70
70
  ".1forum.biz",
@@ -282,7 +282,7 @@ class EToxicHandler(ExtraRuleHandlerBase):
282
282
  ".yoo7.com",
283
283
  ".ze-43eme.com",
284
284
  ".zxr7team.com",
285
- ]
285
+ )
286
286
 
287
287
  @ExtraRuleHandlerBase.ensure_status_is_given
288
288
  @ExtraRuleHandlerBase.setup_status_before
@@ -294,7 +294,7 @@ class EToxicHandler(ExtraRuleHandlerBase):
294
294
  )
295
295
 
296
296
  if self.status.status_before_extra_rules == PyFunceble.storage.STATUS.up:
297
- if any(self.status.netloc.endswith(x) for x in self.MATCHES):
297
+ if self.status.netloc.endswith(self.MATCHES):
298
298
  self.do_on_header_match(
299
299
  self.req_url,
300
300
  matches={"location": [f"/{self.status.netloc}", "/search/"]},
@@ -65,6 +65,25 @@ class ParkedRulesHandler(ExtraRuleHandlerBase):
65
65
  :class:`~PyFunceble.checker.availability.status.AvailabilityCheckerStatus`
66
66
  """
67
67
 
68
+ PARKED_CONTENT_PATTERNS = (
69
+ 'class="parked-domains',
70
+ "buy-domain",
71
+ "this domain name is parked",
72
+ "this domain is parked",
73
+ "interested in this domain",
74
+ "really cool domain parked",
75
+ "domain is for sale",
76
+ '_trackpageview("/parked/[% parked_type %]/',
77
+ "| parked domain",
78
+ "parked banner",
79
+ "contact with domain owner",
80
+ "web page is parked",
81
+ "buy or lease this domain",
82
+ "parked domain name on ",
83
+ "it is currently parked by the owner",
84
+ "parked page for",
85
+ )
86
+
68
87
  def _switch_down_by_cookie(self) -> "ParkedRulesHandler":
69
88
  """
70
89
  Tries to switch the status to inactive if some special cookies where found.
@@ -75,31 +94,14 @@ class ParkedRulesHandler(ExtraRuleHandlerBase):
75
94
 
76
95
  return self
77
96
 
78
- def _swith_down_by_content(self) -> "ParkedRulesHandler":
97
+ def _switch_down_by_content(self) -> "ParkedRulesHandler":
79
98
  """
80
99
  Tries to switch the status to inactive if some relative content were found.
81
100
  """
82
101
 
83
102
  content = self.req.text.lower()
84
103
 
85
- if ( # pylint: disable=too-many-boolean-expressions
86
- 'class="parked-domains' in content
87
- or "buy-domain" in content
88
- or "this domain name is parked" in content
89
- or "this domain is parked" in content
90
- or "interested in this domain" in content
91
- or "really cool domain parked" in content
92
- or "domain is for sale" in content
93
- or '_trackpageview("/parked/[% parked_type %]/' in content
94
- or "| parked domain" in content
95
- or "parked banner" in content
96
- or "contact with domain owner" in content
97
- or "web page is parked" in content
98
- or "buy or lease this domain" in content
99
- or "parked domain name on " in content
100
- or "it is currently parked by the owner" in content
101
- or "parked page for" in content
102
- ):
104
+ if any(x in content for x in self.PARKED_CONTENT_PATTERNS):
103
105
  self.switch_to_down()
104
106
 
105
107
  return self
@@ -120,7 +122,7 @@ class ParkedRulesHandler(ExtraRuleHandlerBase):
120
122
  self._switch_down_by_cookie()
121
123
 
122
124
  if not self.status.status_after_extra_rules:
123
- self._swith_down_by_content()
125
+ self._switch_down_by_content()
124
126
 
125
127
  PyFunceble.facility.Logger.info(
126
128
  "Finished to check %r against our own set of parked rules.",
@@ -58,7 +58,6 @@ import PyFunceble.facility
58
58
  import PyFunceble.storage
59
59
  from PyFunceble.checker.availability.extras.base import ExtraRuleHandlerBase
60
60
  from PyFunceble.checker.availability.status import AvailabilityCheckerStatus
61
- from PyFunceble.helpers.regex import RegexHelper
62
61
 
63
62
 
64
63
  class ExtraRulesHandler(ExtraRuleHandlerBase):
@@ -106,7 +105,7 @@ class ExtraRulesHandler(ExtraRuleHandlerBase):
106
105
  r"\.translate\.goog$": [(self.switch_to_down_if_status_code, 403)],
107
106
  r"\.tumblr\.com$": [(self.switch_to_down_if_status_code, 404)],
108
107
  r"\.vercel\.app$": [
109
- (self.switch_to_down_if_status_code, "451"),
108
+ (self.switch_to_down_if_status_code, 451),
110
109
  self.handle_vercel_dot_app,
111
110
  ],
112
111
  r"\.web\.app$": [(self.switch_to_down_if_status_code, 404)],
@@ -119,8 +118,8 @@ class ExtraRulesHandler(ExtraRuleHandlerBase):
119
118
  (self.switch_to_down_if_status_code, 410),
120
119
  self.handle_wordpress_dot_com,
121
120
  ],
122
- r"\.weebly\.com$": [(self.switch_to_down_if_status_code, {"404", "406"})],
123
- r"\.zzz\.com\.ua$": [(self.switch_to_down_if_status_code, {"402"})],
121
+ r"\.weebly\.com$": [(self.switch_to_down_if_status_code, {404, 406})],
122
+ r"\.zzz\.com\.ua$": [(self.switch_to_down_if_status_code, {402})],
124
123
  }
125
124
 
126
125
  if PyFunceble.facility.ConfigLoader.is_already_loaded():
@@ -135,15 +134,12 @@ class ExtraRulesHandler(ExtraRuleHandlerBase):
135
134
  Handles the standard regex lookup case.
136
135
  """
137
136
 
138
- regex_helper = RegexHelper()
139
-
140
137
  for (
141
138
  regex,
142
139
  data,
143
140
  ) in regex_registry.items():
144
- broken = False
145
141
  for element in data:
146
- if not regex_helper.set_regex(regex).match(
142
+ if not self.regex_helper.set_regex(regex).match(
147
143
  self.status.netloc, return_match=False
148
144
  ):
149
145
  continue
@@ -154,11 +150,7 @@ class ExtraRulesHandler(ExtraRuleHandlerBase):
154
150
  element()
155
151
 
156
152
  if self.status.status_after_extra_rules:
157
- broken = True
158
- break
159
-
160
- if broken:
161
- break
153
+ return self
162
154
 
163
155
  return self
164
156
 
@@ -116,10 +116,9 @@ class SubjectSwitchRulesHandler(ExtraRuleHandlerBase):
116
116
  if netloc == self.status.idna_subject and netloc not in variations:
117
117
  continue
118
118
 
119
- if not start_path:
120
- if local_path != "/":
121
- continue
122
- elif start_path != local_path:
119
+ if (not start_path and local_path != "/") or (
120
+ start_path and start_path != local_path
121
+ ):
123
122
  continue
124
123
 
125
124
  self.switch_to_down()
@@ -141,7 +140,7 @@ class SubjectSwitchRulesHandler(ExtraRuleHandlerBase):
141
140
  )
142
141
 
143
142
  try:
144
- if any(self.status.netloc.startswith(x) for x in ("www.", "m.")):
143
+ if self.status.netloc.startswith(("www.", "m.")):
145
144
  self.do_request()
146
145
 
147
146
  if not self.status.status_after_extra_rules:
@@ -53,6 +53,8 @@ License:
53
53
  import PyFunceble.facility
54
54
  import PyFunceble.storage
55
55
  from PyFunceble.checker.availability.base import AvailabilityCheckerBase
56
+ from PyFunceble.checker.availability.params import AvailabilityCheckerParams
57
+ from PyFunceble.checker.availability.status import AvailabilityCheckerStatus
56
58
  from PyFunceble.checker.reputation.ip import IPReputationChecker
57
59
 
58
60
 
@@ -87,6 +89,22 @@ class IPAvailabilityChecker(AvailabilityCheckerBase):
87
89
  WHOIS datasets.
88
90
  """
89
91
 
92
+ def subject_propagator(self) -> "IPAvailabilityChecker":
93
+ """
94
+ Propagate the currently set subject.
95
+
96
+ .. warning::
97
+ You are not invited to run this method directly.
98
+ """
99
+
100
+ self.status = AvailabilityCheckerStatus()
101
+ self.params = AvailabilityCheckerParams()
102
+ self.status.params = self.params
103
+
104
+ self.status.subject_kind = "ip"
105
+
106
+ return super().subject_propagator()
107
+
90
108
  def try_to_query_status_from_reputation(self) -> "IPAvailabilityChecker":
91
109
  """
92
110
  Tries to query the status from the reputation lookup.
@@ -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 availability checker paramaters.
63
+ Provides the description of an availability checker parameters.
64
64
  """
65
65
 
66
66
  use_extra_rules: Optional[bool] = None