PyFunceble-dev 4.3.0a24__tar.gz → 4.3.1__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.0a24 → pyfunceble_dev-4.3.1}/CONTRIBUTORS.md +3 -4
  2. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PKG-INFO +122 -121
  3. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/facility.py +2 -0
  4. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/factory.py +2 -0
  5. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/status_file.py +1 -1
  6. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/mariadb/file_and_status.py +8 -4
  7. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/schemas/autocontinue.py +4 -2
  8. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/schemas/inactive.py +4 -2
  9. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/schemas/status.py +4 -2
  10. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/sqlalchemy/base_schema.py +12 -8
  11. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/csv_base.py +1 -1
  12. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/inactive/csv.py +5 -1
  13. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/whois/csv.py +1 -1
  14. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/facility.py +2 -0
  15. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/factory.py +2 -0
  16. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/helpers/command.py +2 -2
  17. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/storage.py +1 -1
  18. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble_dev.egg-info/PKG-INFO +122 -121
  19. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble_dev.egg-info/requires.txt +117 -114
  20. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/README.md +3 -4
  21. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/requirements.dev.txt +2 -1
  22. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/requirements.docs.txt +1 -1
  23. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/requirements.txt +2 -2
  24. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/requirements.win.txt +2 -2
  25. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/setup.cfg +4 -0
  26. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/setup.py +2 -3
  27. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/version.yaml +1 -1
  28. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/CODE_OF_CONDUCT.md +0 -0
  29. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/CONTRIBUTING.md +0 -0
  30. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/LICENSE +0 -0
  31. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/MANIFEST.in +0 -0
  32. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/__init__.py +0 -0
  33. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/__init__.py +0 -0
  34. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/__init__.py +0 -0
  35. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/base.py +0 -0
  36. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/domain.py +0 -0
  37. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/domain_and_ip.py +0 -0
  38. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/extras/__init__.py +0 -0
  39. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/extras/base.py +0 -0
  40. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/extras/dns.py +0 -0
  41. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/extras/etoxic.py +0 -0
  42. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/extras/external.py +0 -0
  43. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/extras/parked.py +0 -0
  44. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/extras/rules.py +0 -0
  45. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/extras/subject_switch.py +0 -0
  46. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/ip.py +0 -0
  47. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/params.py +0 -0
  48. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/status.py +0 -0
  49. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/availability/url.py +0 -0
  50. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/base.py +0 -0
  51. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/complex_json_encoder.py +0 -0
  52. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/params_base.py +0 -0
  53. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/reputation/__init__.py +0 -0
  54. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/reputation/base.py +0 -0
  55. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/reputation/domain.py +0 -0
  56. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/reputation/domain_and_ip.py +0 -0
  57. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/reputation/ip.py +0 -0
  58. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/reputation/params.py +0 -0
  59. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/reputation/status.py +0 -0
  60. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/reputation/url.py +0 -0
  61. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/status_base.py +0 -0
  62. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/syntax/__init__.py +0 -0
  63. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/syntax/base.py +0 -0
  64. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/syntax/domain.py +0 -0
  65. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/syntax/domain_and_ip.py +0 -0
  66. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/syntax/domain_base.py +0 -0
  67. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/syntax/ip.py +0 -0
  68. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/syntax/ipv4.py +0 -0
  69. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/syntax/ipv6.py +0 -0
  70. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/syntax/params.py +0 -0
  71. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/syntax/second_lvl_domain.py +0 -0
  72. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/syntax/status.py +0 -0
  73. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/syntax/subdomain.py +0 -0
  74. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/syntax/url.py +0 -0
  75. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/utils/__init__.py +0 -0
  76. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/checker/utils/whois.py +0 -0
  77. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/__init__.py +0 -0
  78. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/continuous_integration/__init__.py +0 -0
  79. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/continuous_integration/base.py +0 -0
  80. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/continuous_integration/exceptions.py +0 -0
  81. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/continuous_integration/github_actions.py +0 -0
  82. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/continuous_integration/gitlab_ci.py +0 -0
  83. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/continuous_integration/jenkins.py +0 -0
  84. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/continuous_integration/standalone.py +0 -0
  85. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/continuous_integration/travis_ci.py +0 -0
  86. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/continuous_integration/utils.py +0 -0
  87. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/credential_loader.py +0 -0
  88. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/entry_points/__init__.py +0 -0
  89. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/entry_points/clean.py +0 -0
  90. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/entry_points/iana.py +0 -0
  91. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/entry_points/production.py +0 -0
  92. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/entry_points/public_suffix.py +0 -0
  93. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/entry_points/pyfunceble/__init__.py +0 -0
  94. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/entry_points/pyfunceble/argsparser.py +0 -0
  95. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/entry_points/pyfunceble/cli.py +0 -0
  96. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/execution_time.py +0 -0
  97. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/file_preloader.py +0 -0
  98. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/__init__.py +0 -0
  99. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/cleanup.py +0 -0
  100. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/counter.py +0 -0
  101. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/dir_base.py +0 -0
  102. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/dir_structure/__init__.py +0 -0
  103. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/dir_structure/backup.py +0 -0
  104. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/dir_structure/base.py +0 -0
  105. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/dir_structure/restore.py +0 -0
  106. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/json_base.py +0 -0
  107. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/printer/__init__.py +0 -0
  108. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/printer/base.py +0 -0
  109. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/printer/file.py +0 -0
  110. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/printer/stdout.py +0 -0
  111. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/filesystem/registrar_counter.py +0 -0
  112. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/__init__.py +0 -0
  113. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/alembic.py +0 -0
  114. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/base.py +0 -0
  115. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/csv_file/__init__.py +0 -0
  116. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/csv_file/base.py +0 -0
  117. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/csv_file/inactive_source_delete.py +0 -0
  118. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/csv_file/whois_registrar_add.py +0 -0
  119. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/db_base.py +0 -0
  120. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/file_cleanup/__init__.py +0 -0
  121. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/file_cleanup/base.py +0 -0
  122. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/file_cleanup/hashes_file.py +0 -0
  123. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/file_cleanup/mining_file.py +0 -0
  124. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/file_cleanup/production_config_file.py +0 -0
  125. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/json2csv/__init__.py +0 -0
  126. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/json2csv/base.py +0 -0
  127. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/json2csv/inactive.py +0 -0
  128. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/json2csv/whois.py +0 -0
  129. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/mariadb/__init__.py +0 -0
  130. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/mariadb/base.py +0 -0
  131. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/migrators/mariadb/whois_record_idna_subject.py +0 -0
  132. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/__init__.py +0 -0
  133. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/base.py +0 -0
  134. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/chancy_producer.py +0 -0
  135. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/chancy_tester.py +0 -0
  136. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/dir_files_sorter.py +0 -0
  137. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/file_sorter.py +0 -0
  138. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/migrator.py +0 -0
  139. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/miner.py +0 -0
  140. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/producer.py +0 -0
  141. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/tester.py +0 -0
  142. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/workers/__init__.py +0 -0
  143. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/workers/base.py +0 -0
  144. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/workers/chancy_producer.py +0 -0
  145. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/workers/chancy_tester.py +0 -0
  146. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/workers/dir_files_sorter.py +0 -0
  147. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/workers/file_sorter.py +0 -0
  148. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/workers/file_sorter_base.py +0 -0
  149. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/workers/migrator.py +0 -0
  150. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/workers/miner.py +0 -0
  151. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/workers/producer.py +0 -0
  152. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/processes/workers/tester.py +0 -0
  153. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/scripts/__init__.py +0 -0
  154. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/scripts/iana.py +0 -0
  155. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/scripts/production.py +0 -0
  156. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/scripts/public_suffix.py +0 -0
  157. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/storage.py +0 -0
  158. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/storage_facility.py +0 -0
  159. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/system/__init__.py +0 -0
  160. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/system/base.py +0 -0
  161. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/system/integrator.py +0 -0
  162. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/system/launcher.py +0 -0
  163. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/utils/__init__.py +0 -0
  164. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/utils/ascii_logo.py +0 -0
  165. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/utils/sort.py +0 -0
  166. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/utils/stdout.py +0 -0
  167. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/utils/testing.py +0 -0
  168. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/cli/utils/version.py +0 -0
  169. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/config/__init__.py +0 -0
  170. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/config/compare.py +0 -0
  171. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/config/loader.py +0 -0
  172. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/converter/__init__.py +0 -0
  173. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/converter/adblock_input_line2subject.py +0 -0
  174. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/converter/base.py +0 -0
  175. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/converter/cidr2subject.py +0 -0
  176. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/converter/input_line2subject.py +0 -0
  177. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/converter/internal_url.py +0 -0
  178. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/converter/rpz_input_line2subject.py +0 -0
  179. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/converter/rpz_policy2subject.py +0 -0
  180. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/converter/subject2complements.py +0 -0
  181. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/converter/url2netloc.py +0 -0
  182. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/converter/wildcard2subject.py +0 -0
  183. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/__init__.py +0 -0
  184. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/__init__.py +0 -0
  185. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/__init__.py +0 -0
  186. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/env.py +0 -0
  187. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/script.py.mako +0 -0
  188. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/35c79626ecb9_fix_some_columns.py +0 -0
  189. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/3a4c55a9320d_add_continue_table.py +0 -0
  190. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/3d6f4a33cdb2_add_inactive_table.py +0 -0
  191. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/45713fea8097_deletion_uneeded_columns_from_whois_.py +0 -0
  192. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/459a0d7b8f09_add_idna_subject_column_into_whois.py +0 -0
  193. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/6f4729deaf03_delete_inactive_source_column.py +0 -0
  194. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/7bcf7fa64ba1_rename_created_to_created_at_and.py +0 -0
  195. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/83ada95132bf_delete_the_file_table.py +0 -0
  196. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/912bbcb77a6c_add_registrar_column.py +0 -0
  197. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/95dc17ddd729_introduction_of_the_session_id_column.py +0 -0
  198. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/__init__.py +0 -0
  199. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/ade87195b0a0_base.py +0 -0
  200. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/bef7bcaac3f2_make_id_a_bigint.py +0 -0
  201. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/d8893cd406db_allow_whois_record_to_be_empty_null.py +0 -0
  202. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/mysql/versions/e04e8301d1a2_deletion_of_the_mined_table.py +0 -0
  203. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/postgresql/__init__.py +0 -0
  204. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/postgresql/env.py +0 -0
  205. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/postgresql/script.py.mako +0 -0
  206. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/postgresql/versions/__init__.py +0 -0
  207. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/alembic/postgresql/versions/a32ac5d66eee_initial_version.py +0 -0
  208. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/infrastructure/.PyFunceble_production.yaml +0 -0
  209. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/infrastructure/__init__.py +0 -0
  210. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/data/infrastructure/dir_structure_production.json +0 -0
  211. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/__init__.py +0 -0
  212. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/credential/__init__.py +0 -0
  213. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/credential/base.py +0 -0
  214. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/credential/mariadb.py +0 -0
  215. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/credential/mysql.py +0 -0
  216. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/credential/postgresql.py +0 -0
  217. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/schemas/__init__.py +0 -0
  218. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/schemas/whois_record.py +0 -0
  219. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/session.py +0 -0
  220. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/sqlalchemy/__init__.py +0 -0
  221. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/database/sqlalchemy/all_schemas.py +0 -0
  222. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/__init__.py +0 -0
  223. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/autocontinue/__init__.py +0 -0
  224. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/autocontinue/base.py +0 -0
  225. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/autocontinue/csv.py +0 -0
  226. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/autocontinue/sql.py +0 -0
  227. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/base.py +0 -0
  228. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/db_base.py +0 -0
  229. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/iana.py +0 -0
  230. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/inactive/__init__.py +0 -0
  231. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/inactive/base.py +0 -0
  232. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/inactive/sql.py +0 -0
  233. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/ipv4_reputation.py +0 -0
  234. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/public_suffix.py +0 -0
  235. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/sql_base.py +0 -0
  236. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/user_agent.py +0 -0
  237. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/whois/__init__.py +0 -0
  238. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/whois/base.py +0 -0
  239. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/dataset/whois/sql.py +0 -0
  240. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/downloader/__init__.py +0 -0
  241. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/downloader/base.py +0 -0
  242. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/downloader/exceptions.py +0 -0
  243. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/downloader/iana.py +0 -0
  244. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/downloader/ipv4_reputation.py +0 -0
  245. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/downloader/public_suffix.py +0 -0
  246. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/downloader/user_agents.py +0 -0
  247. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/exceptions.py +0 -0
  248. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/helpers/__init__.py +0 -0
  249. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/helpers/dict.py +0 -0
  250. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/helpers/directory.py +0 -0
  251. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/helpers/download.py +0 -0
  252. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/helpers/environment_variable.py +0 -0
  253. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/helpers/exceptions.py +0 -0
  254. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/helpers/file.py +0 -0
  255. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/helpers/hash.py +0 -0
  256. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/helpers/list.py +0 -0
  257. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/helpers/merge.py +0 -0
  258. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/helpers/regex.py +0 -0
  259. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/logger.py +0 -0
  260. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/__init__.py +0 -0
  261. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/dns/__init__.py +0 -0
  262. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/dns/nameserver.py +0 -0
  263. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/dns/query_tool.py +0 -0
  264. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/dns/resolver.py +0 -0
  265. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/http_status_code.py +0 -0
  266. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/netinfo/__init__.py +0 -0
  267. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/netinfo/address.py +0 -0
  268. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/netinfo/base.py +0 -0
  269. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/netinfo/hostbyaddr.py +0 -0
  270. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/platform.py +0 -0
  271. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/record/__init__.py +0 -0
  272. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/record/base.py +0 -0
  273. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/record/dns.py +0 -0
  274. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/record/whois.py +0 -0
  275. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/requests/__init__.py +0 -0
  276. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/requests/adapter/__init__.py +0 -0
  277. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/requests/adapter/base.py +0 -0
  278. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/requests/adapter/http.py +0 -0
  279. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/requests/adapter/https.py +0 -0
  280. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/requests/requester.py +0 -0
  281. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/whois/__init__.py +0 -0
  282. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/whois/converter/__init__.py +0 -0
  283. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/whois/converter/base.py +0 -0
  284. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/whois/converter/digit2digits.py +0 -0
  285. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/whois/converter/expiration_date.py +0 -0
  286. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/whois/converter/month2unified.py +0 -0
  287. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/whois/converter/registrar.py +0 -0
  288. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/query/whois/query_tool.py +0 -0
  289. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/sessions.py +0 -0
  290. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/storage_facility.py +0 -0
  291. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/utils/__init__.py +0 -0
  292. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/utils/platform.py +0 -0
  293. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/utils/profile.py +0 -0
  294. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble/utils/version.py +0 -0
  295. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble_dev.egg-info/SOURCES.txt +0 -0
  296. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble_dev.egg-info/dependency_links.txt +0 -0
  297. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble_dev.egg-info/entry_points.txt +0 -0
  298. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/PyFunceble_dev.egg-info/top_level.txt +0 -0
  299. {pyfunceble_dev-4.3.0a24 → pyfunceble_dev-4.3.1}/requirements.test.txt +0 -0
@@ -6,7 +6,6 @@ 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
-
10
9
  <table>
11
10
  <tbody>
12
11
  <tr>
@@ -33,23 +32,23 @@ contribution(s) and or issue report which made or make PyFunceble a better tool.
33
32
  <tr>
34
33
  <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>
35
34
  <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>
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>
37
35
  <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>
38
36
  <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>
39
38
  </tr>
40
39
  <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>
42
40
  <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>
43
41
  <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>
44
42
  <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>
45
43
  <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>
46
45
  </tr>
47
46
  <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>
49
47
  <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>
50
48
  <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>
51
49
  <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>
52
50
  <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/tqpcharlie"><img src="https://avatars.githubusercontent.com/u/69423184?v=4?s=100" width="100px;" alt="tqpcharlie"/><br /><sub><b>tqpcharlie</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/commits?author=tqpcharlie" title="Code">💻</a></td>
53
52
  </tr>
54
53
  <tr>
55
54
  <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>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyFunceble-dev
3
- Version: 4.3.0a24
3
+ Version: 4.3.1
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
@@ -18,179 +18,181 @@ Classifier: Development Status :: 4 - Beta
18
18
  Classifier: Intended Audience :: Developers
19
19
  Classifier: Programming Language :: Python
20
20
  Classifier: Programming Language :: Python :: 3
21
- Classifier: License :: OSI Approved
22
- Requires-Python: >=3.9, <4
21
+ Requires-Python: >=3.10, <4
23
22
  Description-Content-Type: text/markdown
24
23
  License-File: LICENSE
24
+ Requires-Dist: dnspython[DOH]~=2.8.0
25
+ Requires-Dist: PyMySQL
26
+ Requires-Dist: python-box[all]~=7.3.2
27
+ Requires-Dist: requests[socks]<3
28
+ Requires-Dist: domain2idna~=1.12.0
25
29
  Requires-Dist: setuptools>=65.5.1
26
- Requires-Dist: colorama
27
30
  Requires-Dist: python-dotenv
28
- Requires-Dist: inflection
29
- Requires-Dist: alembic
30
- Requires-Dist: packaging
31
- Requires-Dist: python-box[all]~=6.1.0
32
- Requires-Dist: PyYAML
33
- Requires-Dist: requests[socks]<3
34
- Requires-Dist: PyMySQL
35
31
  Requires-Dist: SQLAlchemy~=2.0
36
- Requires-Dist: domain2idna~=1.12.0
37
- Requires-Dist: shtab
38
- Requires-Dist: dnspython[DOH]~=2.7.0
32
+ Requires-Dist: colorama
33
+ Requires-Dist: PyYAML
34
+ Requires-Dist: packaging
39
35
  Requires-Dist: pyfunceble-process-manager==1.0.10
36
+ Requires-Dist: shtab
37
+ Requires-Dist: alembic
38
+ Requires-Dist: inflection
40
39
  Provides-Extra: docs
41
- Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
40
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "docs"
41
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "docs"
42
42
  Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "docs"
43
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "docs"
44
43
  Requires-Dist: zipp>=3.19.1; extra == "docs"
45
- Requires-Dist: pymdown-extensions~=10.9; extra == "docs"
46
- Requires-Dist: mkdocs-literate-nav~=0.6; extra == "docs"
47
- Requires-Dist: mkdocs~=1.5; extra == "docs"
48
44
  Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
49
- Requires-Dist: mkdocs-section-index~=0.3; extra == "docs"
45
+ Requires-Dist: mkdocs~=1.5; extra == "docs"
46
+ Requires-Dist: pymdown-extensions~=10.9; extra == "docs"
47
+ Requires-Dist: mkdocstrings[python]~=1.0; extra == "docs"
48
+ Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
50
49
  Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "docs"
51
50
  Requires-Dist: mkdocs-material~=9.5; extra == "docs"
52
51
  Provides-Extra: dev
53
- Requires-Dist: pylint; extra == "dev"
54
- Requires-Dist: isort; extra == "dev"
55
52
  Requires-Dist: flake8; extra == "dev"
53
+ Requires-Dist: isort; extra == "dev"
56
54
  Requires-Dist: black; extra == "dev"
55
+ Requires-Dist: pylint; extra == "dev"
56
+ Requires-Dist: bandit; extra == "dev"
57
57
  Provides-Extra: test
58
58
  Requires-Dist: coverage; extra == "test"
59
59
  Requires-Dist: tox; extra == "test"
60
60
  Provides-Extra: psql
61
+ Requires-Dist: dnspython[DOH]~=2.8.0; extra == "psql"
62
+ Requires-Dist: PyMySQL; extra == "psql"
63
+ Requires-Dist: python-box[all]~=7.3.2; extra == "psql"
64
+ Requires-Dist: requests[socks]<3; extra == "psql"
65
+ Requires-Dist: domain2idna~=1.12.0; extra == "psql"
61
66
  Requires-Dist: setuptools>=65.5.1; extra == "psql"
67
+ Requires-Dist: python-dotenv; extra == "psql"
68
+ Requires-Dist: SQLAlchemy~=2.0; extra == "psql"
62
69
  Requires-Dist: colorama; extra == "psql"
70
+ Requires-Dist: PyYAML; extra == "psql"
63
71
  Requires-Dist: psycopg2; extra == "psql"
64
- Requires-Dist: python-dotenv; extra == "psql"
65
- Requires-Dist: inflection; extra == "psql"
66
- Requires-Dist: alembic; extra == "psql"
67
72
  Requires-Dist: packaging; extra == "psql"
68
- Requires-Dist: python-box[all]~=6.1.0; extra == "psql"
69
- Requires-Dist: PyYAML; extra == "psql"
70
- Requires-Dist: requests[socks]<3; extra == "psql"
71
- Requires-Dist: PyMySQL; extra == "psql"
72
- Requires-Dist: SQLAlchemy~=2.0; extra == "psql"
73
- Requires-Dist: domain2idna~=1.12.0; extra == "psql"
74
- Requires-Dist: shtab; extra == "psql"
75
- Requires-Dist: dnspython[DOH]~=2.7.0; extra == "psql"
76
73
  Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "psql"
74
+ Requires-Dist: shtab; extra == "psql"
75
+ Requires-Dist: alembic; extra == "psql"
76
+ Requires-Dist: inflection; extra == "psql"
77
77
  Provides-Extra: psql-binary
78
- Requires-Dist: setuptools>=65.5.1; extra == "psql-binary"
79
- Requires-Dist: colorama; extra == "psql-binary"
80
- Requires-Dist: python-dotenv; extra == "psql-binary"
78
+ Requires-Dist: dnspython[DOH]~=2.8.0; extra == "psql-binary"
81
79
  Requires-Dist: psycopg2-binary; extra == "psql-binary"
82
- Requires-Dist: inflection; extra == "psql-binary"
83
- Requires-Dist: alembic; extra == "psql-binary"
84
- Requires-Dist: packaging; extra == "psql-binary"
85
- Requires-Dist: python-box[all]~=6.1.0; extra == "psql-binary"
86
- Requires-Dist: PyYAML; extra == "psql-binary"
87
- Requires-Dist: requests[socks]<3; extra == "psql-binary"
88
80
  Requires-Dist: PyMySQL; extra == "psql-binary"
89
- Requires-Dist: SQLAlchemy~=2.0; extra == "psql-binary"
81
+ Requires-Dist: python-box[all]~=7.3.2; extra == "psql-binary"
82
+ Requires-Dist: requests[socks]<3; extra == "psql-binary"
90
83
  Requires-Dist: domain2idna~=1.12.0; extra == "psql-binary"
91
- Requires-Dist: shtab; extra == "psql-binary"
92
- Requires-Dist: dnspython[DOH]~=2.7.0; extra == "psql-binary"
84
+ Requires-Dist: setuptools>=65.5.1; extra == "psql-binary"
85
+ Requires-Dist: python-dotenv; extra == "psql-binary"
86
+ Requires-Dist: SQLAlchemy~=2.0; extra == "psql-binary"
87
+ Requires-Dist: colorama; extra == "psql-binary"
88
+ Requires-Dist: PyYAML; extra == "psql-binary"
89
+ Requires-Dist: packaging; extra == "psql-binary"
93
90
  Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "psql-binary"
91
+ Requires-Dist: shtab; extra == "psql-binary"
92
+ Requires-Dist: alembic; extra == "psql-binary"
93
+ Requires-Dist: inflection; extra == "psql-binary"
94
94
  Provides-Extra: postgresql
95
+ Requires-Dist: dnspython[DOH]~=2.8.0; extra == "postgresql"
96
+ Requires-Dist: PyMySQL; extra == "postgresql"
97
+ Requires-Dist: python-box[all]~=7.3.2; extra == "postgresql"
98
+ Requires-Dist: requests[socks]<3; extra == "postgresql"
99
+ Requires-Dist: domain2idna~=1.12.0; extra == "postgresql"
95
100
  Requires-Dist: setuptools>=65.5.1; extra == "postgresql"
101
+ Requires-Dist: python-dotenv; extra == "postgresql"
102
+ Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql"
96
103
  Requires-Dist: colorama; extra == "postgresql"
104
+ Requires-Dist: PyYAML; extra == "postgresql"
97
105
  Requires-Dist: psycopg2; extra == "postgresql"
98
- Requires-Dist: python-dotenv; extra == "postgresql"
99
- Requires-Dist: inflection; extra == "postgresql"
100
- Requires-Dist: alembic; extra == "postgresql"
101
106
  Requires-Dist: packaging; extra == "postgresql"
102
- Requires-Dist: python-box[all]~=6.1.0; extra == "postgresql"
103
- Requires-Dist: PyYAML; extra == "postgresql"
104
- Requires-Dist: requests[socks]<3; extra == "postgresql"
105
- Requires-Dist: PyMySQL; extra == "postgresql"
106
- Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql"
107
- Requires-Dist: domain2idna~=1.12.0; extra == "postgresql"
108
- Requires-Dist: shtab; extra == "postgresql"
109
- Requires-Dist: dnspython[DOH]~=2.7.0; extra == "postgresql"
110
107
  Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "postgresql"
108
+ Requires-Dist: shtab; extra == "postgresql"
109
+ Requires-Dist: alembic; extra == "postgresql"
110
+ Requires-Dist: inflection; extra == "postgresql"
111
111
  Provides-Extra: postgresql-binary
112
- Requires-Dist: setuptools>=65.5.1; extra == "postgresql-binary"
113
- Requires-Dist: colorama; extra == "postgresql-binary"
114
- Requires-Dist: python-dotenv; extra == "postgresql-binary"
112
+ Requires-Dist: dnspython[DOH]~=2.8.0; extra == "postgresql-binary"
115
113
  Requires-Dist: psycopg2-binary; extra == "postgresql-binary"
116
- Requires-Dist: inflection; extra == "postgresql-binary"
117
- Requires-Dist: alembic; extra == "postgresql-binary"
118
- Requires-Dist: packaging; extra == "postgresql-binary"
119
- Requires-Dist: python-box[all]~=6.1.0; extra == "postgresql-binary"
120
- Requires-Dist: PyYAML; extra == "postgresql-binary"
121
- Requires-Dist: requests[socks]<3; extra == "postgresql-binary"
122
114
  Requires-Dist: PyMySQL; extra == "postgresql-binary"
123
- Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql-binary"
115
+ Requires-Dist: python-box[all]~=7.3.2; extra == "postgresql-binary"
116
+ Requires-Dist: requests[socks]<3; extra == "postgresql-binary"
124
117
  Requires-Dist: domain2idna~=1.12.0; extra == "postgresql-binary"
125
- Requires-Dist: shtab; extra == "postgresql-binary"
126
- Requires-Dist: dnspython[DOH]~=2.7.0; extra == "postgresql-binary"
118
+ Requires-Dist: setuptools>=65.5.1; extra == "postgresql-binary"
119
+ Requires-Dist: python-dotenv; extra == "postgresql-binary"
120
+ Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql-binary"
121
+ Requires-Dist: colorama; extra == "postgresql-binary"
122
+ Requires-Dist: PyYAML; extra == "postgresql-binary"
123
+ Requires-Dist: packaging; extra == "postgresql-binary"
127
124
  Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "postgresql-binary"
125
+ Requires-Dist: shtab; extra == "postgresql-binary"
126
+ Requires-Dist: alembic; extra == "postgresql-binary"
127
+ Requires-Dist: inflection; extra == "postgresql-binary"
128
128
  Provides-Extra: full
129
- Requires-Dist: setuptools>=65.5.1; extra == "full"
130
- Requires-Dist: pylint; extra == "full"
131
- Requires-Dist: isort; extra == "full"
132
- Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
133
- Requires-Dist: packaging; extra == "full"
129
+ Requires-Dist: python-box[all]~=7.3.2; extra == "full"
130
+ Requires-Dist: flake8; extra == "full"
131
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
132
+ Requires-Dist: domain2idna~=1.12.0; extra == "full"
133
+ Requires-Dist: tox; extra == "full"
134
134
  Requires-Dist: SQLAlchemy~=2.0; extra == "full"
135
- Requires-Dist: requests[socks]<3; extra == "full"
136
- Requires-Dist: shtab; extra == "full"
137
- Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "full"
138
135
  Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "full"
139
- Requires-Dist: colorama; extra == "full"
140
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "full"
141
- Requires-Dist: python-dotenv; extra == "full"
142
- Requires-Dist: mkdocs~=1.5; extra == "full"
143
- Requires-Dist: PyMySQL; extra == "full"
144
- Requires-Dist: dnspython[DOH]~=2.7.0; extra == "full"
145
- Requires-Dist: coverage; extra == "full"
146
- Requires-Dist: zipp>=3.19.1; extra == "full"
147
- Requires-Dist: tox; extra == "full"
148
- Requires-Dist: inflection; extra == "full"
149
- Requires-Dist: python-box[all]~=6.1.0; extra == "full"
150
136
  Requires-Dist: mkdocs-gen-files~=0.5; extra == "full"
151
- Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
137
+ Requires-Dist: isort; extra == "full"
138
+ Requires-Dist: coverage; extra == "full"
139
+ Requires-Dist: mkdocstrings[python]~=1.0; extra == "full"
152
140
  Requires-Dist: alembic; extra == "full"
141
+ Requires-Dist: inflection; extra == "full"
142
+ Requires-Dist: dnspython[DOH]~=2.8.0; extra == "full"
143
+ Requires-Dist: bandit; extra == "full"
144
+ Requires-Dist: PyMySQL; extra == "full"
145
+ Requires-Dist: colorama; extra == "full"
153
146
  Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
147
+ Requires-Dist: zipp>=3.19.1; extra == "full"
148
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "full"
149
+ Requires-Dist: mkdocs~=1.5; extra == "full"
150
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
151
+ Requires-Dist: setuptools>=65.5.1; extra == "full"
152
+ Requires-Dist: python-dotenv; extra == "full"
153
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
154
+ Requires-Dist: PyYAML; extra == "full"
155
+ Requires-Dist: packaging; extra == "full"
154
156
  Requires-Dist: pymdown-extensions~=10.9; extra == "full"
157
+ Requires-Dist: pylint; extra == "full"
158
+ Requires-Dist: requests[socks]<3; extra == "full"
159
+ Requires-Dist: shtab; extra == "full"
155
160
  Requires-Dist: black; extra == "full"
156
- Requires-Dist: flake8; extra == "full"
157
- Requires-Dist: PyYAML; extra == "full"
158
- Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
159
- Requires-Dist: domain2idna~=1.12.0; extra == "full"
160
161
  Requires-Dist: mkdocs-material~=9.5; extra == "full"
161
162
  Provides-Extra: all
162
- Requires-Dist: setuptools>=65.5.1; extra == "all"
163
- Requires-Dist: pylint; extra == "all"
164
- Requires-Dist: isort; extra == "all"
165
- Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "all"
166
- Requires-Dist: packaging; extra == "all"
163
+ Requires-Dist: psycopg2-binary; extra == "all"
164
+ Requires-Dist: python-box[all]~=7.3.2; extra == "all"
165
+ Requires-Dist: flake8; extra == "all"
166
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "all"
167
+ Requires-Dist: domain2idna~=1.12.0; extra == "all"
168
+ Requires-Dist: tox; extra == "all"
167
169
  Requires-Dist: SQLAlchemy~=2.0; extra == "all"
168
- Requires-Dist: requests[socks]<3; extra == "all"
169
- Requires-Dist: shtab; extra == "all"
170
- Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "all"
171
170
  Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "all"
172
- Requires-Dist: colorama; extra == "all"
173
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "all"
174
- Requires-Dist: python-dotenv; extra == "all"
175
- Requires-Dist: mkdocs~=1.5; extra == "all"
176
- Requires-Dist: PyMySQL; extra == "all"
177
- Requires-Dist: dnspython[DOH]~=2.7.0; extra == "all"
178
- Requires-Dist: coverage; extra == "all"
179
- Requires-Dist: zipp>=3.19.1; extra == "all"
180
- Requires-Dist: tox; extra == "all"
181
- Requires-Dist: psycopg2-binary; extra == "all"
182
- Requires-Dist: inflection; extra == "all"
183
- Requires-Dist: python-box[all]~=6.1.0; extra == "all"
184
171
  Requires-Dist: mkdocs-gen-files~=0.5; extra == "all"
185
- Requires-Dist: mkdocs-section-index~=0.3; extra == "all"
172
+ Requires-Dist: isort; extra == "all"
173
+ Requires-Dist: coverage; extra == "all"
174
+ Requires-Dist: mkdocstrings[python]~=1.0; extra == "all"
186
175
  Requires-Dist: alembic; extra == "all"
176
+ Requires-Dist: inflection; extra == "all"
177
+ Requires-Dist: dnspython[DOH]~=2.8.0; extra == "all"
178
+ Requires-Dist: bandit; extra == "all"
179
+ Requires-Dist: PyMySQL; extra == "all"
180
+ Requires-Dist: colorama; extra == "all"
187
181
  Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "all"
182
+ Requires-Dist: zipp>=3.19.1; extra == "all"
183
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "all"
184
+ Requires-Dist: mkdocs~=1.5; extra == "all"
185
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "all"
186
+ Requires-Dist: setuptools>=65.5.1; extra == "all"
187
+ Requires-Dist: python-dotenv; extra == "all"
188
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "all"
189
+ Requires-Dist: PyYAML; extra == "all"
190
+ Requires-Dist: packaging; extra == "all"
188
191
  Requires-Dist: pymdown-extensions~=10.9; extra == "all"
192
+ Requires-Dist: pylint; extra == "all"
193
+ Requires-Dist: requests[socks]<3; extra == "all"
194
+ Requires-Dist: shtab; extra == "all"
189
195
  Requires-Dist: black; extra == "all"
190
- Requires-Dist: flake8; extra == "all"
191
- Requires-Dist: PyYAML; extra == "all"
192
- Requires-Dist: mkdocs-literate-nav~=0.6; extra == "all"
193
- Requires-Dist: domain2idna~=1.12.0; extra == "all"
194
196
  Requires-Dist: mkdocs-material~=9.5; extra == "all"
195
197
  Dynamic: author
196
198
  Dynamic: author-email
@@ -633,7 +635,6 @@ contribution(s) and or issue report which made or make
633
635
  <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
634
636
  <!-- prettier-ignore-start -->
635
637
  <!-- markdownlint-disable -->
636
-
637
638
  <table>
638
639
  <tbody>
639
640
  <tr>
@@ -660,23 +661,23 @@ contribution(s) and or issue report which made or make
660
661
  <tr>
661
662
  <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>
662
663
  <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>
663
- <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>
664
664
  <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>
665
665
  <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>
666
+ <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>
666
667
  </tr>
667
668
  <tr>
668
- <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>
669
669
  <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>
670
670
  <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>
671
671
  <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>
672
672
  <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>
673
+ <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>
673
674
  </tr>
674
675
  <tr>
675
- <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>
676
676
  <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>
677
677
  <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>
678
678
  <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>
679
679
  <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>
680
+ <td align="center" valign="top" width="20%"><a href="https://github.com/tqpcharlie"><img src="https://avatars.githubusercontent.com/u/69423184?v=4?s=100" width="100px;" alt="tqpcharlie"/><br /><sub><b>tqpcharlie</b></sub></a><br /><a href="https://github.com/funilrys/PyFunceble/commits?author=tqpcharlie" title="Code">💻</a></td>
680
681
  </tr>
681
682
  <tr>
682
683
  <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,4 +52,6 @@ License:
52
52
 
53
53
  from PyFunceble.cli.credential_loader import CredentialLoader as credential_loader
54
54
 
55
+ # pylint: disable=invalid-name
56
+
55
57
  CredentialLoader = credential_loader()
@@ -52,4 +52,6 @@ License:
52
52
 
53
53
  from PyFunceble.database.session import DBSession as db_session
54
54
 
55
+ # pylint: disable=invalid-name
56
+
55
57
  DBSession = db_session()
@@ -77,7 +77,7 @@ class StatusFileGenerator(FilesystemDirBase):
77
77
 
78
78
  # pylint: disable=too-many-public-methods
79
79
 
80
- STD_HOSTS_IP: str = "0.0.0.0"
80
+ STD_HOSTS_IP: str = "0.0.0.0" # nosec: B104 # Default to non-routable IP
81
81
  STD_ALLOW_HOSTS_FILES: bool = True
82
82
  STD_ALLOW_PLAIN_FILES: bool = True
83
83
  STD_ALLOW_ANALYTIC_FILES: bool = True
@@ -106,8 +106,8 @@ class FileAndStatusMigrator(MariaDBMigratorBase):
106
106
 
107
107
  destination = get_destination_from_origin(file_info["path"])
108
108
 
109
- for status in self.get_rows(
110
- f"SELECT * from pyfunceble_status WHERE file_id = {file_info['id']}"
109
+ for status in self.get_rows( # nosec: B608 # Self-Controlled Input
110
+ "SELECT * from pyfunceble_status WHERE file_id = {file_info['id']}"
111
111
  ):
112
112
  if (
113
113
  self.continuous_integration
@@ -144,7 +144,9 @@ class FileAndStatusMigrator(MariaDBMigratorBase):
144
144
 
145
145
  # pylint: disable=line-too-long
146
146
  self.db_session.execute(
147
- text(f"DELETE from pyfunceble_status WHERE id = {status['id']}")
147
+ text(
148
+ f"DELETE from pyfunceble_status WHERE id = {status['id']}" # nosec: B608 # Self-Controlled Input
149
+ )
148
150
  )
149
151
  self.db_session.commit()
150
152
 
@@ -155,7 +157,9 @@ class FileAndStatusMigrator(MariaDBMigratorBase):
155
157
  if drop_table:
156
158
  # pylint: disable=line-too-long
157
159
  self.db_session.execute(
158
- text(f"DELETE from pyfunceble_file WHERE id = {file_info['id']}")
160
+ text(
161
+ f"DELETE from pyfunceble_file WHERE id = {file_info['id']}" # nosec: B608 # Self-Controlled Input
162
+ )
159
163
  )
160
164
  self.db_session.commit()
161
165
 
@@ -50,7 +50,7 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
- from datetime import datetime
53
+ from datetime import datetime, timezone
54
54
 
55
55
  from sqlalchemy import Column, DateTime, String, Text
56
56
 
@@ -66,5 +66,7 @@ class Continue(SchemaBase):
66
66
  checker_type = Column(String(length=50), nullable=False)
67
67
  destination = Column(Text, nullable=False)
68
68
  source = Column(Text, nullable=False)
69
- tested_at = Column(DateTime(), default=datetime.utcnow, nullable=False)
69
+ tested_at = Column(
70
+ DateTime(), default=lambda: datetime.now(tz=timezone.utc), nullable=False
71
+ )
70
72
  session_id = Column(Text, nullable=True, default=None)
@@ -50,7 +50,7 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
- from datetime import datetime
53
+ from datetime import datetime, timezone
54
54
 
55
55
  from sqlalchemy import Column, DateTime, String, Text
56
56
 
@@ -65,4 +65,6 @@ class Inactive(SchemaBase):
65
65
  idna_subject = Column(Text, nullable=False)
66
66
  checker_type = Column(String(length=50), nullable=False)
67
67
  destination = Column(Text, nullable=False)
68
- tested_at = Column(DateTime(), default=datetime.utcnow, nullable=False)
68
+ tested_at = Column(
69
+ DateTime(), default=lambda: datetime.now(tz=timezone.utc), nullable=False
70
+ )
@@ -50,7 +50,7 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
- from datetime import datetime
53
+ from datetime import datetime, timezone
54
54
 
55
55
  from sqlalchemy import Boolean, Column, DateTime, Integer, Text
56
56
 
@@ -83,4 +83,6 @@ class Status(SchemaBase):
83
83
  url_syntax_validation = Column(Boolean(), default=False, nullable=True)
84
84
  is_complement = Column(Boolean(), default=False, nullable=True)
85
85
  test_completed = Column(Boolean(), default=False, nullable=False)
86
- tested_at = Column(DateTime(), default=datetime.utcnow, nullable=False)
86
+ tested_at = Column(
87
+ DateTime(), default=lambda: datetime.now(tz=timezone.utc), nullable=False
88
+ )
@@ -50,16 +50,17 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
- from datetime import datetime
53
+ from datetime import datetime, timezone
54
54
 
55
55
  import inflection
56
56
  from sqlalchemy import BigInteger, Column, DateTime
57
- from sqlalchemy.ext.declarative import declarative_base, declared_attr
57
+ from sqlalchemy.ext.declarative import declared_attr
58
+ from sqlalchemy.orm import DeclarativeBase
58
59
 
59
60
  import PyFunceble.storage
60
61
 
61
62
 
62
- class OurSchemaBase:
63
+ class SchemaBase(DeclarativeBase):
63
64
  """
64
65
  Provides the base of all our schema.
65
66
  """
@@ -77,8 +78,14 @@ class OurSchemaBase:
77
78
  )
78
79
 
79
80
  id = Column(BigInteger, primary_key=True, nullable=False)
80
- created_at = Column(DateTime(), default=datetime.utcnow, nullable=False)
81
- modified_at = Column(DateTime(), default=datetime.utcnow, onupdate=datetime.utcnow)
81
+ created_at = Column(
82
+ DateTime(), default=lambda: datetime.now(tz=timezone.utc), nullable=False
83
+ )
84
+ modified_at = Column(
85
+ DateTime(),
86
+ default=lambda: datetime.now(tz=timezone.utc),
87
+ onupdate=lambda: datetime.now(tz=timezone.utc),
88
+ )
82
89
 
83
90
  def to_dict(self) -> dict:
84
91
  """
@@ -86,6 +93,3 @@ class OurSchemaBase:
86
93
  """
87
94
 
88
95
  return {x: y for x, y in self.__dict__.items() if not x.startswith("_sa")}
89
-
90
-
91
- SchemaBase = declarative_base(cls=OurSchemaBase)
@@ -211,7 +211,7 @@ class CSVDatasetBase(DBDatasetBase):
211
211
  row["tested_at"] = datetime.fromisoformat(
212
212
  row["tested_at"]
213
213
  ).astimezone(timezone.utc)
214
- except (TypeError, ValueError):
214
+ except (TypeError, ValueError, KeyError):
215
215
  row["tested_at"] = datetime.now(timezone.utc) - timedelta(
216
216
  days=365
217
217
  )
@@ -87,11 +87,15 @@ class CSVInactiveDataset(CSVDatasetBase, InactiveDatasetBase):
87
87
  date_of_inclusion = datetime.fromisoformat(
88
88
  dataset["tested_at"]
89
89
  ).astimezone(timezone.utc)
90
- except (TypeError, ValueError):
90
+ except (TypeError, ValueError, KeyError):
91
91
  date_of_inclusion = datetime.now(timezone.utc) - timedelta(days=365)
92
92
  else:
93
93
  date_of_inclusion = dataset["tested_at"]
94
94
 
95
+ if date_of_inclusion.tzinfo is None: # pragma: no cover
96
+ # Ensure that timezone is set.
97
+ date_of_inclusion = date_of_inclusion.replace(tzinfo=timezone.utc)
98
+
95
99
  if date_of_inclusion > days_ago:
96
100
  continue
97
101
 
@@ -101,7 +101,7 @@ class CSVWhoisDataset(CSVDatasetBase, WhoisDatasetBase):
101
101
  for row in super().get_content():
102
102
  try:
103
103
  row["epoch"] = float(row["epoch"])
104
- except (TypeError, ValueError):
104
+ except (TypeError, ValueError, KeyError):
105
105
  continue
106
106
 
107
107
  yield row