PyFunceble-dev 4.2.29__tar.gz → 4.3.0a2__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 (298) hide show
  1. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/CONTRIBUTORS.md +6 -4
  2. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PKG-INFO +58 -58
  3. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/entry_points/pyfunceble/cli.py +22 -0
  4. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/dir_structure/base.py +1 -2
  5. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/base.py +47 -1
  6. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/csv_file/inactive_source_delete.py +1 -1
  7. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/csv_file/whois_registrar_add.py +1 -1
  8. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/file_cleanup/hashes_file.py +1 -1
  9. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/file_cleanup/mining_file.py +1 -1
  10. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/file_cleanup/production_config_file.py +1 -1
  11. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/json2csv/inactive.py +1 -1
  12. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/json2csv/whois.py +1 -1
  13. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/scripts/production.py +67 -26
  14. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/system/integrator.py +51 -14
  15. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/system/launcher.py +14 -5
  16. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/config/compare.py +2 -0
  17. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/config/loader.py +146 -22
  18. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/infrastructure/.PyFunceble_production.yaml +2 -8
  19. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/credential/base.py +46 -3
  20. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/base.py +3 -3
  21. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/db_base.py +44 -0
  22. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/iana.py +3 -6
  23. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/inactive/csv.py +1 -1
  24. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/ipv4_reputation.py +5 -9
  25. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/public_suffix.py +4 -8
  26. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/sql_base.py +1 -1
  27. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/user_agent.py +4 -7
  28. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/whois/csv.py +1 -1
  29. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/downloader/base.py +64 -5
  30. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/downloader/iana.py +4 -11
  31. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/downloader/ipv4_reputation.py +2 -11
  32. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/downloader/public_suffix.py +5 -11
  33. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/downloader/user_agents.py +5 -11
  34. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/whois/query_tool.py +1 -0
  35. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/storage.py +2 -19
  36. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble_dev.egg-info/PKG-INFO +58 -58
  37. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/README.md +6 -6
  38. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/version.yaml +2 -1
  39. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/CODE_OF_CONDUCT.md +0 -0
  40. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/CONTRIBUTING.md +0 -0
  41. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/LICENSE +0 -0
  42. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/MANIFEST.in +0 -0
  43. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/__init__.py +0 -0
  44. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/__init__.py +0 -0
  45. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/__init__.py +0 -0
  46. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/base.py +0 -0
  47. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/domain.py +0 -0
  48. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/domain_and_ip.py +0 -0
  49. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/extras/__init__.py +0 -0
  50. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/extras/base.py +0 -0
  51. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/extras/dns.py +0 -0
  52. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/extras/etoxic.py +0 -0
  53. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/extras/parked.py +0 -0
  54. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/extras/rules.py +0 -0
  55. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/extras/subject_switch.py +0 -0
  56. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/ip.py +0 -0
  57. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/params.py +0 -0
  58. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/status.py +0 -0
  59. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/availability/url.py +0 -0
  60. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/base.py +0 -0
  61. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/complex_json_encoder.py +0 -0
  62. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/params_base.py +0 -0
  63. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/reputation/__init__.py +0 -0
  64. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/reputation/base.py +0 -0
  65. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/reputation/domain.py +0 -0
  66. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/reputation/domain_and_ip.py +0 -0
  67. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/reputation/ip.py +0 -0
  68. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/reputation/params.py +0 -0
  69. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/reputation/status.py +0 -0
  70. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/reputation/url.py +0 -0
  71. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/status_base.py +0 -0
  72. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/syntax/__init__.py +0 -0
  73. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/syntax/base.py +0 -0
  74. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/syntax/domain.py +0 -0
  75. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/syntax/domain_and_ip.py +0 -0
  76. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/syntax/domain_base.py +0 -0
  77. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/syntax/ip.py +0 -0
  78. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/syntax/ipv4.py +0 -0
  79. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/syntax/ipv6.py +0 -0
  80. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/syntax/params.py +0 -0
  81. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/syntax/second_lvl_domain.py +0 -0
  82. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/syntax/status.py +0 -0
  83. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/syntax/subdomain.py +0 -0
  84. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/syntax/url.py +0 -0
  85. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/utils/__init__.py +0 -0
  86. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/checker/utils/whois.py +0 -0
  87. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/__init__.py +0 -0
  88. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/continuous_integration/__init__.py +0 -0
  89. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/continuous_integration/base.py +0 -0
  90. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/continuous_integration/exceptions.py +0 -0
  91. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/continuous_integration/github_actions.py +0 -0
  92. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/continuous_integration/gitlab_ci.py +0 -0
  93. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/continuous_integration/jenkins.py +0 -0
  94. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/continuous_integration/standalone.py +0 -0
  95. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/continuous_integration/travis_ci.py +0 -0
  96. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/continuous_integration/utils.py +0 -0
  97. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/credential_loader.py +0 -0
  98. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/entry_points/__init__.py +0 -0
  99. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/entry_points/clean.py +0 -0
  100. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/entry_points/iana.py +0 -0
  101. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/entry_points/production.py +0 -0
  102. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/entry_points/public_suffix.py +0 -0
  103. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/entry_points/pyfunceble/__init__.py +0 -0
  104. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/entry_points/pyfunceble/argsparser.py +0 -0
  105. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/execution_time.py +0 -0
  106. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/facility.py +0 -0
  107. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/factory.py +0 -0
  108. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/file_preloader.py +0 -0
  109. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/__init__.py +0 -0
  110. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/cleanup.py +0 -0
  111. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/counter.py +0 -0
  112. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/dir_base.py +0 -0
  113. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/dir_structure/__init__.py +0 -0
  114. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/dir_structure/backup.py +0 -0
  115. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/dir_structure/restore.py +0 -0
  116. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/json_base.py +0 -0
  117. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/printer/__init__.py +0 -0
  118. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/printer/base.py +0 -0
  119. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/printer/file.py +0 -0
  120. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/printer/stdout.py +0 -0
  121. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/registrar_counter.py +0 -0
  122. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/filesystem/status_file.py +0 -0
  123. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/__init__.py +0 -0
  124. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/alembic.py +0 -0
  125. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/csv_file/__init__.py +0 -0
  126. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/csv_file/base.py +0 -0
  127. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/db_base.py +0 -0
  128. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/file_cleanup/__init__.py +0 -0
  129. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/file_cleanup/base.py +0 -0
  130. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/json2csv/__init__.py +0 -0
  131. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/json2csv/base.py +0 -0
  132. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/mariadb/__init__.py +0 -0
  133. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/mariadb/base.py +0 -0
  134. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/mariadb/file_and_status.py +0 -0
  135. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/migrators/mariadb/whois_record_idna_subject.py +0 -0
  136. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/__init__.py +0 -0
  137. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/base.py +0 -0
  138. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/chancy_producer.py +0 -0
  139. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/chancy_tester.py +0 -0
  140. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/dir_files_sorter.py +0 -0
  141. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/file_sorter.py +0 -0
  142. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/migrator.py +0 -0
  143. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/miner.py +0 -0
  144. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/producer.py +0 -0
  145. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/tester.py +0 -0
  146. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/workers/__init__.py +0 -0
  147. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/workers/base.py +0 -0
  148. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/workers/chancy_producer.py +0 -0
  149. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/workers/chancy_tester.py +0 -0
  150. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/workers/dir_files_sorter.py +0 -0
  151. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/workers/file_sorter.py +0 -0
  152. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/workers/file_sorter_base.py +0 -0
  153. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/workers/migrator.py +0 -0
  154. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/workers/miner.py +0 -0
  155. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/workers/producer.py +0 -0
  156. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/processes/workers/tester.py +0 -0
  157. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/scripts/__init__.py +0 -0
  158. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/scripts/iana.py +0 -0
  159. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/scripts/public_suffix.py +0 -0
  160. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/storage.py +0 -0
  161. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/storage_facility.py +0 -0
  162. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/system/__init__.py +0 -0
  163. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/system/base.py +0 -0
  164. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/utils/__init__.py +0 -0
  165. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/utils/ascii_logo.py +0 -0
  166. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/utils/sort.py +0 -0
  167. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/utils/stdout.py +0 -0
  168. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/utils/testing.py +0 -0
  169. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/cli/utils/version.py +0 -0
  170. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/config/__init__.py +0 -0
  171. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/converter/__init__.py +0 -0
  172. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/converter/adblock_input_line2subject.py +0 -0
  173. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/converter/base.py +0 -0
  174. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/converter/cidr2subject.py +0 -0
  175. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/converter/input_line2subject.py +0 -0
  176. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/converter/internal_url.py +0 -0
  177. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/converter/rpz_input_line2subject.py +0 -0
  178. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/converter/rpz_policy2subject.py +0 -0
  179. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/converter/subject2complements.py +0 -0
  180. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/converter/url2netloc.py +0 -0
  181. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/converter/wildcard2subject.py +0 -0
  182. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/__init__.py +0 -0
  183. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/__init__.py +0 -0
  184. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/__init__.py +0 -0
  185. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/env.py +0 -0
  186. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/script.py.mako +0 -0
  187. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/35c79626ecb9_fix_some_columns.py +0 -0
  188. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/3a4c55a9320d_add_continue_table.py +0 -0
  189. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/3d6f4a33cdb2_add_inactive_table.py +0 -0
  190. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/45713fea8097_deletion_uneeded_columns_from_whois_.py +0 -0
  191. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/459a0d7b8f09_add_idna_subject_column_into_whois.py +0 -0
  192. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/6f4729deaf03_delete_inactive_source_column.py +0 -0
  193. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/7bcf7fa64ba1_rename_created_to_created_at_and.py +0 -0
  194. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/83ada95132bf_delete_the_file_table.py +0 -0
  195. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/912bbcb77a6c_add_registrar_column.py +0 -0
  196. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/95dc17ddd729_introduction_of_the_session_id_column.py +0 -0
  197. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/__init__.py +0 -0
  198. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/ade87195b0a0_base.py +0 -0
  199. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/bef7bcaac3f2_make_id_a_bigint.py +0 -0
  200. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/d8893cd406db_allow_whois_record_to_be_empty_null.py +0 -0
  201. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/mysql/versions/e04e8301d1a2_deletion_of_the_mined_table.py +0 -0
  202. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/postgresql/__init__.py +0 -0
  203. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/postgresql/env.py +0 -0
  204. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/postgresql/script.py.mako +0 -0
  205. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/postgresql/versions/__init__.py +0 -0
  206. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/alembic/postgresql/versions/a32ac5d66eee_initial_version.py +0 -0
  207. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/infrastructure/__init__.py +0 -0
  208. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/data/infrastructure/dir_structure_production.json +0 -0
  209. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/__init__.py +0 -0
  210. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/credential/__init__.py +0 -0
  211. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/credential/mariadb.py +0 -0
  212. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/credential/mysql.py +0 -0
  213. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/credential/postgresql.py +0 -0
  214. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/schemas/__init__.py +0 -0
  215. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/schemas/autocontinue.py +0 -0
  216. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/schemas/inactive.py +0 -0
  217. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/schemas/status.py +0 -0
  218. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/schemas/whois_record.py +0 -0
  219. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/session.py +0 -0
  220. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/sqlalchemy/__init__.py +0 -0
  221. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/sqlalchemy/all_schemas.py +0 -0
  222. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/database/sqlalchemy/base_schema.py +0 -0
  223. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/__init__.py +0 -0
  224. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/autocontinue/__init__.py +0 -0
  225. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/autocontinue/base.py +0 -0
  226. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/autocontinue/csv.py +0 -0
  227. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/autocontinue/sql.py +0 -0
  228. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/csv_base.py +0 -0
  229. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/inactive/__init__.py +0 -0
  230. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/inactive/base.py +0 -0
  231. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/inactive/sql.py +0 -0
  232. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/whois/__init__.py +0 -0
  233. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/whois/base.py +0 -0
  234. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/dataset/whois/sql.py +0 -0
  235. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/downloader/__init__.py +0 -0
  236. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/downloader/exceptions.py +0 -0
  237. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/exceptions.py +0 -0
  238. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/facility.py +0 -0
  239. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/factory.py +0 -0
  240. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/helpers/__init__.py +0 -0
  241. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/helpers/command.py +0 -0
  242. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/helpers/dict.py +0 -0
  243. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/helpers/directory.py +0 -0
  244. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/helpers/download.py +0 -0
  245. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/helpers/environment_variable.py +0 -0
  246. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/helpers/exceptions.py +0 -0
  247. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/helpers/file.py +0 -0
  248. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/helpers/hash.py +0 -0
  249. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/helpers/list.py +0 -0
  250. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/helpers/merge.py +0 -0
  251. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/helpers/regex.py +0 -0
  252. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/logger.py +0 -0
  253. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/__init__.py +0 -0
  254. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/dns/__init__.py +0 -0
  255. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/dns/nameserver.py +0 -0
  256. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/dns/query_tool.py +0 -0
  257. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/dns/resolver.py +0 -0
  258. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/http_status_code.py +0 -0
  259. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/netinfo/__init__.py +0 -0
  260. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/netinfo/address.py +0 -0
  261. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/netinfo/base.py +0 -0
  262. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/netinfo/hostbyaddr.py +0 -0
  263. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/platform.py +0 -0
  264. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/record/__init__.py +0 -0
  265. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/record/base.py +0 -0
  266. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/record/dns.py +0 -0
  267. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/record/whois.py +0 -0
  268. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/requests/__init__.py +0 -0
  269. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/requests/adapter/__init__.py +0 -0
  270. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/requests/adapter/base.py +0 -0
  271. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/requests/adapter/http.py +0 -0
  272. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/requests/adapter/https.py +0 -0
  273. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/requests/requester.py +0 -0
  274. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/whois/__init__.py +0 -0
  275. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/whois/converter/__init__.py +0 -0
  276. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/whois/converter/base.py +0 -0
  277. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/whois/converter/digit2digits.py +0 -0
  278. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/whois/converter/expiration_date.py +0 -0
  279. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/whois/converter/month2unified.py +0 -0
  280. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/query/whois/converter/registrar.py +0 -0
  281. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/sessions.py +0 -0
  282. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/storage_facility.py +0 -0
  283. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/utils/__init__.py +0 -0
  284. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/utils/platform.py +0 -0
  285. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/utils/profile.py +0 -0
  286. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble/utils/version.py +0 -0
  287. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble_dev.egg-info/SOURCES.txt +0 -0
  288. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble_dev.egg-info/dependency_links.txt +0 -0
  289. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble_dev.egg-info/entry_points.txt +0 -0
  290. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble_dev.egg-info/requires.txt +51 -51
  291. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/PyFunceble_dev.egg-info/top_level.txt +0 -0
  292. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/requirements.dev.txt +0 -0
  293. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/requirements.docs.txt +0 -0
  294. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/requirements.test.txt +0 -0
  295. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/requirements.txt +0 -0
  296. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/requirements.win.txt +0 -0
  297. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/setup.cfg +0 -0
  298. {pyfunceble_dev-4.2.29 → pyfunceble_dev-4.3.0a2}/setup.py +0 -0
@@ -6,6 +6,7 @@ contribution(s) and or issue report which made or make PyFunceble a better tool.
6
6
  <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
7
7
  <!-- prettier-ignore-start -->
8
8
  <!-- markdownlint-disable -->
9
+
9
10
  <table>
10
11
  <tbody>
11
12
  <tr>
@@ -23,34 +24,35 @@ contribution(s) and or issue report which made or make PyFunceble a better tool.
23
24
  <td align="center" valign="top" width="20%"><a href="https://github.com/ybreza"><img src="https://avatars.githubusercontent.com/u/35470865?v=4?s=100" width="100px;" alt="Reza Rizqullah"/><br /><sub><b>Reza Rizqullah</b></sub></a><br /><a href="#design-ybreza" title="Design">🎨</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ybreza" title="Code">💻</a></td>
24
25
  </tr>
25
26
  <tr>
27
+ <td align="center" valign="top" width="20%"><a href="https://github.com/techdragon"><img src="https://avatars.githubusercontent.com/u/2115079?v=4?s=100" width="100px;" alt="Samuel Bishop"/><br /><sub><b>Samuel Bishop</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Atechdragon" title="Bug reports">🐛</a> <a href="#ideas-techdragon" title="Ideas, Planning, & Feedback">🤔</a></td>
26
28
  <td align="center" valign="top" width="20%"><a href="https://scripttiger.github.io/"><img src="https://avatars.githubusercontent.com/u/29940916?v=4?s=100" width="100px;" alt="ScriptTiger"/><br /><sub><b>ScriptTiger</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AScriptTiger" title="Bug reports">🐛</a> <a href="#ideas-ScriptTiger" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ScriptTiger" title="Tests">⚠️</a></td>
27
29
  <td align="center" valign="top" width="20%"><a href="https://github.com/sjhgvr"><img src="https://avatars.githubusercontent.com/u/51121527?v=4?s=100" width="100px;" alt="Stephan van Ruth"/><br /><sub><b>Stephan van Ruth</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Asjhgvr" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=sjhgvr" title="Tests">⚠️</a></td>
28
30
  <td align="center" valign="top" width="20%"><a href="http://stevenblack.com/"><img src="https://avatars.githubusercontent.com/u/80144?v=4?s=100" width="100px;" alt="Steven Black"/><br /><sub><b>Steven Black</b></sub></a><br /><a href="#ideas-StevenBlack" title="Ideas, Planning, & Feedback">🤔</a> <a href="#financial-StevenBlack" title="Financial">💵</a></td>
29
31
  <td align="center" valign="top" width="20%"><a href="https://github.com/T145"><img src="https://avatars.githubusercontent.com/u/1214129?v=4?s=100" width="100px;" alt="T145"/><br /><sub><b>T145</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AT145" title="Bug reports">🐛</a> <a href="#ideas-T145" title="Ideas, Planning, & Feedback">🤔</a></td>
30
- <td align="center" valign="top" width="20%"><a href="https://infosec.exchange/@wally3k"><img src="https://avatars.githubusercontent.com/u/3049142?v=4?s=100" width="100px;" alt="WaLLy3K"/><br /><sub><b>WaLLy3K</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AWaLLy3K" title="Bug reports">🐛</a> <a href="#ideas-WaLLy3K" title="Ideas, Planning, & Feedback">🤔</a></td>
31
32
  </tr>
32
33
  <tr>
34
+ <td align="center" valign="top" width="20%"><a href="https://infosec.exchange/@wally3k"><img src="https://avatars.githubusercontent.com/u/3049142?v=4?s=100" width="100px;" alt="WaLLy3K"/><br /><sub><b>WaLLy3K</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AWaLLy3K" title="Bug reports">🐛</a> <a href="#ideas-WaLLy3K" title="Ideas, Planning, & Feedback">🤔</a></td>
33
35
  <td align="center" valign="top" width="20%"><a href="https://github.com/Yuki2718"><img src="https://avatars.githubusercontent.com/u/58900598?v=4?s=100" width="100px;" alt="Yuki2718"/><br /><sub><b>Yuki2718</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AYuki2718" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=Yuki2718" title="Tests">⚠️</a></td>
34
36
  <td align="center" valign="top" width="20%"><a href="https://github.com/Zachinquarantine"><img src="https://avatars.githubusercontent.com/u/69423184?v=4?s=100" width="100px;" alt="Zachinquarantine"/><br /><sub><b>Zachinquarantine</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/commits?author=Zachinquarantine" title="Code">💻</a></td>
35
37
  <td align="center" valign="top" width="20%"><a href="http://bit.ly/cBWeb"><img src="https://avatars.githubusercontent.com/u/28985171?v=4?s=100" width="100px;" alt="ZeroDot1"/><br /><sub><b>ZeroDot1</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AZeroDot1" title="Bug reports">🐛</a> <a href="#ideas-ZeroDot1" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-ZeroDot1" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ZeroDot1" title="Tests">⚠️</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ZeroDot1" title="Code">💻</a></td>
36
38
  <td align="center" valign="top" width="20%"><a href="https://github.com/avatartw"><img src="https://avatars.githubusercontent.com/u/69660730?v=4?s=100" width="100px;" alt="avatartw"/><br /><sub><b>avatartw</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aavatartw" title="Bug reports">🐛</a></td>
37
- <td align="center" valign="top" width="20%"><a href="https://github.com/dnmTX"><img src="https://avatars.githubusercontent.com/u/34774426?v=4?s=100" width="100px;" alt="dnmTX"/><br /><sub><b>dnmTX</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AdnmTX" title="Bug reports">🐛</a> <a href="#ideas-dnmTX" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-dnmTX" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/pulls?q=is%3Apr+reviewed-by%3AdnmTX" title="Reviewed Pull Requests">👀</a> <a href="#data-dnmTX" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=dnmTX" title="Tests">⚠️</a></td>
38
39
  </tr>
39
40
  <tr>
41
+ <td align="center" valign="top" width="20%"><a href="https://github.com/dnmTX"><img src="https://avatars.githubusercontent.com/u/34774426?v=4?s=100" width="100px;" alt="dnmTX"/><br /><sub><b>dnmTX</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AdnmTX" title="Bug reports">🐛</a> <a href="#ideas-dnmTX" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-dnmTX" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/pulls?q=is%3Apr+reviewed-by%3AdnmTX" title="Reviewed Pull Requests">👀</a> <a href="#data-dnmTX" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=dnmTX" title="Tests">⚠️</a></td>
40
42
  <td align="center" valign="top" width="20%"><a href="https://github.com/gwarser"><img src="https://avatars.githubusercontent.com/u/886325?v=4?s=100" width="100px;" alt="gwarser"/><br /><sub><b>gwarser</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Agwarser" title="Bug reports">🐛</a> <a href="#data-gwarser" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=gwarser" title="Tests">⚠️</a></td>
41
43
  <td align="center" valign="top" width="20%"><a href="https://github.com/hawkeye116477"><img src="https://avatars.githubusercontent.com/u/19818572?v=4?s=100" width="100px;" alt="hawkeye116477"/><br /><sub><b>hawkeye116477</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Ahawkeye116477" title="Bug reports">🐛</a></td>
42
44
  <td align="center" valign="top" width="20%"><a href="https://github.com/jawz101"><img src="https://avatars.githubusercontent.com/u/14151703?v=4?s=100" width="100px;" alt="jawz101"/><br /><sub><b>jawz101</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Ajawz101" title="Bug reports">🐛</a> <a href="#ideas-jawz101" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-jawz101" title="Answering Questions">💬</a> <a href="#data-jawz101" title="Data">🔣</a></td>
43
45
  <td align="center" valign="top" width="20%"><a href="https://github.com/keczuppp"><img src="https://avatars.githubusercontent.com/u/74409207?v=4?s=100" width="100px;" alt="keczuppp"/><br /><sub><b>keczuppp</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Akeczuppp" title="Bug reports">🐛</a> <a href="#ideas-keczuppp" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-keczuppp" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=keczuppp" title="Tests">⚠️</a> <a href="#data-keczuppp" title="Data">🔣</a></td>
44
- <td align="center" valign="top" width="20%"><a href="https://github.com/opav"><img src="https://avatars.githubusercontent.com/u/6770347?v=4?s=100" width="100px;" alt="opav"/><br /><sub><b>opav</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aopav" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=opav" title="Tests">⚠️</a></td>
45
46
  </tr>
46
47
  <tr>
48
+ <td align="center" valign="top" width="20%"><a href="https://github.com/opav"><img src="https://avatars.githubusercontent.com/u/6770347?v=4?s=100" width="100px;" alt="opav"/><br /><sub><b>opav</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aopav" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=opav" title="Tests">⚠️</a></td>
47
49
  <td align="center" valign="top" width="20%"><a href="https://github.com/rusty-snake"><img src="https://avatars.githubusercontent.com/u/41237666?v=4?s=100" width="100px;" alt="rusty-snake"/><br /><sub><b>rusty-snake</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Arusty-snake" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=rusty-snake" title="Documentation">📖</a></td>
48
50
  <td align="center" valign="top" width="20%"><a href="https://github.com/smed79"><img src="https://avatars.githubusercontent.com/u/1873139?v=4?s=100" width="100px;" alt="smed79"/><br /><sub><b>smed79</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Asmed79" title="Bug reports">🐛</a> <a href="#ideas-smed79" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=smed79" title="Code">💻</a> <a href="#question-smed79" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=smed79" title="Tests">⚠️</a></td>
49
51
  <td align="center" valign="top" width="20%"><a href="https://speedmann.de/"><img src="https://avatars.githubusercontent.com/u/424659?v=4?s=100" width="100px;" alt="speedmann"/><br /><sub><b>speedmann</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aspeedmann" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=speedmann" title="Tests">⚠️</a></td>
50
52
  <td align="center" valign="top" width="20%"><a href="https://www.mypdns.org/"><img src="https://avatars.githubusercontent.com/u/44526987?v=4?s=100" width="100px;" alt="spirillen"/><br /><sub><b>spirillen</b></sub></a><br /><a href="#a11y-spirillen" title="Accessibility">️️️️♿️</a> <a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aspirillen" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=spirillen" title="Code">💻</a> <a href="#content-spirillen" title="Content">🖋</a> <a href="#data-spirillen" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=spirillen" title="Documentation">📖</a> <a href="#example-spirillen" title="Examples">💡</a> <a href="#ideas-spirillen" title="Ideas, Planning, & Feedback">🤔</a> <a href="#maintenance-spirillen" title="Maintenance">🚧</a> <a href="#mentoring-spirillen" title="Mentoring">🧑‍🏫</a> <a href="#promotion-spirillen" title="Promotion">📣</a> <a href="#question-spirillen" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/pulls?q=is%3Apr+reviewed-by%3Aspirillen" title="Reviewed Pull Requests">👀</a> <a href="#tool-spirillen" title="Tools">🔧</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=spirillen" title="Tests">⚠️</a> <a href="#tutorial-spirillen" title="Tutorials">✅</a> <a href="#talk-spirillen" title="Talks">📢</a> <a href="#userTesting-spirillen" title="User Testing">📓</a></td>
51
- <td align="center" valign="top" width="20%"><a href="https://github.com/NeolithEra"><img src="https://avatars.githubusercontent.com/u/52778917?v=4?s=100" width="100px;" alt="watchman-pypi"/><br /><sub><b>watchman-pypi</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3ANeolithEra" title="Bug reports">🐛</a></td>
52
53
  </tr>
53
54
  <tr>
55
+ <td align="center" valign="top" width="20%"><a href="https://github.com/NeolithEra"><img src="https://avatars.githubusercontent.com/u/52778917?v=4?s=100" width="100px;" alt="watchman-pypi"/><br /><sub><b>watchman-pypi</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3ANeolithEra" title="Bug reports">🐛</a></td>
54
56
  <td align="center" valign="top" width="20%"><a href="https://github.com/xxcriticxx"><img src="https://avatars.githubusercontent.com/u/15007183?v=4?s=100" width="100px;" alt="xxcriticxx"/><br /><sub><b>xxcriticxx</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Axxcriticxx" title="Bug reports">🐛</a> <a href="#ideas-xxcriticxx" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=xxcriticxx" title="Tests">⚠️</a></td>
55
57
  </tr>
56
58
  </tbody>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyFunceble-dev
3
- Version: 4.2.29
3
+ Version: 4.3.0a2
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,91 +22,91 @@ Classifier: License :: OSI Approved
22
22
  Requires-Python: >=3.8, <4
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE
25
+ Requires-Dist: python-box[all]~=6.0.0
25
26
  Requires-Dist: domain2idna~=1.12.0
26
- Requires-Dist: dnspython[DOH]~=2.6.0
27
+ Requires-Dist: cryptography~=42.0
28
+ Requires-Dist: packaging
27
29
  Requires-Dist: requests[socks]<3
28
- Requires-Dist: PyYAML
29
- Requires-Dist: inflection
30
+ Requires-Dist: dnspython[DOH]~=2.6.0
30
31
  Requires-Dist: python-dotenv
31
- Requires-Dist: shtab
32
- Requires-Dist: SQLAlchemy[postgresql-psycopg2binary]~=2.0
33
- Requires-Dist: python-box[all]~=6.0.0
34
- Requires-Dist: setuptools>=65.5.1
35
- Requires-Dist: cryptography~=42.0
32
+ Requires-Dist: inflection
36
33
  Requires-Dist: PyMySQL
37
- Requires-Dist: packaging
34
+ Requires-Dist: PyYAML
35
+ Requires-Dist: setuptools>=65.5.1
38
36
  Requires-Dist: alembic
37
+ Requires-Dist: shtab
38
+ Requires-Dist: SQLAlchemy[postgresql-psycopg2binary]~=2.0
39
39
  Requires-Dist: colorama
40
40
  Provides-Extra: docs
41
- Requires-Dist: zipp>=3.19.1; extra == "docs"
42
41
  Requires-Dist: mkdocstrings[python]~=0.26; extra == "docs"
43
- Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
44
- Requires-Dist: mkdocs-literate-nav~=0.6; extra == "docs"
42
+ Requires-Dist: mkdocs~=1.5; extra == "docs"
45
43
  Requires-Dist: mkdocs-section-index~=0.3; extra == "docs"
46
- Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
47
44
  Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "docs"
48
- Requires-Dist: mkdocs~=1.5; extra == "docs"
49
- Requires-Dist: mkdocs-material~=9.5; extra == "docs"
50
45
  Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "docs"
46
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "docs"
51
47
  Requires-Dist: pymdown-extensions~=10.9; extra == "docs"
48
+ Requires-Dist: zipp>=3.19.1; extra == "docs"
49
+ Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
50
+ Requires-Dist: mkdocs-material~=9.5; extra == "docs"
51
+ Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
52
52
  Provides-Extra: dev
53
53
  Requires-Dist: black; extra == "dev"
54
+ Requires-Dist: flake8; extra == "dev"
54
55
  Requires-Dist: pylint; extra == "dev"
55
56
  Requires-Dist: isort; extra == "dev"
56
- Requires-Dist: flake8; extra == "dev"
57
57
  Provides-Extra: test
58
- Requires-Dist: coverage; extra == "test"
59
58
  Requires-Dist: tox; extra == "test"
59
+ Requires-Dist: coverage; extra == "test"
60
60
  Provides-Extra: psql
61
+ Requires-Dist: python-box[all]~=6.0.0; extra == "psql"
61
62
  Requires-Dist: domain2idna~=1.12.0; extra == "psql"
62
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql"
63
+ Requires-Dist: cryptography~=42.0; extra == "psql"
64
+ Requires-Dist: packaging; extra == "psql"
63
65
  Requires-Dist: requests[socks]<3; extra == "psql"
64
- Requires-Dist: PyYAML; extra == "psql"
65
- Requires-Dist: inflection; extra == "psql"
66
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql"
67
+ Requires-Dist: psycopg2; extra == "psql"
66
68
  Requires-Dist: python-dotenv; extra == "psql"
67
- Requires-Dist: shtab; extra == "psql"
68
- Requires-Dist: SQLAlchemy[postgresql-psycopg2binary]~=2.0; extra == "psql"
69
- Requires-Dist: python-box[all]~=6.0.0; extra == "psql"
70
- Requires-Dist: setuptools>=65.5.1; extra == "psql"
71
- Requires-Dist: cryptography~=42.0; extra == "psql"
69
+ Requires-Dist: inflection; extra == "psql"
72
70
  Requires-Dist: PyMySQL; extra == "psql"
73
- Requires-Dist: psycopg2; extra == "psql"
74
- Requires-Dist: packaging; extra == "psql"
71
+ Requires-Dist: PyYAML; extra == "psql"
72
+ Requires-Dist: setuptools>=65.5.1; extra == "psql"
75
73
  Requires-Dist: alembic; extra == "psql"
74
+ Requires-Dist: shtab; extra == "psql"
75
+ Requires-Dist: SQLAlchemy[postgresql-psycopg2binary]~=2.0; extra == "psql"
76
76
  Requires-Dist: colorama; extra == "psql"
77
77
  Provides-Extra: full
78
- Requires-Dist: zipp>=3.19.1; extra == "full"
79
- Requires-Dist: domain2idna~=1.12.0; extra == "full"
78
+ Requires-Dist: cryptography~=42.0; extra == "full"
79
+ Requires-Dist: pymdown-extensions~=10.9; extra == "full"
80
80
  Requires-Dist: dnspython[DOH]~=2.6.0; extra == "full"
81
- Requires-Dist: requests[socks]<3; extra == "full"
82
- Requires-Dist: inflection; extra == "full"
81
+ Requires-Dist: isort; extra == "full"
82
+ Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "full"
83
+ Requires-Dist: alembic; extra == "full"
84
+ Requires-Dist: SQLAlchemy[postgresql-psycopg2binary]~=2.0; extra == "full"
85
+ Requires-Dist: flake8; extra == "full"
86
+ Requires-Dist: packaging; extra == "full"
83
87
  Requires-Dist: python-dotenv; extra == "full"
84
- Requires-Dist: pylint; extra == "full"
88
+ Requires-Dist: inflection; extra == "full"
89
+ Requires-Dist: PyMySQL; extra == "full"
90
+ Requires-Dist: shtab; extra == "full"
91
+ Requires-Dist: mkdocstrings[python]~=0.26; extra == "full"
92
+ Requires-Dist: mkdocs~=1.5; extra == "full"
93
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
94
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
85
95
  Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
96
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
97
+ Requires-Dist: requests[socks]<3; extra == "full"
86
98
  Requires-Dist: PyYAML; extra == "full"
99
+ Requires-Dist: mkdocs-material~=9.5; extra == "full"
100
+ Requires-Dist: colorama; extra == "full"
87
101
  Requires-Dist: mkdocs-gen-files~=0.5; extra == "full"
102
+ Requires-Dist: python-box[all]~=6.0.0; extra == "full"
88
103
  Requires-Dist: coverage; extra == "full"
89
- Requires-Dist: shtab; extra == "full"
104
+ Requires-Dist: domain2idna~=1.12.0; extra == "full"
105
+ Requires-Dist: pylint; extra == "full"
106
+ Requires-Dist: zipp>=3.19.1; extra == "full"
107
+ Requires-Dist: black; extra == "full"
90
108
  Requires-Dist: setuptools>=65.5.1; extra == "full"
91
- Requires-Dist: cryptography~=42.0; extra == "full"
92
- Requires-Dist: colorama; extra == "full"
93
- Requires-Dist: flake8; extra == "full"
94
109
  Requires-Dist: tox; extra == "full"
95
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "full"
96
- Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
97
- Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
98
- Requires-Dist: isort; extra == "full"
99
- Requires-Dist: pymdown-extensions~=10.9; extra == "full"
100
- Requires-Dist: packaging; extra == "full"
101
- Requires-Dist: alembic; extra == "full"
102
- Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
103
- Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "full"
104
- Requires-Dist: SQLAlchemy[postgresql-psycopg2binary]~=2.0; extra == "full"
105
- Requires-Dist: mkdocs~=1.5; extra == "full"
106
- Requires-Dist: python-box[all]~=6.0.0; extra == "full"
107
- Requires-Dist: PyMySQL; extra == "full"
108
- Requires-Dist: mkdocs-material~=9.5; extra == "full"
109
- Requires-Dist: black; extra == "full"
110
110
 
111
111
  ![image](https://raw.githubusercontent.com/PyFunceble/logo/dev/Green/HD/RM.png)
112
112
 
@@ -153,8 +153,6 @@ Happy testing with PyFunceble!
153
153
 
154
154
  # Table of Content
155
155
 
156
- - [The tool to check the availability or syntax of domain, IP or URL](#the-tool-to-check-the-availability-or-syntax-of-domain-ip-or-url)
157
- - [Table of Content](#table-of-content)
158
156
  - [Installation](#installation)
159
157
  - [Packages \& Versioning](#packages--versioning)
160
158
  - [PyPi - Python Package Index](#pypi---python-package-index)
@@ -507,6 +505,7 @@ contribution(s) and or issue report which made or make
507
505
  <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
508
506
  <!-- prettier-ignore-start -->
509
507
  <!-- markdownlint-disable -->
508
+
510
509
  <table>
511
510
  <tbody>
512
511
  <tr>
@@ -524,34 +523,35 @@ contribution(s) and or issue report which made or make
524
523
  <td align="center" valign="top" width="20%"><a href="https://github.com/ybreza"><img src="https://avatars.githubusercontent.com/u/35470865?v=4?s=100" width="100px;" alt="Reza Rizqullah"/><br /><sub><b>Reza Rizqullah</b></sub></a><br /><a href="#design-ybreza" title="Design">🎨</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ybreza" title="Code">💻</a></td>
525
524
  </tr>
526
525
  <tr>
526
+ <td align="center" valign="top" width="20%"><a href="https://github.com/techdragon"><img src="https://avatars.githubusercontent.com/u/2115079?v=4?s=100" width="100px;" alt="Samuel Bishop"/><br /><sub><b>Samuel Bishop</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Atechdragon" title="Bug reports">🐛</a> <a href="#ideas-techdragon" title="Ideas, Planning, & Feedback">🤔</a></td>
527
527
  <td align="center" valign="top" width="20%"><a href="https://scripttiger.github.io/"><img src="https://avatars.githubusercontent.com/u/29940916?v=4?s=100" width="100px;" alt="ScriptTiger"/><br /><sub><b>ScriptTiger</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AScriptTiger" title="Bug reports">🐛</a> <a href="#ideas-ScriptTiger" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ScriptTiger" title="Tests">⚠️</a></td>
528
528
  <td align="center" valign="top" width="20%"><a href="https://github.com/sjhgvr"><img src="https://avatars.githubusercontent.com/u/51121527?v=4?s=100" width="100px;" alt="Stephan van Ruth"/><br /><sub><b>Stephan van Ruth</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Asjhgvr" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=sjhgvr" title="Tests">⚠️</a></td>
529
529
  <td align="center" valign="top" width="20%"><a href="http://stevenblack.com/"><img src="https://avatars.githubusercontent.com/u/80144?v=4?s=100" width="100px;" alt="Steven Black"/><br /><sub><b>Steven Black</b></sub></a><br /><a href="#ideas-StevenBlack" title="Ideas, Planning, & Feedback">🤔</a> <a href="#financial-StevenBlack" title="Financial">💵</a></td>
530
530
  <td align="center" valign="top" width="20%"><a href="https://github.com/T145"><img src="https://avatars.githubusercontent.com/u/1214129?v=4?s=100" width="100px;" alt="T145"/><br /><sub><b>T145</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AT145" title="Bug reports">🐛</a> <a href="#ideas-T145" title="Ideas, Planning, & Feedback">🤔</a></td>
531
- <td align="center" valign="top" width="20%"><a href="https://infosec.exchange/@wally3k"><img src="https://avatars.githubusercontent.com/u/3049142?v=4?s=100" width="100px;" alt="WaLLy3K"/><br /><sub><b>WaLLy3K</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AWaLLy3K" title="Bug reports">🐛</a> <a href="#ideas-WaLLy3K" title="Ideas, Planning, & Feedback">🤔</a></td>
532
531
  </tr>
533
532
  <tr>
533
+ <td align="center" valign="top" width="20%"><a href="https://infosec.exchange/@wally3k"><img src="https://avatars.githubusercontent.com/u/3049142?v=4?s=100" width="100px;" alt="WaLLy3K"/><br /><sub><b>WaLLy3K</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AWaLLy3K" title="Bug reports">🐛</a> <a href="#ideas-WaLLy3K" title="Ideas, Planning, & Feedback">🤔</a></td>
534
534
  <td align="center" valign="top" width="20%"><a href="https://github.com/Yuki2718"><img src="https://avatars.githubusercontent.com/u/58900598?v=4?s=100" width="100px;" alt="Yuki2718"/><br /><sub><b>Yuki2718</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AYuki2718" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=Yuki2718" title="Tests">⚠️</a></td>
535
535
  <td align="center" valign="top" width="20%"><a href="https://github.com/Zachinquarantine"><img src="https://avatars.githubusercontent.com/u/69423184?v=4?s=100" width="100px;" alt="Zachinquarantine"/><br /><sub><b>Zachinquarantine</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/commits?author=Zachinquarantine" title="Code">💻</a></td>
536
536
  <td align="center" valign="top" width="20%"><a href="http://bit.ly/cBWeb"><img src="https://avatars.githubusercontent.com/u/28985171?v=4?s=100" width="100px;" alt="ZeroDot1"/><br /><sub><b>ZeroDot1</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AZeroDot1" title="Bug reports">🐛</a> <a href="#ideas-ZeroDot1" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-ZeroDot1" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ZeroDot1" title="Tests">⚠️</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=ZeroDot1" title="Code">💻</a></td>
537
537
  <td align="center" valign="top" width="20%"><a href="https://github.com/avatartw"><img src="https://avatars.githubusercontent.com/u/69660730?v=4?s=100" width="100px;" alt="avatartw"/><br /><sub><b>avatartw</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aavatartw" title="Bug reports">🐛</a></td>
538
- <td align="center" valign="top" width="20%"><a href="https://github.com/dnmTX"><img src="https://avatars.githubusercontent.com/u/34774426?v=4?s=100" width="100px;" alt="dnmTX"/><br /><sub><b>dnmTX</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AdnmTX" title="Bug reports">🐛</a> <a href="#ideas-dnmTX" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-dnmTX" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/pulls?q=is%3Apr+reviewed-by%3AdnmTX" title="Reviewed Pull Requests">👀</a> <a href="#data-dnmTX" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=dnmTX" title="Tests">⚠️</a></td>
539
538
  </tr>
540
539
  <tr>
540
+ <td align="center" valign="top" width="20%"><a href="https://github.com/dnmTX"><img src="https://avatars.githubusercontent.com/u/34774426?v=4?s=100" width="100px;" alt="dnmTX"/><br /><sub><b>dnmTX</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3AdnmTX" title="Bug reports">🐛</a> <a href="#ideas-dnmTX" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-dnmTX" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/pulls?q=is%3Apr+reviewed-by%3AdnmTX" title="Reviewed Pull Requests">👀</a> <a href="#data-dnmTX" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=dnmTX" title="Tests">⚠️</a></td>
541
541
  <td align="center" valign="top" width="20%"><a href="https://github.com/gwarser"><img src="https://avatars.githubusercontent.com/u/886325?v=4?s=100" width="100px;" alt="gwarser"/><br /><sub><b>gwarser</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Agwarser" title="Bug reports">🐛</a> <a href="#data-gwarser" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=gwarser" title="Tests">⚠️</a></td>
542
542
  <td align="center" valign="top" width="20%"><a href="https://github.com/hawkeye116477"><img src="https://avatars.githubusercontent.com/u/19818572?v=4?s=100" width="100px;" alt="hawkeye116477"/><br /><sub><b>hawkeye116477</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Ahawkeye116477" title="Bug reports">🐛</a></td>
543
543
  <td align="center" valign="top" width="20%"><a href="https://github.com/jawz101"><img src="https://avatars.githubusercontent.com/u/14151703?v=4?s=100" width="100px;" alt="jawz101"/><br /><sub><b>jawz101</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Ajawz101" title="Bug reports">🐛</a> <a href="#ideas-jawz101" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-jawz101" title="Answering Questions">💬</a> <a href="#data-jawz101" title="Data">🔣</a></td>
544
544
  <td align="center" valign="top" width="20%"><a href="https://github.com/keczuppp"><img src="https://avatars.githubusercontent.com/u/74409207?v=4?s=100" width="100px;" alt="keczuppp"/><br /><sub><b>keczuppp</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Akeczuppp" title="Bug reports">🐛</a> <a href="#ideas-keczuppp" title="Ideas, Planning, & Feedback">🤔</a> <a href="#question-keczuppp" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=keczuppp" title="Tests">⚠️</a> <a href="#data-keczuppp" title="Data">🔣</a></td>
545
- <td align="center" valign="top" width="20%"><a href="https://github.com/opav"><img src="https://avatars.githubusercontent.com/u/6770347?v=4?s=100" width="100px;" alt="opav"/><br /><sub><b>opav</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aopav" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=opav" title="Tests">⚠️</a></td>
546
545
  </tr>
547
546
  <tr>
547
+ <td align="center" valign="top" width="20%"><a href="https://github.com/opav"><img src="https://avatars.githubusercontent.com/u/6770347?v=4?s=100" width="100px;" alt="opav"/><br /><sub><b>opav</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aopav" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=opav" title="Tests">⚠️</a></td>
548
548
  <td align="center" valign="top" width="20%"><a href="https://github.com/rusty-snake"><img src="https://avatars.githubusercontent.com/u/41237666?v=4?s=100" width="100px;" alt="rusty-snake"/><br /><sub><b>rusty-snake</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Arusty-snake" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=rusty-snake" title="Documentation">📖</a></td>
549
549
  <td align="center" valign="top" width="20%"><a href="https://github.com/smed79"><img src="https://avatars.githubusercontent.com/u/1873139?v=4?s=100" width="100px;" alt="smed79"/><br /><sub><b>smed79</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Asmed79" title="Bug reports">🐛</a> <a href="#ideas-smed79" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=smed79" title="Code">💻</a> <a href="#question-smed79" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=smed79" title="Tests">⚠️</a></td>
550
550
  <td align="center" valign="top" width="20%"><a href="https://speedmann.de/"><img src="https://avatars.githubusercontent.com/u/424659?v=4?s=100" width="100px;" alt="speedmann"/><br /><sub><b>speedmann</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aspeedmann" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=speedmann" title="Tests">⚠️</a></td>
551
551
  <td align="center" valign="top" width="20%"><a href="https://www.mypdns.org/"><img src="https://avatars.githubusercontent.com/u/44526987?v=4?s=100" width="100px;" alt="spirillen"/><br /><sub><b>spirillen</b></sub></a><br /><a href="#a11y-spirillen" title="Accessibility">️️️️♿️</a> <a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Aspirillen" title="Bug reports">🐛</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=spirillen" title="Code">💻</a> <a href="#content-spirillen" title="Content">🖋</a> <a href="#data-spirillen" title="Data">🔣</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=spirillen" title="Documentation">📖</a> <a href="#example-spirillen" title="Examples">💡</a> <a href="#ideas-spirillen" title="Ideas, Planning, & Feedback">🤔</a> <a href="#maintenance-spirillen" title="Maintenance">🚧</a> <a href="#mentoring-spirillen" title="Mentoring">🧑‍🏫</a> <a href="#promotion-spirillen" title="Promotion">📣</a> <a href="#question-spirillen" title="Answering Questions">💬</a> <a href="https://github.com/funilrys/PyFunceble/pulls?q=is%3Apr+reviewed-by%3Aspirillen" title="Reviewed Pull Requests">👀</a> <a href="#tool-spirillen" title="Tools">🔧</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=spirillen" title="Tests">⚠️</a> <a href="#tutorial-spirillen" title="Tutorials">✅</a> <a href="#talk-spirillen" title="Talks">📢</a> <a href="#userTesting-spirillen" title="User Testing">📓</a></td>
552
- <td align="center" valign="top" width="20%"><a href="https://github.com/NeolithEra"><img src="https://avatars.githubusercontent.com/u/52778917?v=4?s=100" width="100px;" alt="watchman-pypi"/><br /><sub><b>watchman-pypi</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3ANeolithEra" title="Bug reports">🐛</a></td>
553
552
  </tr>
554
553
  <tr>
554
+ <td align="center" valign="top" width="20%"><a href="https://github.com/NeolithEra"><img src="https://avatars.githubusercontent.com/u/52778917?v=4?s=100" width="100px;" alt="watchman-pypi"/><br /><sub><b>watchman-pypi</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3ANeolithEra" title="Bug reports">🐛</a></td>
555
555
  <td align="center" valign="top" width="20%"><a href="https://github.com/xxcriticxx"><img src="https://avatars.githubusercontent.com/u/15007183?v=4?s=100" width="100px;" alt="xxcriticxx"/><br /><sub><b>xxcriticxx</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/issues?q=author%3Axxcriticxx" title="Bug reports">🐛</a> <a href="#ideas-xxcriticxx" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/funilrys/PyFunceble/commits?author=xxcriticxx" title="Tests">⚠️</a></td>
556
556
  </tr>
557
557
  </tbody>
@@ -1197,6 +1197,28 @@ def get_default_group_data() -> List[Tuple[List[str], dict]]:
1197
1197
  "version": "%(prog)s " + PyFunceble.storage.PROJECT_VERSION,
1198
1198
  },
1199
1199
  ),
1200
+ (
1201
+ [
1202
+ "--config-file",
1203
+ ],
1204
+ {
1205
+ "dest": "config_file",
1206
+ "type": str,
1207
+ "help": "Sets the configuration file to use. It can be a\n"
1208
+ "local or remote file. Please note that this configuration can be\n"
1209
+ "overwritten by your overwrite configuration file.",
1210
+ },
1211
+ ),
1212
+ (
1213
+ [
1214
+ "--config-dir",
1215
+ ],
1216
+ {
1217
+ "dest": "config_dir",
1218
+ "type": os.path.realpath,
1219
+ "help": "Sets the configuration directory to use.",
1220
+ },
1221
+ ),
1200
1222
  ]
1201
1223
 
1202
1224
 
@@ -59,7 +59,6 @@ except ImportError: # pragma: no cover ## Retro compatibility
59
59
  import importlib_resources as package_resources
60
60
 
61
61
 
62
- import PyFunceble.storage
63
62
  from PyFunceble.cli.filesystem.cleanup import FilesystemCleanup
64
63
  from PyFunceble.cli.filesystem.dir_base import FilesystemDirBase
65
64
 
@@ -78,7 +77,7 @@ class DirectoryStructureBase(FilesystemDirBase):
78
77
  ) -> None:
79
78
  with package_resources.path(
80
79
  "PyFunceble.data.infrastructure",
81
- PyFunceble.storage.DISTRIBUTED_DIR_STRUCTURE_FILENAME,
80
+ "dir_structure_production.json",
82
81
  ) as file_path:
83
82
  self.std_source_file = str(file_path)
84
83
 
@@ -54,6 +54,7 @@ from typing import Optional
54
54
 
55
55
  from sqlalchemy.orm import Session
56
56
 
57
+ import PyFunceble.storage
57
58
  from PyFunceble.cli.continuous_integration.base import ContinuousIntegrationBase
58
59
 
59
60
 
@@ -66,11 +67,19 @@ class MigratorBase:
66
67
  continuous_integration: Optional[ContinuousIntegrationBase] = None
67
68
  db_session: Optional[Session] = None
68
69
 
70
+ _config_dir: Optional[str] = None
69
71
  print_action_to_stdout: bool = False
70
72
 
71
- def __init__(self, print_action_to_stdout: bool = False) -> None:
73
+ def __init__(
74
+ self, print_action_to_stdout: bool = False, *, config_dir: Optional[str] = None
75
+ ) -> None:
72
76
  self.print_action_to_stdout = print_action_to_stdout
73
77
 
78
+ if config_dir is not None:
79
+ self._config_dir = config_dir
80
+ else:
81
+ self._config_dir = PyFunceble.storage.CONFIG_DIRECTORY
82
+
74
83
  self.__post_init__()
75
84
 
76
85
  def __post_init__(self) -> None:
@@ -78,6 +87,43 @@ class MigratorBase:
78
87
  A method to be called (automatically) after the __init__ execution.
79
88
  """
80
89
 
90
+ @property
91
+ def config_dir(self) -> Optional[str]:
92
+ """
93
+ Provides the current state of the :code:`_config_dir` attribute.
94
+ """
95
+
96
+ return self._config_dir
97
+
98
+ @config_dir.setter
99
+ def config_dir(self, value: str) -> None:
100
+ """
101
+ Sets the configuration directory.
102
+
103
+ :param value:
104
+ The value to set.
105
+
106
+ :raise TypeError:
107
+ When value is not a :py:class:`str`.
108
+ """
109
+
110
+ if not isinstance(value, str):
111
+ raise TypeError(f"<value> should be {str}, {type(value)} given.")
112
+
113
+ self._config_dir = value
114
+
115
+ def set_config_dir(self, value: str) -> "MigratorBase":
116
+ """
117
+ Sets the configuration directory.
118
+
119
+ :param value:
120
+ The value to set.
121
+ """
122
+
123
+ self.config_dir = value
124
+
125
+ return self
126
+
81
127
  def start(self) -> "MigratorBase":
82
128
  """
83
129
  Starts the migration.
@@ -77,7 +77,7 @@ class InactiveDatasetDeleteSourceColumnMigrator(CSVFileMigratorBase):
77
77
 
78
78
  def __post_init__(self) -> None:
79
79
  self.source_file = os.path.join(
80
- PyFunceble.storage.CONFIG_DIRECTORY, PyFunceble.cli.storage.INACTIVE_DB_FILE
80
+ self.config_dir, PyFunceble.cli.storage.INACTIVE_DB_FILE
81
81
  )
82
82
 
83
83
  return super().__post_init__()
@@ -71,7 +71,7 @@ class WhoisDatasetAddRegistrarColumnMigrator(CSVFileMigratorBase):
71
71
 
72
72
  def __post_init__(self) -> None:
73
73
  self.source_file = os.path.join(
74
- PyFunceble.storage.CONFIG_DIRECTORY, PyFunceble.cli.storage.WHOIS_DB_FILE
74
+ self.config_dir, PyFunceble.cli.storage.WHOIS_DB_FILE
75
75
  )
76
76
 
77
77
  return super().__post_init__()
@@ -64,7 +64,7 @@ class HashesFileCleanupMigrator(FileClenupMigratorBase):
64
64
 
65
65
  def __post_init__(self) -> None:
66
66
  self.source_file = os.path.join(
67
- PyFunceble.storage.CONFIG_DIRECTORY, PyFunceble.cli.storage.HASHES_FILENAME
67
+ self.config_dir, PyFunceble.cli.storage.HASHES_FILENAME
68
68
  )
69
69
 
70
70
  return super().__post_init__()
@@ -64,7 +64,7 @@ class MiningFileCleanupMigrator(FileClenupMigratorBase):
64
64
 
65
65
  def __post_init__(self) -> None:
66
66
  self.source_file = os.path.join(
67
- PyFunceble.storage.CONFIG_DIRECTORY, PyFunceble.cli.storage.MINING_OLD_FILE
67
+ self.config_dir, PyFunceble.cli.storage.MINING_OLD_FILE
68
68
  )
69
69
 
70
70
  return super().__post_init__()
@@ -65,7 +65,7 @@ class ProductionConfigFileCleanupMigrator(FileClenupMigratorBase):
65
65
 
66
66
  def __post_init__(self) -> None:
67
67
  self.source_file = os.path.join(
68
- PyFunceble.storage.CONFIG_DIRECTORY,
68
+ self.config_dir,
69
69
  PyFunceble.storage.DISTRIBUTED_CONFIGURATION_FILENAME,
70
70
  )
71
71
 
@@ -75,7 +75,7 @@ class InactiveJSON2CSVMigrator(JSON2CSVMigratorBase):
75
75
 
76
76
  def __post_init__(self) -> None:
77
77
  self.source_file = os.path.join(
78
- PyFunceble.storage.CONFIG_DIRECTORY,
78
+ self.config_dir,
79
79
  PyFunceble.cli.storage.INACTIVE_DB_OLD_FILE,
80
80
  )
81
81
 
@@ -73,7 +73,7 @@ class WhoisJSON2CSVMigrator(JSON2CSVMigratorBase):
73
73
 
74
74
  def __post_init__(self) -> None:
75
75
  self.source_file = os.path.join(
76
- PyFunceble.storage.CONFIG_DIRECTORY,
76
+ self.config_dir,
77
77
  PyFunceble.cli.storage.WHOIS_DB_OLD_FILE,
78
78
  )
79
79