PyFunceble-dev 4.3.0a20__py3-none-any.whl → 4.3.0a23__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.
@@ -58,7 +58,6 @@ from typing import Dict, List, Optional
58
58
 
59
59
  from sqlalchemy.orm import Session
60
60
 
61
- import PyFunceble.checker.utils.whois
62
61
  import PyFunceble.facility
63
62
  import PyFunceble.storage
64
63
  from PyFunceble.checker.availability.extras.base import ExtraRuleHandlerBase
@@ -75,6 +74,7 @@ from PyFunceble.checker.base import CheckerBase
75
74
  from PyFunceble.checker.syntax.domain import DomainSyntaxChecker
76
75
  from PyFunceble.checker.syntax.ip import IPSyntaxChecker
77
76
  from PyFunceble.checker.syntax.url import URLSyntaxChecker
77
+ from PyFunceble.checker.utils.whois import get_whois_dataset_object
78
78
  from PyFunceble.converter.url2netloc import Url2Netloc
79
79
  from PyFunceble.query.dns.query_tool import DNSQueryTool
80
80
  from PyFunceble.query.http_status_code import HTTPStatusCode
@@ -758,9 +758,7 @@ class AvailabilityCheckerBase(CheckerBase):
758
758
  if (
759
759
  PyFunceble.facility.ConfigLoader.is_already_loaded() and self.use_whois_db
760
760
  ): # pragma: no cover ## Not interesting enough to spend time on it.
761
- whois_object = PyFunceble.checker.utils.whois.get_whois_dataset_object(
762
- db_session=self.db_session
763
- )
761
+ whois_object = get_whois_dataset_object(db_session=self.db_session)
764
762
  known_record = whois_object[self.subject]
765
763
 
766
764
  if known_record and not isinstance(known_record, dict):
@@ -134,13 +134,18 @@ def add_arguments_to_parser(
134
134
  if "dest" in opt_args:
135
135
  opt_args["dest"] = opt_args["dest"].replace(".", "__")
136
136
 
137
+ complete_value = opt_args.pop("complete", None)
138
+
137
139
  for index, value in enumerate(pos_args):
138
140
  if value.startswith("-") and "." not in value:
139
141
  continue
140
142
 
141
143
  pos_args[index] = value.replace(".", "__")
142
144
 
143
- parser.add_argument(*pos_args, **opt_args)
145
+ if not complete_value:
146
+ parser.add_argument(*pos_args, **opt_args)
147
+ else:
148
+ parser.add_argument(*pos_args, **opt_args).complete = complete_value
144
149
 
145
150
 
146
151
  def get_source_group_data() -> List[Tuple[List[str], dict]]:
@@ -188,6 +193,7 @@ def get_source_group_data() -> List[Tuple[List[str], dict]]:
188
193
  "\nIf remote (RAW link) file is given, PyFunceble will download "
189
194
  "it,\n and test the content of the given RAW link as if it was a"
190
195
  " locally stored file.",
196
+ "complete": shtab.FILE,
191
197
  },
192
198
  ),
193
199
  (
@@ -206,6 +212,7 @@ def get_source_group_data() -> List[Tuple[List[str], dict]]:
206
212
  " locally stored file. "
207
213
  "\n\nThis argument test if an URL is available. It ONLY test "
208
214
  "full URLs.",
215
+ "complete": shtab.FILE,
209
216
  },
210
217
  ),
211
218
  ]
@@ -1242,6 +1249,7 @@ def get_default_group_data() -> List[Tuple[List[str], dict]]:
1242
1249
  "help": "Sets the configuration file to use. It can be a\n"
1243
1250
  "local or remote file. Please note that this configuration can be\n"
1244
1251
  "overwritten by your overwrite configuration file.",
1252
+ "complete": shtab.FILE,
1245
1253
  },
1246
1254
  ),
1247
1255
  (
@@ -1252,6 +1260,7 @@ def get_default_group_data() -> List[Tuple[List[str], dict]]:
1252
1260
  "dest": "config_dir",
1253
1261
  "type": os.path.realpath,
1254
1262
  "help": "Sets the configuration directory to use.",
1263
+ "complete": shtab.DIRECTORY,
1255
1264
  },
1256
1265
  ),
1257
1266
  ]
@@ -55,7 +55,6 @@ from typing import Optional
55
55
  import colorama
56
56
  from sqlalchemy.orm import Session
57
57
 
58
- import PyFunceble.checker.utils.whois
59
58
  import PyFunceble.cli.utils.stdout
60
59
  import PyFunceble.cli.utils.testing
61
60
  import PyFunceble.facility
@@ -69,7 +69,6 @@ import domain2idna
69
69
  import sqlalchemy.exc
70
70
  from sqlalchemy.orm import Session
71
71
 
72
- import PyFunceble.checker.utils.whois
73
72
  import PyFunceble.cli.storage
74
73
  import PyFunceble.cli.utils.ascii_logo
75
74
  import PyFunceble.cli.utils.sort
@@ -78,6 +77,7 @@ import PyFunceble.facility
78
77
  import PyFunceble.helpers.exceptions
79
78
  import PyFunceble.storage
80
79
  from PyFunceble.checker.syntax.url import URLSyntaxChecker
80
+ from PyFunceble.checker.utils.whois import get_whois_dataset_object
81
81
  from PyFunceble.cli.continuous_integration.base import ContinuousIntegrationBase
82
82
  from PyFunceble.cli.continuous_integration.exceptions import StopExecution
83
83
  from PyFunceble.cli.continuous_integration.utils import ci_object
@@ -119,6 +119,7 @@ from PyFunceble.converter.wildcard2subject import Wildcard2Subject
119
119
  from PyFunceble.dataset.autocontinue.base import ContinueDatasetBase
120
120
  from PyFunceble.dataset.autocontinue.csv import CSVContinueDataset
121
121
  from PyFunceble.dataset.inactive.base import InactiveDatasetBase
122
+ from PyFunceble.dataset.whois.base import WhoisDatasetBase
122
123
  from PyFunceble.helpers.directory import DirectoryHelper
123
124
  from PyFunceble.helpers.download import DownloadHelper
124
125
  from PyFunceble.helpers.file import FileHelper
@@ -167,6 +168,7 @@ class SystemLauncher(SystemBase):
167
168
 
168
169
  continue_dataset: Optional[ContinueDatasetBase] = None
169
170
  inactive_dataset: Optional[InactiveDatasetBase] = None
171
+ whois_dataset: Optional[WhoisDatasetBase] = None
170
172
  continuous_integration: Optional[ContinuousIntegrationBase] = None
171
173
 
172
174
  db_session: Optional[Session] = None
@@ -189,6 +191,7 @@ class SystemLauncher(SystemBase):
189
191
  db_session=self.db_session
190
192
  )
191
193
  self.inactive_dataset = get_inactive_dataset_object(db_session=self.db_session)
194
+ self.whois_dataset = get_whois_dataset_object(db_session=self.db_session)
192
195
  self.continuous_integration = ci_object()
193
196
 
194
197
  if self.continuous_integration.authorized:
@@ -1019,6 +1022,7 @@ class SystemLauncher(SystemBase):
1019
1022
  remove_continue_dataset(protocol)
1020
1023
  remove_preload_dataset(protocol)
1021
1024
  remove_inline_dest(protocol)
1025
+ self.whois_dataset.cleanup()
1022
1026
 
1023
1027
  return self
1024
1028
 
@@ -123,7 +123,9 @@ class AdblockInputLine2Subject(ConverterBase):
123
123
  Giving :code:`"hello.world/?is=beautiful"` returns :code:`"hello.world"`
124
124
  """
125
125
 
126
- subject = subject.replace("*", "").replace("~", "")
126
+ subject = (
127
+ subject.replace("*", "").replace("~", "").replace('"', "").replace("'", "")
128
+ )
127
129
 
128
130
  try:
129
131
  return Url2Netloc(subject).get_converted()
@@ -175,11 +177,12 @@ class AdblockInputLine2Subject(ConverterBase):
175
177
 
176
178
  if "href" in rule:
177
179
  matched = self._regex_helper.set_regex(
178
- r"((?:\"|\')(.*)(?:\"|\'))"
179
- ).match(rule, return_match=True, rematch=True, group=1)
180
+ r"((?:\"|\')(.*?)(?:\"|\'))"
181
+ ).match(rule, return_match=True, rematch=True)
180
182
 
181
183
  if matched:
182
- result.add(self.extract_base(matched))
184
+ result.update(self.extract_base(x) for x in matched)
185
+
183
186
  continue
184
187
 
185
188
  return result
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.0a20.dev (Blue Duckling: Tulip)"
63
+ PROJECT_VERSION: str = "4.3.0a23.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.4
2
2
  Name: PyFunceble-dev
3
- Version: 4.3.0a20
3
+ Version: 4.3.0a23
4
4
  Summary: The tool to check the availability or syntax of domain, IP or URL.
5
5
  Home-page: https://github.com/funilrys/PyFunceble
6
6
  Author: funilrys
@@ -22,176 +22,176 @@ Classifier: License :: OSI Approved
22
22
  Requires-Python: >=3.9, <4
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE
25
- Requires-Dist: python-box[all]~=6.0.0
26
- Requires-Dist: inflection
27
- Requires-Dist: PyYAML
28
- Requires-Dist: requests[socks]<3
29
- Requires-Dist: python-dotenv
25
+ Requires-Dist: dnspython[DOH]~=2.6.0
30
26
  Requires-Dist: packaging
31
27
  Requires-Dist: setuptools>=65.5.1
28
+ Requires-Dist: pyfunceble-process-manager==1.0.10
29
+ Requires-Dist: PyYAML
30
+ Requires-Dist: requests[socks]<3
32
31
  Requires-Dist: SQLAlchemy~=2.0
33
- Requires-Dist: shtab
34
32
  Requires-Dist: domain2idna~=1.12.0
33
+ Requires-Dist: colorama
35
34
  Requires-Dist: PyMySQL
36
- Requires-Dist: pyfunceble-process-manager==1.0.10
37
- Requires-Dist: dnspython[DOH]~=2.6.0
35
+ Requires-Dist: python-box[all]~=6.0.0
36
+ Requires-Dist: inflection
37
+ Requires-Dist: shtab
38
38
  Requires-Dist: alembic
39
- Requires-Dist: colorama
39
+ Requires-Dist: python-dotenv
40
40
  Provides-Extra: docs
41
- Requires-Dist: mkdocs-section-index~=0.3; extra == "docs"
42
41
  Requires-Dist: mkdocstrings[python]~=0.26; extra == "docs"
43
- Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "docs"
42
+ Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
43
+ Requires-Dist: zipp>=3.19.1; extra == "docs"
44
44
  Requires-Dist: mkdocs~=1.5; extra == "docs"
45
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "docs"
46
+ Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "docs"
47
+ Requires-Dist: mkdocs-literate-nav~=0.6; extra == "docs"
48
+ Requires-Dist: mkdocs-material~=9.5; extra == "docs"
45
49
  Requires-Dist: pymdown-extensions~=10.9; extra == "docs"
46
- Requires-Dist: zipp>=3.19.1; extra == "docs"
47
50
  Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "docs"
48
51
  Requires-Dist: mkdocs-gen-files~=0.5; extra == "docs"
49
- Requires-Dist: mkdocs-literate-nav~=0.6; extra == "docs"
50
- Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "docs"
51
- Requires-Dist: mkdocs-material~=9.5; extra == "docs"
52
52
  Provides-Extra: dev
53
- Requires-Dist: pylint; extra == "dev"
53
+ Requires-Dist: black; extra == "dev"
54
54
  Requires-Dist: flake8; extra == "dev"
55
55
  Requires-Dist: isort; extra == "dev"
56
- Requires-Dist: black; extra == "dev"
56
+ Requires-Dist: pylint; extra == "dev"
57
57
  Provides-Extra: test
58
- Requires-Dist: coverage; extra == "test"
59
58
  Requires-Dist: tox; extra == "test"
59
+ Requires-Dist: coverage; extra == "test"
60
60
  Provides-Extra: psql
61
- Requires-Dist: python-box[all]~=6.0.0; extra == "psql"
62
- Requires-Dist: inflection; extra == "psql"
63
- Requires-Dist: PyYAML; extra == "psql"
64
- Requires-Dist: requests[socks]<3; extra == "psql"
65
- Requires-Dist: python-dotenv; extra == "psql"
61
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql"
66
62
  Requires-Dist: packaging; extra == "psql"
67
63
  Requires-Dist: setuptools>=65.5.1; extra == "psql"
64
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "psql"
65
+ Requires-Dist: PyYAML; extra == "psql"
66
+ Requires-Dist: requests[socks]<3; extra == "psql"
68
67
  Requires-Dist: SQLAlchemy~=2.0; extra == "psql"
69
- Requires-Dist: psycopg2; extra == "psql"
70
- Requires-Dist: shtab; extra == "psql"
71
68
  Requires-Dist: domain2idna~=1.12.0; extra == "psql"
69
+ Requires-Dist: colorama; extra == "psql"
70
+ Requires-Dist: psycopg2; extra == "psql"
72
71
  Requires-Dist: PyMySQL; extra == "psql"
73
- Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "psql"
74
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql"
72
+ Requires-Dist: python-box[all]~=6.0.0; extra == "psql"
73
+ Requires-Dist: inflection; extra == "psql"
74
+ Requires-Dist: shtab; extra == "psql"
75
75
  Requires-Dist: alembic; extra == "psql"
76
- Requires-Dist: colorama; extra == "psql"
76
+ Requires-Dist: python-dotenv; extra == "psql"
77
77
  Provides-Extra: psql-binary
78
- Requires-Dist: python-box[all]~=6.0.0; extra == "psql-binary"
79
- Requires-Dist: inflection; extra == "psql-binary"
80
- Requires-Dist: PyYAML; extra == "psql-binary"
81
- Requires-Dist: requests[socks]<3; extra == "psql-binary"
82
- Requires-Dist: python-dotenv; extra == "psql-binary"
83
- Requires-Dist: psycopg2-binary; extra == "psql-binary"
78
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql-binary"
84
79
  Requires-Dist: packaging; extra == "psql-binary"
85
80
  Requires-Dist: setuptools>=65.5.1; extra == "psql-binary"
81
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "psql-binary"
82
+ Requires-Dist: PyYAML; extra == "psql-binary"
83
+ Requires-Dist: requests[socks]<3; extra == "psql-binary"
86
84
  Requires-Dist: SQLAlchemy~=2.0; extra == "psql-binary"
87
- Requires-Dist: shtab; extra == "psql-binary"
88
85
  Requires-Dist: domain2idna~=1.12.0; extra == "psql-binary"
86
+ Requires-Dist: colorama; extra == "psql-binary"
89
87
  Requires-Dist: PyMySQL; extra == "psql-binary"
90
- Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "psql-binary"
91
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "psql-binary"
88
+ Requires-Dist: python-box[all]~=6.0.0; extra == "psql-binary"
89
+ Requires-Dist: psycopg2-binary; extra == "psql-binary"
90
+ Requires-Dist: inflection; extra == "psql-binary"
91
+ Requires-Dist: shtab; extra == "psql-binary"
92
92
  Requires-Dist: alembic; extra == "psql-binary"
93
- Requires-Dist: colorama; extra == "psql-binary"
93
+ Requires-Dist: python-dotenv; extra == "psql-binary"
94
94
  Provides-Extra: postgresql
95
- Requires-Dist: python-box[all]~=6.0.0; extra == "postgresql"
96
- Requires-Dist: inflection; extra == "postgresql"
97
- Requires-Dist: PyYAML; extra == "postgresql"
98
- Requires-Dist: requests[socks]<3; extra == "postgresql"
99
- Requires-Dist: python-dotenv; extra == "postgresql"
95
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql"
100
96
  Requires-Dist: packaging; extra == "postgresql"
101
97
  Requires-Dist: setuptools>=65.5.1; extra == "postgresql"
98
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "postgresql"
99
+ Requires-Dist: PyYAML; extra == "postgresql"
100
+ Requires-Dist: requests[socks]<3; extra == "postgresql"
102
101
  Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql"
103
- Requires-Dist: psycopg2; extra == "postgresql"
104
- Requires-Dist: shtab; extra == "postgresql"
105
102
  Requires-Dist: domain2idna~=1.12.0; extra == "postgresql"
103
+ Requires-Dist: colorama; extra == "postgresql"
104
+ Requires-Dist: psycopg2; extra == "postgresql"
106
105
  Requires-Dist: PyMySQL; extra == "postgresql"
107
- Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "postgresql"
108
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql"
106
+ Requires-Dist: python-box[all]~=6.0.0; extra == "postgresql"
107
+ Requires-Dist: inflection; extra == "postgresql"
108
+ Requires-Dist: shtab; extra == "postgresql"
109
109
  Requires-Dist: alembic; extra == "postgresql"
110
- Requires-Dist: colorama; extra == "postgresql"
110
+ Requires-Dist: python-dotenv; extra == "postgresql"
111
111
  Provides-Extra: postgresql-binary
112
- Requires-Dist: python-box[all]~=6.0.0; extra == "postgresql-binary"
113
- Requires-Dist: inflection; extra == "postgresql-binary"
114
- Requires-Dist: PyYAML; extra == "postgresql-binary"
115
- Requires-Dist: requests[socks]<3; extra == "postgresql-binary"
116
- Requires-Dist: python-dotenv; extra == "postgresql-binary"
117
- Requires-Dist: psycopg2-binary; extra == "postgresql-binary"
112
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql-binary"
118
113
  Requires-Dist: packaging; extra == "postgresql-binary"
119
114
  Requires-Dist: setuptools>=65.5.1; extra == "postgresql-binary"
115
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "postgresql-binary"
116
+ Requires-Dist: PyYAML; extra == "postgresql-binary"
117
+ Requires-Dist: requests[socks]<3; extra == "postgresql-binary"
120
118
  Requires-Dist: SQLAlchemy~=2.0; extra == "postgresql-binary"
121
- Requires-Dist: shtab; extra == "postgresql-binary"
122
119
  Requires-Dist: domain2idna~=1.12.0; extra == "postgresql-binary"
120
+ Requires-Dist: colorama; extra == "postgresql-binary"
123
121
  Requires-Dist: PyMySQL; extra == "postgresql-binary"
124
- Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "postgresql-binary"
125
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "postgresql-binary"
122
+ Requires-Dist: python-box[all]~=6.0.0; extra == "postgresql-binary"
123
+ Requires-Dist: psycopg2-binary; extra == "postgresql-binary"
124
+ Requires-Dist: inflection; extra == "postgresql-binary"
125
+ Requires-Dist: shtab; extra == "postgresql-binary"
126
126
  Requires-Dist: alembic; extra == "postgresql-binary"
127
- Requires-Dist: colorama; extra == "postgresql-binary"
127
+ Requires-Dist: python-dotenv; extra == "postgresql-binary"
128
128
  Provides-Extra: full
129
- Requires-Dist: inflection; extra == "full"
130
- Requires-Dist: tox; extra == "full"
131
- Requires-Dist: isort; extra == "full"
132
129
  Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "full"
133
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "full"
134
- Requires-Dist: PyYAML; extra == "full"
135
- Requires-Dist: mkdocs-material~=9.5; extra == "full"
136
- Requires-Dist: requests[socks]<3; extra == "full"
130
+ Requires-Dist: setuptools>=65.5.1; extra == "full"
137
131
  Requires-Dist: SQLAlchemy~=2.0; extra == "full"
138
- Requires-Dist: pymdown-extensions~=10.9; extra == "full"
139
- Requires-Dist: zipp>=3.19.1; extra == "full"
140
132
  Requires-Dist: domain2idna~=1.12.0; extra == "full"
141
- Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "full"
142
- Requires-Dist: alembic; extra == "full"
143
- Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
133
+ Requires-Dist: colorama; extra == "full"
134
+ Requires-Dist: mkdocs-material~=9.5; extra == "full"
135
+ Requires-Dist: PyMySQL; extra == "full"
136
+ Requires-Dist: packaging; extra == "full"
137
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
138
+ Requires-Dist: mkdocstrings[python]~=0.26; extra == "full"
144
139
  Requires-Dist: python-box[all]~=6.0.0; extra == "full"
145
- Requires-Dist: python-dotenv; extra == "full"
140
+ Requires-Dist: coverage; extra == "full"
141
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "full"
146
142
  Requires-Dist: black; extra == "full"
147
- Requires-Dist: setuptools>=65.5.1; extra == "full"
148
- Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
143
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "full"
144
+ Requires-Dist: flake8; extra == "full"
149
145
  Requires-Dist: mkdocs~=1.5; extra == "full"
150
- Requires-Dist: pylint; extra == "full"
146
+ Requires-Dist: PyYAML; extra == "full"
147
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "full"
148
+ Requires-Dist: zipp>=3.19.1; extra == "full"
151
149
  Requires-Dist: mkdocs-literate-nav~=0.6; extra == "full"
150
+ Requires-Dist: inflection; extra == "full"
151
+ Requires-Dist: alembic; extra == "full"
152
+ Requires-Dist: pymdown-extensions~=10.9; extra == "full"
152
153
  Requires-Dist: mkdocs-gen-files~=0.5; extra == "full"
153
- Requires-Dist: flake8; extra == "full"
154
- Requires-Dist: packaging; extra == "full"
155
- Requires-Dist: coverage; extra == "full"
156
- Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "full"
154
+ Requires-Dist: isort; extra == "full"
155
+ Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "full"
156
+ Requires-Dist: requests[socks]<3; extra == "full"
157
+ Requires-Dist: tox; extra == "full"
158
+ Requires-Dist: pylint; extra == "full"
157
159
  Requires-Dist: shtab; extra == "full"
158
- Requires-Dist: PyMySQL; extra == "full"
159
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "full"
160
- Requires-Dist: colorama; extra == "full"
160
+ Requires-Dist: python-dotenv; extra == "full"
161
161
  Provides-Extra: all
162
- Requires-Dist: inflection; extra == "all"
163
- Requires-Dist: tox; extra == "all"
164
- Requires-Dist: isort; extra == "all"
165
162
  Requires-Dist: mkdocs-git-authors-plugin~=0.9; extra == "all"
166
- Requires-Dist: mkdocstrings[python]~=0.26; extra == "all"
167
- Requires-Dist: PyYAML; extra == "all"
168
- Requires-Dist: mkdocs-material~=9.5; extra == "all"
169
- Requires-Dist: requests[socks]<3; extra == "all"
163
+ Requires-Dist: setuptools>=65.5.1; extra == "all"
170
164
  Requires-Dist: SQLAlchemy~=2.0; extra == "all"
171
- Requires-Dist: pymdown-extensions~=10.9; extra == "all"
172
- Requires-Dist: zipp>=3.19.1; extra == "all"
173
165
  Requires-Dist: domain2idna~=1.12.0; extra == "all"
174
- Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "all"
175
- Requires-Dist: alembic; extra == "all"
176
- Requires-Dist: mkdocs-section-index~=0.3; extra == "all"
166
+ Requires-Dist: colorama; extra == "all"
167
+ Requires-Dist: mkdocs-material~=9.5; extra == "all"
168
+ Requires-Dist: PyMySQL; extra == "all"
169
+ Requires-Dist: packaging; extra == "all"
170
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "all"
171
+ Requires-Dist: mkdocstrings[python]~=0.26; extra == "all"
177
172
  Requires-Dist: python-box[all]~=6.0.0; extra == "all"
178
- Requires-Dist: python-dotenv; extra == "all"
173
+ Requires-Dist: coverage; extra == "all"
174
+ Requires-Dist: dnspython[DOH]~=2.6.0; extra == "all"
179
175
  Requires-Dist: black; extra == "all"
180
- Requires-Dist: setuptools>=65.5.1; extra == "all"
181
- Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "all"
176
+ Requires-Dist: pyfunceble-process-manager==1.0.10; extra == "all"
177
+ Requires-Dist: flake8; extra == "all"
182
178
  Requires-Dist: mkdocs~=1.5; extra == "all"
183
- Requires-Dist: pylint; extra == "all"
179
+ Requires-Dist: PyYAML; extra == "all"
180
+ Requires-Dist: mkdocs-section-index~=0.3; extra == "all"
181
+ Requires-Dist: zipp>=3.19.1; extra == "all"
184
182
  Requires-Dist: mkdocs-literate-nav~=0.6; extra == "all"
185
- Requires-Dist: mkdocs-gen-files~=0.5; extra == "all"
186
- Requires-Dist: flake8; extra == "all"
187
183
  Requires-Dist: psycopg2-binary; extra == "all"
188
- Requires-Dist: packaging; extra == "all"
189
- Requires-Dist: coverage; extra == "all"
190
- Requires-Dist: mkdocs-git-revision-date-localized-plugin~=1.2; extra == "all"
184
+ Requires-Dist: inflection; extra == "all"
185
+ Requires-Dist: alembic; extra == "all"
186
+ Requires-Dist: pymdown-extensions~=10.9; extra == "all"
187
+ Requires-Dist: mkdocs-gen-files~=0.5; extra == "all"
188
+ Requires-Dist: isort; extra == "all"
189
+ Requires-Dist: mkdocs-macros-plugin~=1.2; extra == "all"
190
+ Requires-Dist: requests[socks]<3; extra == "all"
191
+ Requires-Dist: tox; extra == "all"
192
+ Requires-Dist: pylint; extra == "all"
191
193
  Requires-Dist: shtab; extra == "all"
192
- Requires-Dist: PyMySQL; extra == "all"
193
- Requires-Dist: dnspython[DOH]~=2.6.0; extra == "all"
194
- Requires-Dist: colorama; extra == "all"
194
+ Requires-Dist: python-dotenv; extra == "all"
195
195
  Dynamic: author
196
196
  Dynamic: author-email
197
197
  Dynamic: classifier
@@ -4,7 +4,7 @@ PyFunceble/facility.py,sha256=n4JEKAkrVus3qTfMAr9jxDvFbyhfIKn8yz4_4KDzkHk,2632
4
4
  PyFunceble/factory.py,sha256=N23qpemMX2Qm934Ds7hfA9oSM3KDwONbTop-JjDpbQw,2582
5
5
  PyFunceble/logger.py,sha256=ATiCxdpzH3ht5NHHQCY87-_8vHSe6tZ7P6y2QwAgn6g,17617
6
6
  PyFunceble/sessions.py,sha256=5zgaUjY_QiGSSH9IeMI8fP_g9Ypcn_1_-Cif623elK0,2574
7
- PyFunceble/storage.py,sha256=f_mwS9ZJsVRapQv0BkeHpvqFNv09-ZT6J4GiB9txYF0,5402
7
+ PyFunceble/storage.py,sha256=yrnopKNI_7iH-Jhiutwnc4nk6sR9YWZEXjIWYRGOszE,5402
8
8
  PyFunceble/storage_facility.py,sha256=hK7eoCtFdBaMFcGsEMEU-mNGxr0kqneyVJSuSgB4CuM,4825
9
9
  PyFunceble/checker/__init__.py,sha256=jv0IWODVKAOBFq9hK8ZUMXMUV7JN_6CKUSzKCH-MOD8,2436
10
10
  PyFunceble/checker/base.py,sha256=ycsjjZJ9L03zt-h0Ze8bBiy45JSSKYizBOSSESd_2RE,13621
@@ -12,7 +12,7 @@ PyFunceble/checker/complex_json_encoder.py,sha256=zDDKTFB2R5kB-QoTFAdQJ09dXp3DUW
12
12
  PyFunceble/checker/params_base.py,sha256=IJqWVtsD0nRDzwJ1SpxbCTpsBam8id0CUZEvVArT85g,3287
13
13
  PyFunceble/checker/status_base.py,sha256=7ujpDw9lnqIe_2WVSNfRYFuKdslKr3Dw2HSW35JrODM,3590
14
14
  PyFunceble/checker/availability/__init__.py,sha256=ZhJytBKoC0js52SADxNJkYvgXCKG9-OLpmZ6lfHuMas,2481
15
- PyFunceble/checker/availability/base.py,sha256=ycD62p2QBCAmESBOE-prAyDRyHayAQs699WOA4UPC5I,39680
15
+ PyFunceble/checker/availability/base.py,sha256=DCHJ6vd0BTc9dcyB8M9qOBN1-Y4pFd-WSo51ve6E7aI,39649
16
16
  PyFunceble/checker/availability/domain.py,sha256=vXtDXbC7Th7JBRsL04KhFg6MJ_7eFD7i-utRKTRfb_s,7436
17
17
  PyFunceble/checker/availability/domain_and_ip.py,sha256=T794OhT_5NGpOa28HlA_6IrqpoNRz71NYtdSGAY8KbU,6583
18
18
  PyFunceble/checker/availability/ip.py,sha256=IsSd3Wx1CZaWk3s4kI_jo3UNdvSPxw6dL7B7pjf9ZT8,7031
@@ -74,7 +74,7 @@ PyFunceble/cli/entry_points/production.py,sha256=Cgc4ev9IHZaGQfjSGLyNQ8mmbNZj2ud
74
74
  PyFunceble/cli/entry_points/public_suffix.py,sha256=V63DjHceSqubVhNOQuAU2Jd53EtkqT5hZcqbNMpclYA,4338
75
75
  PyFunceble/cli/entry_points/pyfunceble/__init__.py,sha256=JPNEI3iSjlfdrRa45DhU83S1HZKTC0q1OVGniUQ84J4,2491
76
76
  PyFunceble/cli/entry_points/pyfunceble/argsparser.py,sha256=EBX2eDhwxRR5Wdm3NXG77y2G1djEP90VC99GbaG8TKs,4754
77
- PyFunceble/cli/entry_points/pyfunceble/cli.py,sha256=qJ_Eipcp3VGS_HZupuHWMKrBhAMqUelVHnjObSxJygQ,49674
77
+ PyFunceble/cli/entry_points/pyfunceble/cli.py,sha256=9CjmVjObOtCDBx14R5lg-243ByJFCZwS3QAjWW9zjdw,50026
78
78
  PyFunceble/cli/filesystem/__init__.py,sha256=a7qB5zkZ0C6r6mNF1IZwGxiLJmuyR83s0VSaQcFmyTU,2489
79
79
  PyFunceble/cli/filesystem/cleanup.py,sha256=dflajmuYC_TcAgLNMDb9ocM7V80Sy7-Vh5edK34q6wY,4819
80
80
  PyFunceble/cli/filesystem/counter.py,sha256=5gcqif_J4Lm0BZ_9risCI26pL2HN-tg50tPfVzOqIdw,6969
@@ -117,7 +117,7 @@ PyFunceble/cli/processes/chancy_producer.py,sha256=vPvdrIKqkl2p0g5hvO5FQmDV4Hvt8
117
117
  PyFunceble/cli/processes/chancy_tester.py,sha256=ZCrkX7QOSJZ23VZPg3s0DVqJjxJ-QT-QJr5K3n9DuxY,3095
118
118
  PyFunceble/cli/processes/dir_files_sorter.py,sha256=J14pRoTxMOINdkFv70BL6AovRmwJ05VR_dtAiqBEoi4,2851
119
119
  PyFunceble/cli/processes/file_sorter.py,sha256=HNGGAS4654Tlfgm-1J9UZxBJskNLz7JJqH7KMTFTnVM,2804
120
- PyFunceble/cli/processes/migrator.py,sha256=59VDTIkLPhBIw9MX6aSbENsHFzj2JInr2v3fnM4SDDw,17219
120
+ PyFunceble/cli/processes/migrator.py,sha256=cADj2_p75ibmtUDhOqf4oRlB_wagN5DraBYBMtjkDOE,17181
121
121
  PyFunceble/cli/processes/miner.py,sha256=R109IEUaz4fE-M6RI1DwvSUfr3wCVFjgnsNn3E4WQhY,2760
122
122
  PyFunceble/cli/processes/producer.py,sha256=mNesJLl0ZBbX71N7uCKZxtuxfaXlBodMyoo23oi2lEc,2784
123
123
  PyFunceble/cli/processes/tester.py,sha256=_3XSsuvohdTswpUK5QTeFdrj0PtSbNLP8hyYwZEzRXo,2768
@@ -139,7 +139,7 @@ PyFunceble/cli/scripts/public_suffix.py,sha256=Upwsp0WIzVE6YyBdS70rTidiLLM7hEyMD
139
139
  PyFunceble/cli/system/__init__.py,sha256=wBriuC2hLkzZzx9xH2Su2K-4pRaXDSv4Y-soVT10cdc,2514
140
140
  PyFunceble/cli/system/base.py,sha256=MIrGkm8YvE0oBk3bWSs_7oVkAXAOBlm1vy7m4eWL1S4,4881
141
141
  PyFunceble/cli/system/integrator.py,sha256=d39_-Jdtr7HIyYyT5A3yu-XznnbSo9Vgf25bg_c1kEI,12339
142
- PyFunceble/cli/system/launcher.py,sha256=f2SemSDAB3Wf5guty8CGWG_na1PuyAyNZI_mmIszZLI,48289
142
+ PyFunceble/cli/system/launcher.py,sha256=FrHrKKzKmkVLY3IWknO9k9afQUlR6czNo4BdE80-lbU,48558
143
143
  PyFunceble/cli/utils/__init__.py,sha256=yu_2nPAZ-16yYYnUIoS0bbMwscMgH0i5dB2CdcxRU_I,2457
144
144
  PyFunceble/cli/utils/ascii_logo.py,sha256=sTtpa8OxRkGgAy_gMB8ubINyZ3ExkDna7WuN4fpa3EI,4228
145
145
  PyFunceble/cli/utils/sort.py,sha256=fPaVucMT6xzGq27EvMtgTYHA7wC3WVez3mBQuH-NwyE,4367
@@ -150,7 +150,7 @@ PyFunceble/config/__init__.py,sha256=RZVudb1KuB_KZ_QIKg7EyHXMDm8ULPwT63ZcOkbC9Js
150
150
  PyFunceble/config/compare.py,sha256=J59CcnlQ0DTIqCDJyTSm3OJ6lpMNbY0HDJfs0TJn3_w,13637
151
151
  PyFunceble/config/loader.py,sha256=CGU22HYhUHjwNgUpWOys7VCqGB9PPYVoBKXqpc6Ck7Q,22870
152
152
  PyFunceble/converter/__init__.py,sha256=qcCGRsDDZeyGTZDkVHRGdoDsVLxvqDr2EbmJSv7mu0I,2442
153
- PyFunceble/converter/adblock_input_line2subject.py,sha256=N8y0nicv6gVxniTlhZsLED2yvg3r3hrX_Hd4LVa40Dg,12931
153
+ PyFunceble/converter/adblock_input_line2subject.py,sha256=_M6suHjD5jZHy8i7qcRN0r3yIxLst9ia9IIK7BFh1jY,12996
154
154
  PyFunceble/converter/base.py,sha256=vNTkNxGvHTHgKmIGBVcSKbiivwNoSjDGloCYUR7xaes,4921
155
155
  PyFunceble/converter/cidr2subject.py,sha256=PnLGKhGsGN31I1odkBI5_2vles3YwAravYdkY4e9ZWk,4750
156
156
  PyFunceble/converter/input_line2subject.py,sha256=C69RUzRXSLGkOjcsfFJ1QFd9r50NJ7S48Qr1cMFnBN0,5856
@@ -276,9 +276,9 @@ PyFunceble/utils/__init__.py,sha256=AmqnVKTnt-IjOH2yhJzB6rrQbCy9oGSymXXk447rLd0,
276
276
  PyFunceble/utils/platform.py,sha256=OSXmgySSiHJNOaFK5yvLJFB5QARWI45iqQARZx9F1D4,3912
277
277
  PyFunceble/utils/profile.py,sha256=gk4wSFjwt6nj2ytvE2EtJJy16W7NsJwNu1HudRDngEw,4558
278
278
  PyFunceble/utils/version.py,sha256=WEQhJcfsvhoUStFK63cLVTlTtAMW1-EZUnfH5N4AkOc,8377
279
- pyfunceble_dev-4.3.0a20.dist-info/licenses/LICENSE,sha256=rE8fp-5WWAbUGya8mg2fMTIkcw3fPA1PNG86URxH3U4,10802
280
- pyfunceble_dev-4.3.0a20.dist-info/METADATA,sha256=Q0P603sfRjtFjrt9XX7bUfcjr8tgaWcxl2XZx8bTSw8,47466
281
- pyfunceble_dev-4.3.0a20.dist-info/WHEEL,sha256=tTnHoFhvKQHCh4jz3yCn0WPTYIy7wXx3CJtJ7SJGV7c,91
282
- pyfunceble_dev-4.3.0a20.dist-info/entry_points.txt,sha256=Ic1suwopOi_XTgiQi2ErtpY5xT3R8EFMI6B_ONDuR9E,201
283
- pyfunceble_dev-4.3.0a20.dist-info/top_level.txt,sha256=J7GBKIiNYv93m1AxLy8_gr6ExXyZbMmCVXHMQBTUq2Y,11
284
- pyfunceble_dev-4.3.0a20.dist-info/RECORD,,
279
+ pyfunceble_dev-4.3.0a23.dist-info/licenses/LICENSE,sha256=rE8fp-5WWAbUGya8mg2fMTIkcw3fPA1PNG86URxH3U4,10802
280
+ pyfunceble_dev-4.3.0a23.dist-info/METADATA,sha256=Yi-r6E7t6maT2JGUVguLjX8gtrPP0CmSEF5PhpIMFxo,47466
281
+ pyfunceble_dev-4.3.0a23.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
282
+ pyfunceble_dev-4.3.0a23.dist-info/entry_points.txt,sha256=Ic1suwopOi_XTgiQi2ErtpY5xT3R8EFMI6B_ONDuR9E,201
283
+ pyfunceble_dev-4.3.0a23.dist-info/top_level.txt,sha256=J7GBKIiNYv93m1AxLy8_gr6ExXyZbMmCVXHMQBTUq2Y,11
284
+ pyfunceble_dev-4.3.0a23.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (77.0.1)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5