PyFunceble-dev 4.3.0a10__py3-none-any.whl → 4.3.0a11__py3-none-any.whl

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.
@@ -833,6 +833,25 @@ def get_output_control_group_data() -> List[Tuple[List[str], dict]]:
833
833
  "default": "all",
834
834
  },
835
835
  ),
836
+ (
837
+ ["--display-datetime"],
838
+ {
839
+ "dest": "cli_testing.display_mode.datetime",
840
+ "action": "store_true",
841
+ "help": "Activates or disables the display of the datetime of the\n"
842
+ "test. %s" % get_configured_value("cli_testing.display_mode.datetime"),
843
+ },
844
+ ),
845
+ (
846
+ ["--display-datetime-fmt"],
847
+ {
848
+ "dest": "cli_testing.display_mode.datetime_format",
849
+ "type": str,
850
+ "help": "Sets the datetime format to use when displaying the\n"
851
+ "datetime of the test. %s"
852
+ % get_configured_value("cli_testing.display_mode.datetime_format"),
853
+ },
854
+ ),
836
855
  (
837
856
  [
838
857
  "--dots",
@@ -53,7 +53,7 @@ License:
53
53
  import copy
54
54
  import functools
55
55
  import string
56
- from typing import Dict, List, Optional
56
+ from typing import Any, Callable, Dict, List, Optional
57
57
 
58
58
 
59
59
  class PrinterBase:
@@ -81,14 +81,15 @@ class PrinterBase:
81
81
  "minutes": 2,
82
82
  "seconds": 6,
83
83
  "registrar": 30,
84
+ "tested_at": 19,
84
85
  }
85
86
 
86
87
  TEMPLATES: Dict[str, string.Template] = {
87
88
  "all": string.Template(
88
89
  "$idna_subject $status $status_source $expiration_date $registrar "
89
- "$http_status_code $checker_type"
90
+ "$http_status_code $checker_type $tested_at"
90
91
  ),
91
- "less": string.Template("$idna_subject $status $status_source"),
92
+ "less": string.Template("$idna_subject $status $status_source $tested_at"),
92
93
  "simple": string.Template("$idna_subject $status"),
93
94
  "percentage": string.Template("$status $percentage $amount"),
94
95
  "hosts": string.Template("$ip $idna_subject"),
@@ -114,8 +115,11 @@ class PrinterBase:
114
115
  "minutes": "Minutes",
115
116
  "seconds": "Seconds",
116
117
  "registrar": "Registrar",
118
+ "tested_at": "Tested At",
117
119
  }
118
120
 
121
+ extra_formatters: Dict[str, Callable[..., Any]] = {}
122
+
119
123
  _template_to_use: Optional[str] = None
120
124
  _dataset: Optional[Dict[str, str]] = None
121
125
  _skip_column: Optional[List[str]] = []
@@ -126,6 +130,7 @@ class PrinterBase:
126
130
  *,
127
131
  dataset: Optional[Dict[str, str]] = None,
128
132
  skip_column: Optional[List[str]] = None,
133
+ extra_formatters: Optional[Dict[str, Callable[..., Any]]] = None,
129
134
  ) -> None:
130
135
  if template_to_use is not None:
131
136
  self.template_to_use = template_to_use
@@ -136,6 +141,9 @@ class PrinterBase:
136
141
  if skip_column is not None:
137
142
  self.skip_column = skip_column
138
143
 
144
+ if extra_formatters is not None:
145
+ self.extra_formatters.update(extra_formatters)
146
+
139
147
  def ensure_template_to_use_is_given(func): # pylint: disable=no-self-argument
140
148
  """
141
149
  Ensures that the template to use is given before launching the
@@ -315,9 +323,11 @@ class PrinterBase:
315
323
  continue
316
324
 
317
325
  if key in self.skip_column:
318
- self.TEMPLATES[self.template_to_use].template = self.TEMPLATES[
319
- self.template_to_use
320
- ].template.replace(f"${key} ", "")
326
+ self.TEMPLATES[self.template_to_use].template = (
327
+ self.TEMPLATES[self.template_to_use]
328
+ .template.replace(f"${key} ", "")
329
+ .replace(f" ${key}", "")
330
+ )
321
331
  continue
322
332
 
323
333
  to_print_data[0][key] = f"{value:<{self.STD_LENGTH[key]}}"
@@ -354,6 +364,9 @@ class PrinterBase:
354
364
  if not value and value != 0:
355
365
  value = self.STD_UNKNOWN
356
366
 
367
+ if key in self.extra_formatters:
368
+ value = self.extra_formatters[key](value)
369
+
357
370
  if self.template_to_use not in ignore_length:
358
371
  to_print[key] = f"{value:<{self.STD_LENGTH[key]}}"
359
372
  else:
@@ -106,12 +106,25 @@ class ProducerWorker(WorkerBase):
106
106
 
107
107
  def __post_init__(self) -> None:
108
108
  skip_columns = []
109
+ extra_formatters = {}
109
110
 
110
111
  if not PyFunceble.storage.CONFIGURATION.cli_testing.display_mode.registrar:
111
112
  skip_columns.append("registrar")
112
113
 
113
- self.stdout_printer = StdoutPrinter(skip_column=skip_columns)
114
- self.file_printer = FilePrinter(skip_column=skip_columns)
114
+ if not PyFunceble.storage.CONFIGURATION.cli_testing.display_mode.datetime:
115
+ skip_columns.append("tested_at")
116
+ else:
117
+ # pylint: disable=line-too-long
118
+ extra_formatters["tested_at"] = lambda x: x.strftime(
119
+ PyFunceble.storage.CONFIGURATION.cli_testing.display_mode.datetime_format
120
+ )
121
+
122
+ self.stdout_printer = StdoutPrinter(
123
+ skip_column=skip_columns, extra_formatters=extra_formatters
124
+ )
125
+ self.file_printer = FilePrinter(
126
+ skip_column=skip_columns, extra_formatters=extra_formatters
127
+ )
115
128
  self.whois_dataset = get_whois_dataset_object(db_session=self.db_session)
116
129
  self.inactive_dataset = get_inactive_dataset_object(db_session=self.db_session)
117
130
  self.continue_dataset = get_continue_databaset_object(
@@ -377,6 +377,20 @@ cli_testing:
377
377
  # CLI Argument: --max-registrar
378
378
  max_registrar: 15
379
379
 
380
+ # Enable/Disable the printing of the datetime of the test.
381
+ #
382
+ # CLI Argument: --display-datetime
383
+ datetime: no
384
+
385
+ # The format to use when displaying the datetime of the test.
386
+ #
387
+ # WARNING:
388
+ # This parameter is only taken into consideration when `datetime` is set
389
+ # to `yes`.
390
+ #
391
+ # CLI Argument: --display-datetime-fmt
392
+ datetime_format: "%Y-%m-%d %H:%M:%S"
393
+
380
394
  testing_mode:
381
395
  # Provides and select the testing mode.
382
396
  #
PyFunceble/storage.py CHANGED
@@ -60,7 +60,7 @@ from dotenv import load_dotenv
60
60
  from PyFunceble.storage_facility import get_config_directory
61
61
 
62
62
  PROJECT_NAME: str = "PyFunceble"
63
- PROJECT_VERSION: str = "4.3.0a10.dev (Blue Duckling: Tulip)"
63
+ PROJECT_VERSION: str = "4.3.0a11.dev (Blue Duckling: Tulip)"
64
64
 
65
65
  DISTRIBUTED_CONFIGURATION_FILENAME: str = ".PyFunceble_production.yaml"
66
66
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyFunceble-dev
3
- Version: 4.3.0a10
3
+ Version: 4.3.0a11
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,169 +22,169 @@ Classifier: License :: OSI Approved
22
22
  Requires-Python: >=3.9, <4
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE
25
- Requires-Dist: python-box[all]~=6.0.0
25
+ Requires-Dist: SQLAlchemy~=2.0
26
+ Requires-Dist: python-dotenv
27
+ Requires-Dist: PyYAML
28
+ Requires-Dist: dnspython[DOH]~=2.6.0
26
29
  Requires-Dist: colorama
30
+ Requires-Dist: inflection
27
31
  Requires-Dist: requests[socks]<3
28
- Requires-Dist: setuptools>=65.5.1
29
- Requires-Dist: dnspython[DOH]~=2.6.0
32
+ Requires-Dist: PyMySQL
33
+ Requires-Dist: domain2idna~=1.12.0
30
34
  Requires-Dist: alembic
31
35
  Requires-Dist: packaging
32
- Requires-Dist: python-dotenv
33
- Requires-Dist: SQLAlchemy~=2.0
34
- Requires-Dist: inflection
36
+ Requires-Dist: python-box[all]~=6.0.0
35
37
  Requires-Dist: shtab
36
- Requires-Dist: domain2idna~=1.12.0
37
- Requires-Dist: PyYAML
38
- Requires-Dist: PyMySQL
38
+ Requires-Dist: setuptools>=65.5.1
39
39
  Provides-Extra: docs
40
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "docs"
41
+ Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
42
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "docs"
40
43
  Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "docs"
41
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "docs"
42
- Requires-Dist: pymdown-extensions~=10.9; extra == "docs"
43
44
  Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
44
- Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
45
45
  Requires-Dist: mkdocs-material~=9.5; extra == "docs"
46
- Requires-Dist: mkdocs-section-index~=0.3; extra == "docs"
47
46
  Requires-Dist: mkdocs~=1.5; extra == "docs"
48
- Requires-Dist: mkdocs-literate-nav~=0.6; extra == "docs"
49
47
  Requires-Dist: zipp>=3.19.1; extra == "docs"
50
- Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "docs"
48
+ Requires-Dist: pymdown-extensions~=10.9; extra == "docs"
49
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "docs"
50
+ Requires-Dist: mkdocstrings[python]~=0.26; extra == "docs"
51
51
  Provides-Extra: dev
52
- Requires-Dist: black; extra == "dev"
53
52
  Requires-Dist: flake8; extra == "dev"
53
+ Requires-Dist: black; extra == "dev"
54
54
  Requires-Dist: pylint; extra == "dev"
55
55
  Requires-Dist: isort; extra == "dev"
56
56
  Provides-Extra: test
57
- Requires-Dist: tox; extra == "test"
58
57
  Requires-Dist: coverage; extra == "test"
58
+ Requires-Dist: tox; extra == "test"
59
59
  Provides-Extra: psql
60
- Requires-Dist: python-box[all]~=6.0.0; extra == "psql"
61
- Requires-Dist: psycopg2; extra == "psql"
60
+ Requires-Dist: SQLAlchemy~=2.0; extra == "psql"
61
+ Requires-Dist: python-dotenv; extra == "psql"
62
+ Requires-Dist: PyYAML; extra == "psql"
63
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql"
62
64
  Requires-Dist: colorama; extra == "psql"
65
+ Requires-Dist: inflection; extra == "psql"
63
66
  Requires-Dist: requests[socks]<3; extra == "psql"
64
- Requires-Dist: setuptools>=65.5.1; extra == "psql"
65
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql"
67
+ Requires-Dist: psycopg2; extra == "psql"
68
+ Requires-Dist: PyMySQL; extra == "psql"
69
+ Requires-Dist: domain2idna~=1.12.0; extra == "psql"
66
70
  Requires-Dist: alembic; extra == "psql"
67
71
  Requires-Dist: packaging; extra == "psql"
68
- Requires-Dist: python-dotenv; extra == "psql"
69
- Requires-Dist: SQLAlchemy~=2.0; extra == "psql"
70
- Requires-Dist: inflection; extra == "psql"
72
+ Requires-Dist: python-box[all]~=6.0.0; extra == "psql"
71
73
  Requires-Dist: shtab; extra == "psql"
72
- Requires-Dist: domain2idna~=1.12.0; extra == "psql"
73
- Requires-Dist: PyYAML; extra == "psql"
74
- Requires-Dist: PyMySQL; extra == "psql"
74
+ Requires-Dist: setuptools>=65.5.1; extra == "psql"
75
75
  Provides-Extra: psql-binary
76
- Requires-Dist: python-box[all]~=6.0.0; extra == "psql-binary"
76
+ Requires-Dist: SQLAlchemy~=2.0; extra == "psql-binary"
77
+ Requires-Dist: python-dotenv; extra == "psql-binary"
78
+ Requires-Dist: PyYAML; extra == "psql-binary"
79
+ Requires-Dist: psycopg2-binary; extra == "psql-binary"
80
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql-binary"
77
81
  Requires-Dist: colorama; extra == "psql-binary"
82
+ Requires-Dist: inflection; extra == "psql-binary"
78
83
  Requires-Dist: requests[socks]<3; extra == "psql-binary"
79
- Requires-Dist: setuptools>=65.5.1; extra == "psql-binary"
80
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql-binary"
84
+ Requires-Dist: PyMySQL; extra == "psql-binary"
85
+ Requires-Dist: domain2idna~=1.12.0; extra == "psql-binary"
81
86
  Requires-Dist: alembic; extra == "psql-binary"
82
87
  Requires-Dist: packaging; extra == "psql-binary"
83
- Requires-Dist: python-dotenv; extra == "psql-binary"
84
- Requires-Dist: psycopg2-binary; extra == "psql-binary"
85
- Requires-Dist: SQLAlchemy~=2.0; extra == "psql-binary"
86
- Requires-Dist: inflection; extra == "psql-binary"
88
+ Requires-Dist: python-box[all]~=6.0.0; extra == "psql-binary"
87
89
  Requires-Dist: shtab; extra == "psql-binary"
88
- Requires-Dist: domain2idna~=1.12.0; extra == "psql-binary"
89
- Requires-Dist: PyYAML; extra == "psql-binary"
90
- Requires-Dist: PyMySQL; extra == "psql-binary"
90
+ Requires-Dist: setuptools>=65.5.1; extra == "psql-binary"
91
91
  Provides-Extra: postgresql
92
- Requires-Dist: python-box[all]~=6.0.0; extra == "postgresql"
93
- Requires-Dist: psycopg2; extra == "postgresql"
92
+ Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql"
93
+ Requires-Dist: python-dotenv; extra == "postgresql"
94
+ Requires-Dist: PyYAML; extra == "postgresql"
95
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql"
94
96
  Requires-Dist: colorama; extra == "postgresql"
97
+ Requires-Dist: inflection; extra == "postgresql"
95
98
  Requires-Dist: requests[socks]<3; extra == "postgresql"
96
- Requires-Dist: setuptools>=65.5.1; extra == "postgresql"
97
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql"
99
+ Requires-Dist: psycopg2; extra == "postgresql"
100
+ Requires-Dist: PyMySQL; extra == "postgresql"
101
+ Requires-Dist: domain2idna~=1.12.0; extra == "postgresql"
98
102
  Requires-Dist: alembic; extra == "postgresql"
99
103
  Requires-Dist: packaging; extra == "postgresql"
100
- Requires-Dist: python-dotenv; extra == "postgresql"
101
- Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql"
102
- Requires-Dist: inflection; extra == "postgresql"
104
+ Requires-Dist: python-box[all]~=6.0.0; extra == "postgresql"
103
105
  Requires-Dist: shtab; extra == "postgresql"
104
- Requires-Dist: domain2idna~=1.12.0; extra == "postgresql"
105
- Requires-Dist: PyYAML; extra == "postgresql"
106
- Requires-Dist: PyMySQL; extra == "postgresql"
106
+ Requires-Dist: setuptools>=65.5.1; extra == "postgresql"
107
107
  Provides-Extra: postgresql-binary
108
- Requires-Dist: python-box[all]~=6.0.0; extra == "postgresql-binary"
108
+ Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql-binary"
109
+ Requires-Dist: python-dotenv; extra == "postgresql-binary"
110
+ Requires-Dist: PyYAML; extra == "postgresql-binary"
111
+ Requires-Dist: psycopg2-binary; extra == "postgresql-binary"
112
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql-binary"
109
113
  Requires-Dist: colorama; extra == "postgresql-binary"
114
+ Requires-Dist: inflection; extra == "postgresql-binary"
110
115
  Requires-Dist: requests[socks]<3; extra == "postgresql-binary"
111
- Requires-Dist: setuptools>=65.5.1; extra == "postgresql-binary"
112
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql-binary"
116
+ Requires-Dist: PyMySQL; extra == "postgresql-binary"
117
+ Requires-Dist: domain2idna~=1.12.0; extra == "postgresql-binary"
113
118
  Requires-Dist: alembic; extra == "postgresql-binary"
114
119
  Requires-Dist: packaging; extra == "postgresql-binary"
115
- Requires-Dist: python-dotenv; extra == "postgresql-binary"
116
- Requires-Dist: psycopg2-binary; extra == "postgresql-binary"
117
- Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql-binary"
118
- Requires-Dist: inflection; extra == "postgresql-binary"
120
+ Requires-Dist: python-box[all]~=6.0.0; extra == "postgresql-binary"
119
121
  Requires-Dist: shtab; extra == "postgresql-binary"
120
- Requires-Dist: domain2idna~=1.12.0; extra == "postgresql-binary"
121
- Requires-Dist: PyYAML; extra == "postgresql-binary"
122
- Requires-Dist: PyMySQL; extra == "postgresql-binary"
122
+ Requires-Dist: setuptools>=65.5.1; extra == "postgresql-binary"
123
123
  Provides-Extra: full
124
- Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
125
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "full"
126
- Requires-Dist: isort; extra == "full"
127
- Requires-Dist: packaging; extra == "full"
128
- Requires-Dist: shtab; extra == "full"
129
- Requires-Dist: requests[socks]<3; extra == "full"
130
- Requires-Dist: tox; extra == "full"
131
- Requires-Dist: mkdocs-gen-files~=0.5; extra == "full"
132
- Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
124
+ Requires-Dist: black; extra == "full"
125
+ Requires-Dist: python-dotenv; extra == "full"
126
+ Requires-Dist: colorama; extra == "full"
127
+ Requires-Dist: mkdocs-material~=9.5; extra == "full"
128
+ Requires-Dist: zipp>=3.19.1; extra == "full"
133
129
  Requires-Dist: alembic; extra == "full"
130
+ Requires-Dist: packaging; extra == "full"
131
+ Requires-Dist: setuptools>=65.5.1; extra == "full"
134
132
  Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
135
- Requires-Dist: python-box[all]~=6.0.0; extra == "full"
136
- Requires-Dist: black; extra == "full"
137
- Requires-Dist: domain2idna~=1.12.0; extra == "full"
133
+ Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
138
134
  Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "full"
139
- Requires-Dist: colorama; extra == "full"
140
- Requires-Dist: python-dotenv; extra == "full"
135
+ Requires-Dist: requests[socks]<3; extra == "full"
136
+ Requires-Dist: mkdocs~=1.5; extra == "full"
137
+ Requires-Dist: python-box[all]~=6.0.0; extra == "full"
141
138
  Requires-Dist: SQLAlchemy~=2.0; extra == "full"
142
- Requires-Dist: zipp>=3.19.1; extra == "full"
139
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
140
+ Requires-Dist: mkdocs-gen-files~=0.5; extra == "full"
143
141
  Requires-Dist: PyYAML; extra == "full"
144
- Requires-Dist: coverage; extra == "full"
145
- Requires-Dist: pymdown-extensions~=10.9; extra == "full"
146
- Requires-Dist: mkdocs-material~=9.5; extra == "full"
147
- Requires-Dist: setuptools>=65.5.1; extra == "full"
148
142
  Requires-Dist: dnspython[DOH]~=2.6.0; extra == "full"
143
+ Requires-Dist: PyMySQL; extra == "full"
144
+ Requires-Dist: domain2idna~=1.12.0; extra == "full"
145
+ Requires-Dist: pymdown-extensions~=10.9; extra == "full"
146
+ Requires-Dist: coverage; extra == "full"
149
147
  Requires-Dist: flake8; extra == "full"
150
- Requires-Dist: mkdocs~=1.5; extra == "full"
151
- Requires-Dist: pylint; extra == "full"
148
+ Requires-Dist: mkdocstrings[python]~=0.26; extra == "full"
152
149
  Requires-Dist: inflection; extra == "full"
153
- Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
154
- Requires-Dist: PyMySQL; extra == "full"
150
+ Requires-Dist: pylint; extra == "full"
151
+ Requires-Dist: tox; extra == "full"
152
+ Requires-Dist: shtab; extra == "full"
153
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
154
+ Requires-Dist: isort; extra == "full"
155
155
  Provides-Extra: all
156
- Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "all"
157
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "all"
158
- Requires-Dist: isort; extra == "all"
159
- Requires-Dist: packaging; extra == "all"
160
- Requires-Dist: shtab; extra == "all"
161
- Requires-Dist: requests[socks]<3; extra == "all"
162
- Requires-Dist: tox; extra == "all"
163
- Requires-Dist: mkdocs-gen-files~=0.5; extra == "all"
164
- Requires-Dist: mkdocs-section-index~=0.3; extra == "all"
165
- Requires-Dist: alembic; extra == "all"
166
- Requires-Dist: mkdocs-literate-nav~=0.6; extra == "all"
167
- Requires-Dist: python-box[all]~=6.0.0; extra == "all"
168
156
  Requires-Dist: black; extra == "all"
169
- Requires-Dist: domain2idna~=1.12.0; extra == "all"
170
- Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "all"
171
- Requires-Dist: colorama; extra == "all"
172
157
  Requires-Dist: python-dotenv; extra == "all"
173
- Requires-Dist: SQLAlchemy~=2.0; extra == "all"
174
- Requires-Dist: zipp>=3.19.1; extra == "all"
175
- Requires-Dist: PyYAML; extra == "all"
176
- Requires-Dist: coverage; extra == "all"
177
- Requires-Dist: pymdown-extensions~=10.9; extra == "all"
158
+ Requires-Dist: colorama; extra == "all"
178
159
  Requires-Dist: mkdocs-material~=9.5; extra == "all"
160
+ Requires-Dist: zipp>=3.19.1; extra == "all"
161
+ Requires-Dist: alembic; extra == "all"
162
+ Requires-Dist: packaging; extra == "all"
179
163
  Requires-Dist: setuptools>=65.5.1; extra == "all"
180
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "all"
164
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "all"
165
+ Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "all"
181
166
  Requires-Dist: psycopg2-binary; extra == "all"
182
- Requires-Dist: flake8; extra == "all"
167
+ Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "all"
168
+ Requires-Dist: requests[socks]<3; extra == "all"
183
169
  Requires-Dist: mkdocs~=1.5; extra == "all"
184
- Requires-Dist: pylint; extra == "all"
185
- Requires-Dist: inflection; extra == "all"
170
+ Requires-Dist: python-box[all]~=6.0.0; extra == "all"
171
+ Requires-Dist: SQLAlchemy~=2.0; extra == "all"
186
172
  Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "all"
173
+ Requires-Dist: mkdocs-gen-files~=0.5; extra == "all"
174
+ Requires-Dist: PyYAML; extra == "all"
175
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "all"
187
176
  Requires-Dist: PyMySQL; extra == "all"
177
+ Requires-Dist: domain2idna~=1.12.0; extra == "all"
178
+ Requires-Dist: pymdown-extensions~=10.9; extra == "all"
179
+ Requires-Dist: coverage; extra == "all"
180
+ Requires-Dist: flake8; extra == "all"
181
+ Requires-Dist: mkdocstrings[python]~=0.26; extra == "all"
182
+ Requires-Dist: inflection; extra == "all"
183
+ Requires-Dist: pylint; extra == "all"
184
+ Requires-Dist: tox; extra == "all"
185
+ Requires-Dist: shtab; extra == "all"
186
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "all"
187
+ Requires-Dist: isort; extra == "all"
188
188
 
189
189
  ![image](https://raw.githubusercontent.com/PyFunceble/logo/dev/Green/HD/RM.png)
190
190
 
@@ -4,7 +4,7 @@ PyFunceble/facility.py,sha256=hyEzCCTOgtAS0x88uEtv9xNwIXnDCDvgq5RHcPNDE-A,2626
4
4
  PyFunceble/factory.py,sha256=ETvTe1Ss3VaIhSBOj-ro80XFAYiknsGG9B5oKpubr2s,2576
5
5
  PyFunceble/logger.py,sha256=pmValhdu0XB34FrK1rSgOAhr4spQ8a3QbqQ26jpJHa0,16815
6
6
  PyFunceble/sessions.py,sha256=juHBKHSuVd-tAEIMRj3RXyGyUhZQLEBmeMssd_5qo1U,2568
7
- PyFunceble/storage.py,sha256=X35auX_MMppw97ZumraS9xS9LbAsKWRZY4X144QqZi8,5349
7
+ PyFunceble/storage.py,sha256=f3OCictFWQXzLuitSpdIxhLeBEO8WEa0lp35N0GmPCg,5349
8
8
  PyFunceble/storage_facility.py,sha256=uvW91dOTxF7-2nXxIp2xGI5sDRABBoGMA7D9xfemfGk,4819
9
9
  PyFunceble/checker/__init__.py,sha256=jSCfY25VNBrxLECSgNwU6kTGSl0bM1_JLl_UKvtKP6w,2430
10
10
  PyFunceble/checker/base.py,sha256=WP9Rjl6rvsq69oCaG4a5WDhoWofMpyxfa4K-WY27Gxw,13615
@@ -73,7 +73,7 @@ PyFunceble/cli/entry_points/production.py,sha256=dURFC6pq3cPmdECFea-q8KtJtuH2SoD
73
73
  PyFunceble/cli/entry_points/public_suffix.py,sha256=ES0r2xEhr197fasJlBtqO78RLAXgVVB58L6wIlSC1q0,4332
74
74
  PyFunceble/cli/entry_points/pyfunceble/__init__.py,sha256=RQ_anWOFdIlU2AVC7i_iKcj_Tq-qttbNwHe0HWVBCms,2485
75
75
  PyFunceble/cli/entry_points/pyfunceble/argsparser.py,sha256=FY3H6IcvHcKs2hIbXQBcjslPALc4AYhRwqvCdpU1Gd4,4748
76
- PyFunceble/cli/entry_points/pyfunceble/cli.py,sha256=oW9QT3r8I8HzRVNN4gjNz9kbizNF7AOSJW56KnbTz7c,48335
76
+ PyFunceble/cli/entry_points/pyfunceble/cli.py,sha256=NKau-A0x8GDw5ZEqXcfchRvVDdr9C4quU9z0daCody8,49089
77
77
  PyFunceble/cli/filesystem/__init__.py,sha256=eIS11poQbnYOC9PhQJ2cRuh4_qiPLJdS9O4RkiJD3HA,2483
78
78
  PyFunceble/cli/filesystem/cleanup.py,sha256=4Q04KAfHlkp0NiHmDN_BVuv2QBRN-D_5vJybE7Ohw2E,4813
79
79
  PyFunceble/cli/filesystem/counter.py,sha256=Fp1Tp81hw5T6gY6NBW9hNL7U1vweotNt8plWRwbXtfM,6963
@@ -86,7 +86,7 @@ PyFunceble/cli/filesystem/dir_structure/backup.py,sha256=IomFlcp6XMPbvFrGiqSreo8
86
86
  PyFunceble/cli/filesystem/dir_structure/base.py,sha256=5hYk53WMjQ9glZhYXYLulEPF57EpWBtCPK2QtLywk-4,5314
87
87
  PyFunceble/cli/filesystem/dir_structure/restore.py,sha256=WxERB43nqD4o0LjpdKJl3nenKaFc1KXed8C_gkaQouw,5869
88
88
  PyFunceble/cli/filesystem/printer/__init__.py,sha256=7f7CgyOD7Rr2E5IGw99XiO1b_VSH_Nb6T6klH3gDJfM,2484
89
- PyFunceble/cli/filesystem/printer/base.py,sha256=9SG2gSB6eRJyyQPlpX8qTX7QtFVKb39m5idsJC8v6Oo,12251
89
+ PyFunceble/cli/filesystem/printer/base.py,sha256=ZEFxTFvcn2hdKtwvdZ6GbXsUIwlK0VHL1NyHKBitBEE,12760
90
90
  PyFunceble/cli/filesystem/printer/file.py,sha256=YqUXB1-Bw7INYhX7RdQgmRc7LDxDLdEEnq77ALifoOY,6858
91
91
  PyFunceble/cli/filesystem/printer/stdout.py,sha256=eWAKQf1bUANLZwQDvEibw6MmDLo-nM3iy7YAv70iu8c,7695
92
92
  PyFunceble/cli/migrators/__init__.py,sha256=SNg9YIhkG_Uv5E6GtGnmD2hjeAD6Pno5U7-clQdWo0g,2438
@@ -129,7 +129,7 @@ PyFunceble/cli/processes/workers/file_sorter.py,sha256=OEAsOFBUyM1mFt9AEFfN8-_mQ
129
129
  PyFunceble/cli/processes/workers/file_sorter_base.py,sha256=KodJbkydFNRb3_2t1OcQ9qx5ersi3N-SG8uxFMjsYpg,8002
130
130
  PyFunceble/cli/processes/workers/migrator.py,sha256=9G7uAkXNdIqSoQAcbW1LjznmPoTKh0Hg6703HZH4w98,3477
131
131
  PyFunceble/cli/processes/workers/miner.py,sha256=Xxr3lSAinfpNfL-S1DPWjWoYqDzFC_DM8kh1L2UGx9o,6991
132
- PyFunceble/cli/processes/workers/producer.py,sha256=wXMyR8TIlPqW4dLZAifMRb77H41bjcCRZv7UJL4D0ow,17352
132
+ PyFunceble/cli/processes/workers/producer.py,sha256=aqMimnzbyV4Ue88R69lOOowNEcN6IJ71XZIccBvzylM,17853
133
133
  PyFunceble/cli/processes/workers/tester.py,sha256=WRRYbWWckww1LuF_5wJTUPKVRpNMMZpdne90_cclpwo,11598
134
134
  PyFunceble/cli/scripts/__init__.py,sha256=iAXtKOkDEGrBa-zuzvVjGKH1PgjcxnGujMZzZqWj7T0,2437
135
135
  PyFunceble/cli/scripts/iana.py,sha256=VLZiLhvLx-LFpAiS0FIq4KGqsgYAM59e1EMPFR6x-Us,10346
@@ -184,7 +184,7 @@ PyFunceble/data/alembic/postgresql/env.py,sha256=UfJff9bY99TTC0z9bQgsm17NqsGnLmz
184
184
  PyFunceble/data/alembic/postgresql/script.py.mako,sha256=8_xgA-gm_OhehnO7CiIijWgnm00ZlszEHtIHrAYFJl0,494
185
185
  PyFunceble/data/alembic/postgresql/versions/__init__.py,sha256=5E57ZZeUcnx4sgc3LJh6e6bjgeaQhS4W-f2UVuUYsrs,2452
186
186
  PyFunceble/data/alembic/postgresql/versions/a32ac5d66eee_initial_version.py,sha256=xJdnoCnHAG1vmt-nBeomuIEDRwUK1Upv1mtkUt1txQM,2487
187
- PyFunceble/data/infrastructure/.PyFunceble_production.yaml,sha256=gw0EUuaANnTMZ7xJAeevZXodJXBnB9lVMbJ81uhCADY,24636
187
+ PyFunceble/data/infrastructure/.PyFunceble_production.yaml,sha256=jo7HzfMXit3U3y-MrJQ2z8REz5PMidx_aFPlL32-LKc,25037
188
188
  PyFunceble/data/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
189
  PyFunceble/data/infrastructure/dir_structure_production.json,sha256=XpWin49SkoWu3pvnsoNlbNh6j9MlTGVKkvTmX99jZkM,5722
190
190
  PyFunceble/database/__init__.py,sha256=r8zmExtTZguf07GzlaYW5hz11DCC1C6qeU3XvkSQXSU,2492
@@ -275,9 +275,9 @@ PyFunceble/utils/__init__.py,sha256=Vnhd0wNrWJulWwUUK-vlv5VWBiKfSnXtI2XH_FyYkBA,
275
275
  PyFunceble/utils/platform.py,sha256=JA6rc6Uyx6czNWR9917HGB-EZyMjMK17kUVagMtEEjs,3906
276
276
  PyFunceble/utils/profile.py,sha256=f9FsKuiN3ScftqqrZ3yGpcIFqGSf616dPT_QvBduqxw,4552
277
277
  PyFunceble/utils/version.py,sha256=LvSiIrQWztuQ1qT7ekiDvh5TateyVRGMFRui73O4wFQ,8371
278
- PyFunceble_dev-4.3.0a10.dist-info/LICENSE,sha256=JBG6UfPnf3940AtwZB6vwAK6YH82Eo6nzMVnjGqopF0,10796
279
- PyFunceble_dev-4.3.0a10.dist-info/METADATA,sha256=h3h6u3_sSbsHwFX9jO5OnDb2Ba2JUUx1QkliDqX_7SI,46666
280
- PyFunceble_dev-4.3.0a10.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
281
- PyFunceble_dev-4.3.0a10.dist-info/entry_points.txt,sha256=Ic1suwopOi_XTgiQi2ErtpY5xT3R8EFMI6B_ONDuR9E,201
282
- PyFunceble_dev-4.3.0a10.dist-info/top_level.txt,sha256=J7GBKIiNYv93m1AxLy8_gr6ExXyZbMmCVXHMQBTUq2Y,11
283
- PyFunceble_dev-4.3.0a10.dist-info/RECORD,,
278
+ PyFunceble_dev-4.3.0a11.dist-info/LICENSE,sha256=JBG6UfPnf3940AtwZB6vwAK6YH82Eo6nzMVnjGqopF0,10796
279
+ PyFunceble_dev-4.3.0a11.dist-info/METADATA,sha256=HOJ7Wu2XknnvEQv_5VDlcLtLStBUwb-ImUVf9npYgTk,46666
280
+ PyFunceble_dev-4.3.0a11.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
281
+ PyFunceble_dev-4.3.0a11.dist-info/entry_points.txt,sha256=Ic1suwopOi_XTgiQi2ErtpY5xT3R8EFMI6B_ONDuR9E,201
282
+ PyFunceble_dev-4.3.0a11.dist-info/top_level.txt,sha256=J7GBKIiNYv93m1AxLy8_gr6ExXyZbMmCVXHMQBTUq2Y,11
283
+ PyFunceble_dev-4.3.0a11.dist-info/RECORD,,