PyFunceble-dev 4.3.0a5__tar.gz → 4.3.0a10__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.0a5 → pyfunceble_dev-4.3.0a10}/PKG-INFO +159 -54
  2. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/base.py +0 -1
  3. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/domain.py +0 -1
  4. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/extras/base.py +18 -18
  5. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/extras/etoxic.py +0 -1
  6. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/extras/parked.py +1 -2
  7. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/extras/rules.py +64 -5
  8. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/extras/subject_switch.py +1 -1
  9. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/ip.py +0 -1
  10. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/url.py +0 -1
  11. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/reputation/base.py +0 -1
  12. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/migrator.py +0 -1
  13. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/workers/base.py +5 -3
  14. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/workers/dir_files_sorter.py +0 -1
  15. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/workers/file_sorter.py +0 -1
  16. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/workers/file_sorter_base.py +0 -1
  17. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/workers/migrator.py +0 -1
  18. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/workers/miner.py +7 -9
  19. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/workers/tester.py +2 -6
  20. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/scripts/iana.py +11 -1
  21. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/scripts/public_suffix.py +14 -1
  22. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/system/launcher.py +27 -14
  23. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/utils/version.py +27 -15
  24. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/config/loader.py +43 -12
  25. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/downloader/base.py +13 -3
  26. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/helpers/download.py +147 -20
  27. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/helpers/hash.py +10 -18
  28. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/dns/nameserver.py +12 -6
  29. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/dns/query_tool.py +3 -1
  30. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/http_status_code.py +9 -7
  31. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/platform.py +7 -8
  32. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/requests/adapter/base.py +36 -4
  33. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/requests/adapter/http.py +2 -3
  34. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/requests/adapter/https.py +2 -2
  35. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/requests/requester.py +70 -41
  36. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/storage.py +1 -4
  37. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble_dev.egg-info/PKG-INFO +159 -54
  38. pyfunceble_dev-4.3.0a10/PyFunceble_dev.egg-info/requires.txt +172 -0
  39. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/README.md +31 -4
  40. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/requirements.txt +1 -2
  41. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/requirements.win.txt +1 -2
  42. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/setup.cfg +2 -1
  43. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/setup.py +27 -4
  44. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/version.yaml +1 -1
  45. pyfunceble_dev-4.3.0a5/PyFunceble_dev.egg-info/requires.txt +0 -90
  46. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/CODE_OF_CONDUCT.md +0 -0
  47. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/CONTRIBUTING.md +0 -0
  48. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/CONTRIBUTORS.md +0 -0
  49. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/LICENSE +0 -0
  50. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/MANIFEST.in +0 -0
  51. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/__init__.py +0 -0
  52. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/__init__.py +0 -0
  53. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/__init__.py +0 -0
  54. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/domain_and_ip.py +0 -0
  55. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/extras/__init__.py +0 -0
  56. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/extras/dns.py +0 -0
  57. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/params.py +0 -0
  58. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/availability/status.py +0 -0
  59. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/base.py +0 -0
  60. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/complex_json_encoder.py +0 -0
  61. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/params_base.py +0 -0
  62. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/reputation/__init__.py +0 -0
  63. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/reputation/domain.py +0 -0
  64. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/reputation/domain_and_ip.py +0 -0
  65. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/reputation/ip.py +0 -0
  66. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/reputation/params.py +0 -0
  67. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/reputation/status.py +0 -0
  68. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/reputation/url.py +0 -0
  69. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/status_base.py +0 -0
  70. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/syntax/__init__.py +0 -0
  71. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/syntax/base.py +0 -0
  72. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/syntax/domain.py +0 -0
  73. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/syntax/domain_and_ip.py +0 -0
  74. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/syntax/domain_base.py +0 -0
  75. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/syntax/ip.py +0 -0
  76. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/syntax/ipv4.py +0 -0
  77. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/syntax/ipv6.py +0 -0
  78. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/syntax/params.py +0 -0
  79. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/syntax/second_lvl_domain.py +0 -0
  80. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/syntax/status.py +0 -0
  81. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/syntax/subdomain.py +0 -0
  82. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/syntax/url.py +0 -0
  83. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/utils/__init__.py +0 -0
  84. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/checker/utils/whois.py +0 -0
  85. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/__init__.py +0 -0
  86. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/continuous_integration/__init__.py +0 -0
  87. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/continuous_integration/base.py +0 -0
  88. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/continuous_integration/exceptions.py +0 -0
  89. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/continuous_integration/github_actions.py +0 -0
  90. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/continuous_integration/gitlab_ci.py +0 -0
  91. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/continuous_integration/jenkins.py +0 -0
  92. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/continuous_integration/standalone.py +0 -0
  93. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/continuous_integration/travis_ci.py +0 -0
  94. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/continuous_integration/utils.py +0 -0
  95. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/credential_loader.py +0 -0
  96. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/entry_points/__init__.py +0 -0
  97. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/entry_points/clean.py +0 -0
  98. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/entry_points/iana.py +0 -0
  99. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/entry_points/production.py +0 -0
  100. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/entry_points/public_suffix.py +0 -0
  101. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/entry_points/pyfunceble/__init__.py +0 -0
  102. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/entry_points/pyfunceble/argsparser.py +0 -0
  103. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/entry_points/pyfunceble/cli.py +0 -0
  104. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/execution_time.py +0 -0
  105. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/facility.py +0 -0
  106. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/factory.py +0 -0
  107. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/file_preloader.py +0 -0
  108. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/__init__.py +0 -0
  109. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/cleanup.py +0 -0
  110. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/counter.py +0 -0
  111. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/dir_base.py +0 -0
  112. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/dir_structure/__init__.py +0 -0
  113. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/dir_structure/backup.py +0 -0
  114. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/dir_structure/base.py +0 -0
  115. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/dir_structure/restore.py +0 -0
  116. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/json_base.py +0 -0
  117. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/printer/__init__.py +0 -0
  118. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/printer/base.py +0 -0
  119. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/printer/file.py +0 -0
  120. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/printer/stdout.py +0 -0
  121. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/registrar_counter.py +0 -0
  122. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/filesystem/status_file.py +0 -0
  123. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/__init__.py +0 -0
  124. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/alembic.py +0 -0
  125. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/base.py +0 -0
  126. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/csv_file/__init__.py +0 -0
  127. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/csv_file/base.py +0 -0
  128. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/csv_file/inactive_source_delete.py +0 -0
  129. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/csv_file/whois_registrar_add.py +0 -0
  130. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/db_base.py +0 -0
  131. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/file_cleanup/__init__.py +0 -0
  132. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/file_cleanup/base.py +0 -0
  133. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/file_cleanup/hashes_file.py +0 -0
  134. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/file_cleanup/mining_file.py +0 -0
  135. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/file_cleanup/production_config_file.py +0 -0
  136. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/json2csv/__init__.py +0 -0
  137. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/json2csv/base.py +0 -0
  138. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/json2csv/inactive.py +0 -0
  139. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/json2csv/whois.py +0 -0
  140. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/mariadb/__init__.py +0 -0
  141. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/mariadb/base.py +0 -0
  142. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/mariadb/file_and_status.py +0 -0
  143. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/migrators/mariadb/whois_record_idna_subject.py +0 -0
  144. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/__init__.py +0 -0
  145. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/base.py +0 -0
  146. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/chancy_producer.py +0 -0
  147. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/chancy_tester.py +0 -0
  148. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/dir_files_sorter.py +0 -0
  149. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/file_sorter.py +0 -0
  150. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/miner.py +0 -0
  151. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/producer.py +0 -0
  152. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/tester.py +0 -0
  153. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/workers/__init__.py +0 -0
  154. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/workers/chancy_producer.py +0 -0
  155. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/workers/chancy_tester.py +0 -0
  156. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/processes/workers/producer.py +0 -0
  157. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/scripts/__init__.py +0 -0
  158. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/scripts/production.py +0 -0
  159. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/storage.py +0 -0
  160. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/storage_facility.py +0 -0
  161. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/system/__init__.py +0 -0
  162. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/system/base.py +0 -0
  163. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/system/integrator.py +0 -0
  164. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/utils/__init__.py +0 -0
  165. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/utils/ascii_logo.py +0 -0
  166. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/utils/sort.py +0 -0
  167. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/utils/stdout.py +0 -0
  168. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/cli/utils/testing.py +0 -0
  169. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/config/__init__.py +0 -0
  170. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/config/compare.py +0 -0
  171. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/converter/__init__.py +0 -0
  172. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/converter/adblock_input_line2subject.py +0 -0
  173. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/converter/base.py +0 -0
  174. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/converter/cidr2subject.py +0 -0
  175. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/converter/input_line2subject.py +0 -0
  176. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/converter/internal_url.py +0 -0
  177. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/converter/rpz_input_line2subject.py +0 -0
  178. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/converter/rpz_policy2subject.py +0 -0
  179. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/converter/subject2complements.py +0 -0
  180. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/converter/url2netloc.py +0 -0
  181. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/converter/wildcard2subject.py +0 -0
  182. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/__init__.py +0 -0
  183. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/__init__.py +0 -0
  184. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/__init__.py +0 -0
  185. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/env.py +0 -0
  186. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/script.py.mako +0 -0
  187. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/35c79626ecb9_fix_some_columns.py +0 -0
  188. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/3a4c55a9320d_add_continue_table.py +0 -0
  189. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/3d6f4a33cdb2_add_inactive_table.py +0 -0
  190. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/45713fea8097_deletion_uneeded_columns_from_whois_.py +0 -0
  191. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/459a0d7b8f09_add_idna_subject_column_into_whois.py +0 -0
  192. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/6f4729deaf03_delete_inactive_source_column.py +0 -0
  193. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/7bcf7fa64ba1_rename_created_to_created_at_and.py +0 -0
  194. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/83ada95132bf_delete_the_file_table.py +0 -0
  195. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/912bbcb77a6c_add_registrar_column.py +0 -0
  196. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/95dc17ddd729_introduction_of_the_session_id_column.py +0 -0
  197. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/__init__.py +0 -0
  198. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/ade87195b0a0_base.py +0 -0
  199. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/bef7bcaac3f2_make_id_a_bigint.py +0 -0
  200. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/d8893cd406db_allow_whois_record_to_be_empty_null.py +0 -0
  201. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/mysql/versions/e04e8301d1a2_deletion_of_the_mined_table.py +0 -0
  202. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/postgresql/__init__.py +0 -0
  203. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/postgresql/env.py +0 -0
  204. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/postgresql/script.py.mako +0 -0
  205. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/postgresql/versions/__init__.py +0 -0
  206. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/alembic/postgresql/versions/a32ac5d66eee_initial_version.py +0 -0
  207. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/infrastructure/.PyFunceble_production.yaml +0 -0
  208. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/infrastructure/__init__.py +0 -0
  209. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/data/infrastructure/dir_structure_production.json +0 -0
  210. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/__init__.py +0 -0
  211. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/credential/__init__.py +0 -0
  212. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/credential/base.py +0 -0
  213. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/credential/mariadb.py +0 -0
  214. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/credential/mysql.py +0 -0
  215. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/credential/postgresql.py +0 -0
  216. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/schemas/__init__.py +0 -0
  217. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/schemas/autocontinue.py +0 -0
  218. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/schemas/inactive.py +0 -0
  219. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/schemas/status.py +0 -0
  220. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/schemas/whois_record.py +0 -0
  221. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/session.py +0 -0
  222. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/sqlalchemy/__init__.py +0 -0
  223. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/sqlalchemy/all_schemas.py +0 -0
  224. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/database/sqlalchemy/base_schema.py +0 -0
  225. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/__init__.py +0 -0
  226. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/autocontinue/__init__.py +0 -0
  227. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/autocontinue/base.py +0 -0
  228. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/autocontinue/csv.py +0 -0
  229. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/autocontinue/sql.py +0 -0
  230. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/base.py +0 -0
  231. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/csv_base.py +0 -0
  232. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/db_base.py +0 -0
  233. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/iana.py +0 -0
  234. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/inactive/__init__.py +0 -0
  235. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/inactive/base.py +0 -0
  236. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/inactive/csv.py +0 -0
  237. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/inactive/sql.py +0 -0
  238. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/ipv4_reputation.py +0 -0
  239. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/public_suffix.py +0 -0
  240. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/sql_base.py +0 -0
  241. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/user_agent.py +0 -0
  242. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/whois/__init__.py +0 -0
  243. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/whois/base.py +0 -0
  244. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/whois/csv.py +0 -0
  245. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/dataset/whois/sql.py +0 -0
  246. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/downloader/__init__.py +0 -0
  247. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/downloader/exceptions.py +0 -0
  248. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/downloader/iana.py +0 -0
  249. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/downloader/ipv4_reputation.py +0 -0
  250. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/downloader/public_suffix.py +0 -0
  251. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/downloader/user_agents.py +0 -0
  252. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/exceptions.py +0 -0
  253. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/facility.py +0 -0
  254. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/factory.py +0 -0
  255. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/helpers/__init__.py +0 -0
  256. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/helpers/command.py +0 -0
  257. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/helpers/dict.py +0 -0
  258. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/helpers/directory.py +0 -0
  259. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/helpers/environment_variable.py +0 -0
  260. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/helpers/exceptions.py +0 -0
  261. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/helpers/file.py +0 -0
  262. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/helpers/list.py +0 -0
  263. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/helpers/merge.py +0 -0
  264. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/helpers/regex.py +0 -0
  265. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/logger.py +0 -0
  266. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/__init__.py +0 -0
  267. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/dns/__init__.py +0 -0
  268. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/dns/resolver.py +0 -0
  269. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/netinfo/__init__.py +0 -0
  270. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/netinfo/address.py +0 -0
  271. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/netinfo/base.py +0 -0
  272. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/netinfo/hostbyaddr.py +0 -0
  273. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/record/__init__.py +0 -0
  274. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/record/base.py +0 -0
  275. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/record/dns.py +0 -0
  276. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/record/whois.py +0 -0
  277. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/requests/__init__.py +0 -0
  278. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/requests/adapter/__init__.py +0 -0
  279. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/whois/__init__.py +0 -0
  280. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/whois/converter/__init__.py +0 -0
  281. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/whois/converter/base.py +0 -0
  282. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/whois/converter/digit2digits.py +0 -0
  283. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/whois/converter/expiration_date.py +0 -0
  284. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/whois/converter/month2unified.py +0 -0
  285. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/whois/converter/registrar.py +0 -0
  286. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/query/whois/query_tool.py +0 -0
  287. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/sessions.py +0 -0
  288. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/storage_facility.py +0 -0
  289. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/utils/__init__.py +0 -0
  290. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/utils/platform.py +0 -0
  291. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/utils/profile.py +0 -0
  292. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble/utils/version.py +0 -0
  293. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble_dev.egg-info/SOURCES.txt +0 -0
  294. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble_dev.egg-info/dependency_links.txt +0 -0
  295. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble_dev.egg-info/entry_points.txt +0 -0
  296. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/PyFunceble_dev.egg-info/top_level.txt +0 -0
  297. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/requirements.dev.txt +0 -0
  298. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/requirements.docs.txt +0 -0
  299. {pyfunceble_dev-4.3.0a5 → pyfunceble_dev-4.3.0a10}/requirements.test.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyFunceble-dev
3
- Version: 4.3.0a5
3
+ Version: 4.3.0a10
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
@@ -19,94 +19,172 @@ Classifier: Intended Audience :: Developers
19
19
  Classifier: Programming Language :: Python
20
20
  Classifier: Programming Language :: Python :: 3
21
21
  Classifier: License :: OSI Approved
22
- Requires-Python: >=3.8, <4
22
+ Requires-Python: >=3.9, <4
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE
25
- Requires-Dist: SQLAlchemy[postgresql_psycopg2binary]~=2.0
26
25
  Requires-Dist: python-box[all]~=6.0.0
27
- Requires-Dist: domain2idna~=1.12.0
26
+ Requires-Dist: colorama
28
27
  Requires-Dist: requests[socks]<3
29
- Requires-Dist: alembic
30
28
  Requires-Dist: setuptools>=65.5.1
29
+ Requires-Dist: dnspython[DOH]~=2.6.0
30
+ Requires-Dist: alembic
31
+ Requires-Dist: packaging
31
32
  Requires-Dist: python-dotenv
33
+ Requires-Dist: SQLAlchemy~=2.0
32
34
  Requires-Dist: inflection
33
- Requires-Dist: cryptography~=42.0
34
- Requires-Dist: packaging
35
35
  Requires-Dist: shtab
36
- Requires-Dist: dnspython[DOH]~=2.6.0
37
- Requires-Dist: colorama
36
+ Requires-Dist: domain2idna~=1.12.0
38
37
  Requires-Dist: PyYAML
39
38
  Requires-Dist: PyMySQL
40
39
  Provides-Extra: docs
41
40
  Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "docs"
41
+ Requires-Dist: mkdocstrings[python]~=0.26; extra == "docs"
42
42
  Requires-Dist: pymdown-extensions~=10.9; extra == "docs"
43
- Requires-Dist: zipp>=3.19.1; extra == "docs"
43
+ Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
44
+ Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
44
45
  Requires-Dist: mkdocs-material~=9.5; extra == "docs"
46
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "docs"
45
47
  Requires-Dist: mkdocs~=1.5; extra == "docs"
46
- Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
47
- Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "docs"
48
48
  Requires-Dist: mkdocs-literate-nav~=0.6; extra == "docs"
49
- Requires-Dist: mkdocs-section-index~=0.3; extra == "docs"
50
- Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
51
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "docs"
49
+ Requires-Dist: zipp>=3.19.1; extra == "docs"
50
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "docs"
52
51
  Provides-Extra: dev
53
- Requires-Dist: isort; extra == "dev"
54
52
  Requires-Dist: black; extra == "dev"
55
- Requires-Dist: pylint; extra == "dev"
56
53
  Requires-Dist: flake8; extra == "dev"
54
+ Requires-Dist: pylint; extra == "dev"
55
+ Requires-Dist: isort; extra == "dev"
57
56
  Provides-Extra: test
58
- Requires-Dist: coverage; extra == "test"
59
57
  Requires-Dist: tox; extra == "test"
58
+ Requires-Dist: coverage; extra == "test"
60
59
  Provides-Extra: psql
61
- Requires-Dist: SQLAlchemy[postgresql_psycopg2binary]~=2.0; extra == "psql"
62
60
  Requires-Dist: python-box[all]~=6.0.0; extra == "psql"
63
- Requires-Dist: domain2idna~=1.12.0; extra == "psql"
61
+ Requires-Dist: psycopg2; extra == "psql"
62
+ Requires-Dist: colorama; extra == "psql"
64
63
  Requires-Dist: requests[socks]<3; extra == "psql"
65
- Requires-Dist: alembic; extra == "psql"
66
64
  Requires-Dist: setuptools>=65.5.1; extra == "psql"
65
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql"
66
+ Requires-Dist: alembic; extra == "psql"
67
+ Requires-Dist: packaging; extra == "psql"
67
68
  Requires-Dist: python-dotenv; extra == "psql"
69
+ Requires-Dist: SQLAlchemy~=2.0; extra == "psql"
68
70
  Requires-Dist: inflection; extra == "psql"
69
- Requires-Dist: cryptography~=42.0; extra == "psql"
70
- Requires-Dist: packaging; extra == "psql"
71
71
  Requires-Dist: shtab; extra == "psql"
72
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql"
73
- Requires-Dist: psycopg2; extra == "psql"
74
- Requires-Dist: colorama; extra == "psql"
72
+ Requires-Dist: domain2idna~=1.12.0; extra == "psql"
75
73
  Requires-Dist: PyYAML; extra == "psql"
76
74
  Requires-Dist: PyMySQL; extra == "psql"
75
+ Provides-Extra: psql-binary
76
+ Requires-Dist: python-box[all]~=6.0.0; extra == "psql-binary"
77
+ Requires-Dist: colorama; extra == "psql-binary"
78
+ Requires-Dist: requests[socks]<3; extra == "psql-binary"
79
+ Requires-Dist: setuptools>=65.5.1; extra == "psql-binary"
80
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql-binary"
81
+ Requires-Dist: alembic; extra == "psql-binary"
82
+ Requires-Dist: packaging; extra == "psql-binary"
83
+ Requires-Dist: python-dotenv; extra == "psql-binary"
84
+ Requires-Dist: psycopg2-binary; extra == "psql-binary"
85
+ Requires-Dist: SQLAlchemy~=2.0; extra == "psql-binary"
86
+ Requires-Dist: inflection; extra == "psql-binary"
87
+ Requires-Dist: shtab; extra == "psql-binary"
88
+ Requires-Dist: domain2idna~=1.12.0; extra == "psql-binary"
89
+ Requires-Dist: PyYAML; extra == "psql-binary"
90
+ Requires-Dist: PyMySQL; extra == "psql-binary"
91
+ Provides-Extra: postgresql
92
+ Requires-Dist: python-box[all]~=6.0.0; extra == "postgresql"
93
+ Requires-Dist: psycopg2; extra == "postgresql"
94
+ Requires-Dist: colorama; extra == "postgresql"
95
+ Requires-Dist: requests[socks]<3; extra == "postgresql"
96
+ Requires-Dist: setuptools>=65.5.1; extra == "postgresql"
97
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql"
98
+ Requires-Dist: alembic; extra == "postgresql"
99
+ Requires-Dist: packaging; extra == "postgresql"
100
+ Requires-Dist: python-dotenv; extra == "postgresql"
101
+ Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql"
102
+ Requires-Dist: inflection; extra == "postgresql"
103
+ Requires-Dist: shtab; extra == "postgresql"
104
+ Requires-Dist: domain2idna~=1.12.0; extra == "postgresql"
105
+ Requires-Dist: PyYAML; extra == "postgresql"
106
+ Requires-Dist: PyMySQL; extra == "postgresql"
107
+ Provides-Extra: postgresql-binary
108
+ Requires-Dist: python-box[all]~=6.0.0; extra == "postgresql-binary"
109
+ Requires-Dist: colorama; extra == "postgresql-binary"
110
+ Requires-Dist: requests[socks]<3; extra == "postgresql-binary"
111
+ Requires-Dist: setuptools>=65.5.1; extra == "postgresql-binary"
112
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql-binary"
113
+ Requires-Dist: alembic; extra == "postgresql-binary"
114
+ Requires-Dist: packaging; extra == "postgresql-binary"
115
+ Requires-Dist: python-dotenv; extra == "postgresql-binary"
116
+ Requires-Dist: psycopg2-binary; extra == "postgresql-binary"
117
+ Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql-binary"
118
+ Requires-Dist: inflection; extra == "postgresql-binary"
119
+ Requires-Dist: shtab; extra == "postgresql-binary"
120
+ Requires-Dist: domain2idna~=1.12.0; extra == "postgresql-binary"
121
+ Requires-Dist: PyYAML; extra == "postgresql-binary"
122
+ Requires-Dist: PyMySQL; extra == "postgresql-binary"
77
123
  Provides-Extra: full
78
- Requires-Dist: zipp>=3.19.1; extra == "full"
79
- Requires-Dist: inflection; extra == "full"
80
- Requires-Dist: mkdocs~=1.5; extra == "full"
81
- Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "full"
82
- Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
83
- Requires-Dist: tox; extra == "full"
84
- Requires-Dist: SQLAlchemy[postgresql_psycopg2binary]~=2.0; extra == "full"
85
- Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
124
+ Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
86
125
  Requires-Dist: mkdocstrings[python]~=0.26; extra == "full"
87
- Requires-Dist: PyMySQL; extra == "full"
88
- Requires-Dist: python-box[all]~=6.0.0; extra == "full"
89
- Requires-Dist: flake8; extra == "full"
90
- Requires-Dist: setuptools>=65.5.1; extra == "full"
91
- Requires-Dist: python-dotenv; extra == "full"
126
+ Requires-Dist: isort; extra == "full"
92
127
  Requires-Dist: packaging; extra == "full"
93
- Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
94
- Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
128
+ Requires-Dist: shtab; extra == "full"
95
129
  Requires-Dist: requests[socks]<3; extra == "full"
96
- Requires-Dist: domain2idna~=1.12.0; extra == "full"
97
- Requires-Dist: pymdown-extensions~=10.9; extra == "full"
98
- Requires-Dist: cryptography~=42.0; extra == "full"
99
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "full"
130
+ Requires-Dist: tox; extra == "full"
131
+ Requires-Dist: mkdocs-gen-files~=0.5; extra == "full"
132
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
133
+ Requires-Dist: alembic; extra == "full"
134
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
135
+ Requires-Dist: python-box[all]~=6.0.0; extra == "full"
100
136
  Requires-Dist: black; extra == "full"
101
- Requires-Dist: coverage; extra == "full"
137
+ Requires-Dist: domain2idna~=1.12.0; extra == "full"
138
+ Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "full"
102
139
  Requires-Dist: colorama; extra == "full"
140
+ Requires-Dist: python-dotenv; extra == "full"
141
+ Requires-Dist: SQLAlchemy~=2.0; extra == "full"
142
+ Requires-Dist: zipp>=3.19.1; extra == "full"
103
143
  Requires-Dist: PyYAML; extra == "full"
104
- Requires-Dist: alembic; extra == "full"
105
- Requires-Dist: shtab; extra == "full"
144
+ Requires-Dist: coverage; extra == "full"
145
+ Requires-Dist: pymdown-extensions~=10.9; extra == "full"
106
146
  Requires-Dist: mkdocs-material~=9.5; extra == "full"
107
- Requires-Dist: isort; extra == "full"
108
- Requires-Dist: mkdocs-gen-files~=0.5; extra == "full"
147
+ Requires-Dist: setuptools>=65.5.1; extra == "full"
148
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "full"
149
+ Requires-Dist: flake8; extra == "full"
150
+ Requires-Dist: mkdocs~=1.5; extra == "full"
109
151
  Requires-Dist: pylint; extra == "full"
152
+ Requires-Dist: inflection; extra == "full"
153
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
154
+ Requires-Dist: PyMySQL; extra == "full"
155
+ Provides-Extra: all
156
+ Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "all"
157
+ Requires-Dist: mkdocstrings[python]~=0.26; extra == "all"
158
+ Requires-Dist: isort; extra == "all"
159
+ Requires-Dist: packaging; extra == "all"
160
+ Requires-Dist: shtab; extra == "all"
161
+ Requires-Dist: requests[socks]<3; extra == "all"
162
+ Requires-Dist: tox; extra == "all"
163
+ Requires-Dist: mkdocs-gen-files~=0.5; extra == "all"
164
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "all"
165
+ Requires-Dist: alembic; extra == "all"
166
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "all"
167
+ Requires-Dist: python-box[all]~=6.0.0; extra == "all"
168
+ Requires-Dist: black; extra == "all"
169
+ Requires-Dist: domain2idna~=1.12.0; extra == "all"
170
+ Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "all"
171
+ Requires-Dist: colorama; extra == "all"
172
+ Requires-Dist: python-dotenv; extra == "all"
173
+ Requires-Dist: SQLAlchemy~=2.0; extra == "all"
174
+ Requires-Dist: zipp>=3.19.1; extra == "all"
175
+ Requires-Dist: PyYAML; extra == "all"
176
+ Requires-Dist: coverage; extra == "all"
177
+ Requires-Dist: pymdown-extensions~=10.9; extra == "all"
178
+ Requires-Dist: mkdocs-material~=9.5; extra == "all"
179
+ Requires-Dist: setuptools>=65.5.1; extra == "all"
180
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "all"
181
+ Requires-Dist: psycopg2-binary; extra == "all"
182
+ Requires-Dist: flake8; extra == "all"
183
+ Requires-Dist: mkdocs~=1.5; extra == "all"
184
+ Requires-Dist: pylint; extra == "all"
185
+ Requires-Dist: inflection; extra == "all"
186
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "all"
187
+ Requires-Dist: PyMySQL; extra == "all"
110
188
 
111
189
  ![image](https://raw.githubusercontent.com/PyFunceble/logo/dev/Green/HD/RM.png)
112
190
 
@@ -156,6 +234,7 @@ Happy testing with PyFunceble!
156
234
  - [Installation](#installation)
157
235
  - [Packages \& Versioning](#packages--versioning)
158
236
  - [PyPi - Python Package Index](#pypi---python-package-index)
237
+ - [Optional Dependencies](#optional-dependencies)
159
238
  - [pyfunceble](#pyfunceble)
160
239
  - [pyfunceble-dev](#pyfunceble-dev)
161
240
  - [Container Image Registry](#container-image-registry)
@@ -219,10 +298,36 @@ the OS specific packages _(see below)_.
219
298
  Here is an overview of the packages and where they are hosted.
220
299
 
221
300
  | Package | PyPi Link |
222
- |----------------|------------------------------------------|
301
+ | -------------- | ---------------------------------------- |
223
302
  | pyfunceble | https://pypi.org/project/PyFunceble |
224
303
  | pyfunceble-dev | https://pypi.org/project/PyFunceblee-dev |
225
304
 
305
+ ### Optional Dependencies
306
+
307
+ The following dependencies are optional and can be installed if you need them.
308
+
309
+ | Dependency | Description |
310
+ | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
311
+ | `all` | Install all functional dependencies. Basically all but `dev`, `test` and `docs`. _When a binary and non binary version is available, the binary version is installed._ |
312
+ | `full` | Install all dependencies listed below. _When a binary and non binary version is available, the binary version is installed._ |
313
+ | `psql`, `postgresql` | **Build** and install the dependencies required to interact with PostgreSQL. |
314
+ | `psql-binary`, `postgresql-binary` | **Install** the dependencies required to interact with PostgreSQL - from binary. |
315
+ | `docs` | Install the dependencies required to build the documentation. |
316
+ | `test` | Install the dependencies required to run the tests. |
317
+ | `dev` | Install the dependencies required to develop PyFunceble. |
318
+
319
+ They are intended to be installed through the following syntax:
320
+
321
+ ```shell
322
+ pip3 install --user {pkg}[{dependency}]
323
+ ```
324
+
325
+ As an example if you want to install the `docs` and `test` dependencies, you should run:
326
+
327
+ ```shell
328
+ pip3 install --user pyfunceble[docs,test]
329
+ ```
330
+
226
331
  ### pyfunceble
227
332
 
228
333
  You can install the **pyfunceble** through `pip3`:
@@ -255,7 +360,7 @@ is available. :smile:
255
360
  Here is an overview of the packages and where they are hosted.
256
361
 
257
362
  | Host | Package | Link |
258
- |------------|----------------|----------------------------------------------------------------------------------------------------------|
363
+ | ---------- | -------------- | -------------------------------------------------------------------------------------------------------- |
259
364
  | Docker Hub | pyfunceble | [https://hub.docker.com/r/pyfunceble/pyfunceble](https://hub.docker.com/r/pyfunceble/pyfunceble) |
260
365
  | Docker Hub | pyfunceble-dev | [https://hub.docker.com/r/pyfunceble/pyfunceble-dev](https://hub.docker.com/r/pyfunceble/pyfunceble-dev) |
261
366
 
@@ -305,7 +410,7 @@ this is probably for you.
305
410
  Here is an overview of the packages and where they are hosted.
306
411
 
307
412
  | Host | Package | Repository |
308
- |--------|----------------|-------------------------------------------------------------------------|
413
+ | ------ | -------------- | ----------------------------------------------------------------------- |
309
414
  | GitHub | pyfunceble | `git+https://github.com/funilrys/PyFunceble.git@master#egg=PyFunceble` |
310
415
  | GitHub | pyfunceble-dev | `git+https://github.com/funilrys/PyFunceble.git@dev#egg=PyFunceble-dev` |
311
416
  | GitLab | pyfunceble | `git+https://gitlab.com/funilrys/PyFunceble.git@master#egg=PyFunceble` |
@@ -474,7 +579,7 @@ From source:
474
579
 
475
580
  ```shell
476
581
  # Install dependencies.
477
- pip install --user -r requirements.docs.txt
582
+ pip install --user .[docs]
478
583
  # Serve documentation locally.
479
584
  mkdocs serve
480
585
  # Open Documentation with browser.
@@ -60,7 +60,6 @@ from sqlalchemy.orm import Session
60
60
 
61
61
  import PyFunceble.checker.utils.whois
62
62
  import PyFunceble.facility
63
- import PyFunceble.factory
64
63
  import PyFunceble.storage
65
64
  from PyFunceble.checker.availability.extras.base import ExtraRuleHandlerBase
66
65
  from PyFunceble.checker.availability.extras.dns import DNSRulesHandler
@@ -51,7 +51,6 @@ License:
51
51
  """
52
52
 
53
53
  import PyFunceble.facility
54
- import PyFunceble.factory
55
54
  import PyFunceble.storage
56
55
  from PyFunceble.checker.availability.base import AvailabilityCheckerBase
57
56
  from PyFunceble.checker.reputation.domain import DomainReputationChecker
@@ -56,10 +56,11 @@ from typing import Callable, Dict, List, Optional, Union
56
56
 
57
57
  import requests
58
58
 
59
- import PyFunceble.factory
59
+ import PyFunceble.storage
60
60
  from PyFunceble.checker.availability.status import AvailabilityCheckerStatus
61
61
  from PyFunceble.helpers.regex import RegexHelper
62
62
  from PyFunceble.query.dns.query_tool import DNSQueryTool
63
+ from PyFunceble.query.requests.requester import Requester
63
64
 
64
65
 
65
66
  class ExtraRuleHandlerBase:
@@ -76,13 +77,14 @@ class ExtraRuleHandlerBase:
76
77
  req: Optional[requests.Response] = None
77
78
  dns_query_tool: Optional[DNSQueryTool] = None
78
79
  regex_helper: Optional[RegexHelper] = None
80
+ requester: Optional[Requester] = None
79
81
 
80
82
  def __init__(self, status: Optional[AvailabilityCheckerStatus] = None) -> None:
81
83
  if status is not None:
82
84
  self.status = status
83
85
 
84
- # Be sure that all settings are loaded proprely!!
85
- PyFunceble.factory.Requester.guess_all_settings()
86
+ self.requester = Requester(config=PyFunceble.storage.CONFIGURATION)
87
+
86
88
  self.dns_query_tool = DNSQueryTool()
87
89
  self.regex_helper = RegexHelper()
88
90
 
@@ -227,9 +229,7 @@ class ExtraRuleHandlerBase:
227
229
  Whether we shoold follow the redirection - or not.
228
230
  """
229
231
 
230
- self.req = PyFunceble.factory.Requester.get(
231
- self.req_url, allow_redirects=allow_redirects
232
- )
232
+ self.req = self.requester.get(self.req_url, allow_redirects=allow_redirects)
233
233
 
234
234
  return self
235
235
 
@@ -272,18 +272,18 @@ class ExtraRuleHandlerBase:
272
272
  method()
273
273
 
274
274
  try:
275
- req = PyFunceble.factory.Requester.get(url, allow_redirects=allow_redirects)
275
+ req = self.requester.get(url, allow_redirects=allow_redirects)
276
276
 
277
277
  if match_mode == "regex":
278
278
  handle_regex_match_mode(req)
279
279
  else:
280
280
  handle_string_match_mode(req)
281
281
  except (
282
- PyFunceble.factory.Requester.exceptions.RequestException,
283
- PyFunceble.factory.Requester.exceptions.InvalidURL,
284
- PyFunceble.factory.Requester.exceptions.Timeout,
285
- PyFunceble.factory.Requester.exceptions.ConnectionError,
286
- PyFunceble.factory.Requester.urllib3_exceptions.InvalidHeader,
282
+ self.requester.exceptions.RequestException,
283
+ self.requester.exceptions.InvalidURL,
284
+ self.requester.exceptions.Timeout,
285
+ self.requester.exceptions.ConnectionError,
286
+ self.requester.urllib3_exceptions.InvalidHeader,
287
287
  socket.timeout,
288
288
  ):
289
289
  pass
@@ -363,18 +363,18 @@ class ExtraRuleHandlerBase:
363
363
  method()
364
364
 
365
365
  try:
366
- req = PyFunceble.factory.Requester.get(url, allow_redirects=allow_redirects)
366
+ req = self.requester.get(url, allow_redirects=allow_redirects)
367
367
 
368
368
  if match_mode == "regex":
369
369
  handle_regex_match_mode(req)
370
370
  else:
371
371
  handle_string_match_mode(req)
372
372
  except (
373
- PyFunceble.factory.Requester.exceptions.RequestException,
374
- PyFunceble.factory.Requester.exceptions.InvalidURL,
375
- PyFunceble.factory.Requester.exceptions.Timeout,
376
- PyFunceble.factory.Requester.exceptions.ConnectionError,
377
- PyFunceble.factory.Requester.urllib3_exceptions.InvalidHeader,
373
+ self.requester.exceptions.RequestException,
374
+ self.requester.exceptions.InvalidURL,
375
+ self.requester.exceptions.Timeout,
376
+ self.requester.exceptions.ConnectionError,
377
+ self.requester.urllib3_exceptions.InvalidHeader,
378
378
  socket.timeout,
379
379
  ):
380
380
  pass
@@ -50,7 +50,6 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
- import PyFunceble.factory
54
53
  import PyFunceble.storage
55
54
  from PyFunceble.checker.availability.extras.base import ExtraRuleHandlerBase
56
55
 
@@ -50,7 +50,6 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
- import PyFunceble.factory
54
53
  import PyFunceble.storage
55
54
  from PyFunceble.checker.availability.extras.base import ExtraRuleHandlerBase
56
55
 
@@ -127,7 +126,7 @@ class ParkedRulesHandler(ExtraRuleHandlerBase):
127
126
  "Finished to check %r against our own set of parked rules.",
128
127
  self.status.idna_subject,
129
128
  )
130
- except PyFunceble.factory.Requester.exceptions.RequestException:
129
+ except self.requester.exceptions.RequestException:
131
130
  pass
132
131
 
133
132
  return self
@@ -55,7 +55,6 @@ from typing import Optional
55
55
  from box import Box
56
56
 
57
57
  import PyFunceble.facility
58
- import PyFunceble.factory
59
58
  import PyFunceble.storage
60
59
  from PyFunceble.checker.availability.extras.base import ExtraRuleHandlerBase
61
60
  from PyFunceble.checker.availability.status import AvailabilityCheckerStatus
@@ -81,6 +80,7 @@ class ExtraRulesHandler(ExtraRuleHandlerBase):
81
80
  (self.switch_to_down_if_status_code, {410, 424}),
82
81
  ],
83
82
  r"\.24\.eu$": [(self.switch_to_down_if_status_code, 503)],
83
+ r"\.3x\.ro$": [(self.switch_to_down_if_status_code, 404)],
84
84
  r"\.altervista\.org$": [(self.switch_to_down_if_status_code, 403)],
85
85
  r"\.angelfire\.com$": [(self.switch_to_down_if_status_code, 404)],
86
86
  r"\.blogspot\.": [self.handle_blogspot],
@@ -90,14 +90,25 @@ class ExtraRulesHandler(ExtraRuleHandlerBase):
90
90
  r"\.github\.io$": [(self.switch_to_down_if_status_code, 404)],
91
91
  r"\.glitchz\.me$": [(self.switch_to_down_if_status_code, 403)],
92
92
  r"\.godaddysites\.com$": [(self.switch_to_down_if_status_code, 404)],
93
- r"\.hpg.com.br$": [(self.switch_to_down_if_status_code, 404)],
93
+ r"\.hpg\.com\.br$": [(self.switch_to_down_if_status_code, 404)],
94
+ r"^heylink\.me$": [(self.switch_to_down_if_status_code, 410)],
95
+ r"^heyl\.ink$": [(self.switch_to_down_if_status_code, 410)],
94
96
  r"\.imgur\.com$": [self.handle_imgur_dot_com],
95
97
  r"\.liveadvert\.com$": [(self.switch_to_down_if_status_code, 404)],
96
98
  r"\.myhuaweicloudz\.com$": [(self.switch_to_down_if_status_code, 403)],
99
+ r"^scnv\.io$": [(self.switch_to_down_if_status_code, 404)],
97
100
  r"\.skyrock\.com$": [(self.switch_to_down_if_status_code, 404)],
101
+ r"\.squarespace.com$": [
102
+ (self.switch_to_down_if_status_code, 404),
103
+ self.handle_squarespace_com,
104
+ ],
98
105
  r"\.sz.id$": [(self.switch_to_down_if_status_code, 302)],
99
106
  r"\.translate\.goog$": [(self.switch_to_down_if_status_code, 403)],
100
107
  r"\.tumblr\.com$": [(self.switch_to_down_if_status_code, 404)],
108
+ r"\.vercel\.app$": [
109
+ (self.switch_to_down_if_status_code, "451"),
110
+ self.handle_vercel_dot_app,
111
+ ],
101
112
  r"\.web\.app$": [(self.switch_to_down_if_status_code, 404)],
102
113
  r"\.wix\.com$": [(self.switch_to_down_if_status_code, 404)],
103
114
  r"^s3\.ap-south-1\.amazonaws\.com$": [
@@ -216,9 +227,7 @@ class ExtraRulesHandler(ExtraRuleHandlerBase):
216
227
  This method are assuming we are handling a imgur.com subdomain.
217
228
  """
218
229
 
219
- req = PyFunceble.factory.Requester.get(
220
- self.req_url_https, allow_redirects=False
221
- )
230
+ req = self.requester.get(self.req_url_https, allow_redirects=False)
222
231
  username = self.status.netloc.replace(".imgur.com", "")
223
232
 
224
233
  if "Location" in req.headers:
@@ -227,6 +236,56 @@ class ExtraRulesHandler(ExtraRuleHandlerBase):
227
236
 
228
237
  return self
229
238
 
239
+ def handle_vercel_dot_app(self) -> "ExtraRulesHandler":
240
+ """
241
+ Handles the :code:`vercel.app` case.
242
+
243
+ .. warning::
244
+ This method assume that we know that we are handling a vercel.app domain.
245
+ """
246
+
247
+ regex_vercel = [r"This%20Deployment%20has%20been%20disabled"]
248
+
249
+ self.do_on_header_match(
250
+ self.req_url,
251
+ {"x-vercel-error": ["DEPLOYMENT_DISABLED"]},
252
+ method=self.switch_to_down,
253
+ match_mode="std",
254
+ strict=True,
255
+ allow_redirects=False,
256
+ )
257
+
258
+ self.do_on_body_match(
259
+ self.req_url,
260
+ regex_vercel,
261
+ method=self.switch_to_down,
262
+ allow_redirects=False,
263
+ )
264
+
265
+ return self
266
+
267
+ def handle_squarespace_com(self) -> "ExtraRulesHandler":
268
+ """
269
+ Handles the :code:`wordpress.com` case.
270
+
271
+ .. warning::
272
+ This method assume that we know that we are handling a blogspot domain.
273
+ """
274
+
275
+ regex_squarespace = [
276
+ r"This&nbsp;site&nbsp;has&nbsp;been&nbsp;deleted"
277
+ r"&nbsp;by&nbsp;the&nbsp;owner\."
278
+ ]
279
+
280
+ self.do_on_body_match(
281
+ self.req_url,
282
+ regex_squarespace,
283
+ method=self.switch_to_down,
284
+ allow_redirects=True,
285
+ )
286
+
287
+ return self
288
+
230
289
  def __handle_active2inactive(self) -> "ExtraRulesHandler":
231
290
  """
232
291
  Handles the status deescalation.
@@ -146,7 +146,7 @@ class SubjectSwitchRulesHandler(ExtraRuleHandlerBase):
146
146
 
147
147
  if not self.status.status_after_extra_rules:
148
148
  self._switch_down_by_history()
149
- except PyFunceble.factory.Requester.exceptions.RequestException:
149
+ except self.requester.exceptions.RequestException:
150
150
  pass
151
151
 
152
152
  PyFunceble.facility.Logger.info(
@@ -51,7 +51,6 @@ License:
51
51
  """
52
52
 
53
53
  import PyFunceble.facility
54
- import PyFunceble.factory
55
54
  import PyFunceble.storage
56
55
  from PyFunceble.checker.availability.base import AvailabilityCheckerBase
57
56
  from PyFunceble.checker.reputation.ip import IPReputationChecker
@@ -51,7 +51,6 @@ License:
51
51
  """
52
52
 
53
53
  import PyFunceble.facility
54
- import PyFunceble.factory
55
54
  import PyFunceble.storage
56
55
  from PyFunceble.checker.availability.base import AvailabilityCheckerBase
57
56
  from PyFunceble.checker.availability.status import AvailabilityCheckerStatus
@@ -55,7 +55,6 @@ from typing import List, Optional
55
55
  from sqlalchemy.orm import Session
56
56
 
57
57
  import PyFunceble.facility
58
- import PyFunceble.factory
59
58
  import PyFunceble.storage
60
59
  from PyFunceble.checker.base import CheckerBase
61
60
  from PyFunceble.checker.reputation.params import ReputationCheckerParams
@@ -59,7 +59,6 @@ import PyFunceble.checker.utils.whois
59
59
  import PyFunceble.cli.utils.stdout
60
60
  import PyFunceble.cli.utils.testing
61
61
  import PyFunceble.facility
62
- import PyFunceble.factory
63
62
  import PyFunceble.storage
64
63
  from PyFunceble.cli.continuous_integration.base import ContinuousIntegrationBase
65
64
  from PyFunceble.cli.migrators.alembic import Alembic
@@ -62,7 +62,9 @@ import PyFunceble.cli.facility
62
62
  import PyFunceble.cli.factory
63
63
  import PyFunceble.facility
64
64
  import PyFunceble.sessions
65
+ import PyFunceble.storage
65
66
  from PyFunceble.cli.continuous_integration.base import ContinuousIntegrationBase
67
+ from PyFunceble.query.requests.requester import Requester
66
68
 
67
69
 
68
70
  class WorkerBase(multiprocessing.Process):
@@ -99,6 +101,7 @@ class WorkerBase(multiprocessing.Process):
99
101
  _exception: Optional[multiprocessing.Pipe] = None
100
102
 
101
103
  _params: Optional[dict] = {}
104
+ requester: Optional[Requester] = None
102
105
 
103
106
  def __init__(
104
107
  self,
@@ -149,6 +152,8 @@ class WorkerBase(multiprocessing.Process):
149
152
  A method which will be executed after the :code:`__init__` method.
150
153
  """
151
154
 
155
+ self.requester = Requester(config=PyFunceble.storage.CONFIGURATION)
156
+
152
157
  @property
153
158
  def exception(self):
154
159
  """
@@ -281,9 +286,6 @@ class WorkerBase(multiprocessing.Process):
281
286
  PyFunceble.cli.facility.CredentialLoader.start()
282
287
  PyFunceble.cli.factory.DBSession.init_db_sessions()
283
288
 
284
- # Be sure that all settings are loaded proprely!!
285
- PyFunceble.factory.Requester = PyFunceble.factory.requester()
286
-
287
289
  wait_for_stop = (
288
290
  bool(PyFunceble.storage.CONFIGURATION.cli_testing.mining) is True
289
291
  )
@@ -58,7 +58,6 @@ from typing import Any, List, Optional, Tuple
58
58
 
59
59
  import PyFunceble.cli.storage
60
60
  import PyFunceble.facility
61
- import PyFunceble.factory
62
61
  import PyFunceble.storage
63
62
  from PyFunceble.cli.processes.workers.file_sorter_base import FileSorterWorkerBase
64
63
 
@@ -54,7 +54,6 @@ from typing import Any, Optional, Tuple
54
54
 
55
55
  import PyFunceble.cli.storage
56
56
  import PyFunceble.facility
57
- import PyFunceble.factory
58
57
  import PyFunceble.storage
59
58
  from PyFunceble.cli.processes.workers.file_sorter_base import FileSorterWorkerBase
60
59
 
@@ -60,7 +60,6 @@ from typing import Any, Generator, List, Tuple
60
60
 
61
61
  import PyFunceble.cli.storage
62
62
  import PyFunceble.facility
63
- import PyFunceble.factory
64
63
  import PyFunceble.storage
65
64
  from PyFunceble.cli.filesystem.printer.file import FilePrinter
66
65
  from PyFunceble.cli.processes.workers.base import WorkerBase