Skip to content

Commit 9e358f9

Browse files
committed
Avoid repetition.
ExtraRules object is now initiated once at the base of all availability checker.
1 parent dc72bd8 commit 9e358f9

File tree

4 files changed

+6
-5
lines changed

4 files changed

+6
-5
lines changed

PyFunceble/checker/availability/base.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
import PyFunceble.facility
6161
import PyFunceble.factory
6262
import PyFunceble.storage
63+
from PyFunceble.checker.availability.extra_rules import ExtraRulesHandler
6364
from PyFunceble.checker.availability.params import AvailabilityCheckerParams
6465
from PyFunceble.checker.availability.status import AvailabilityCheckerStatus
6566
from PyFunceble.checker.base import CheckerBase
@@ -123,6 +124,7 @@ class AvailabilityCheckerBase(CheckerBase):
123124
domain_syntax_checker: Optional[DomainSyntaxChecker] = None
124125
ip_syntax_checker: Optional[IPSyntaxChecker] = None
125126
url_syntax_checker: Optional[URLSyntaxChecker] = None
127+
extra_rules_handler: Optional[ExtraRulesHandler] = None
126128

127129
_use_extra_rules: bool = False
128130
_use_whois_lookup: bool = False
@@ -158,6 +160,7 @@ def __init__(
158160
self.domain_syntax_checker = DomainSyntaxChecker()
159161
self.ip_syntax_checker = IPSyntaxChecker()
160162
self.url_syntax_checker = URLSyntaxChecker()
163+
self.extra_rules_handler = ExtraRulesHandler()
161164
self.db_session = db_session
162165

163166
self.params = AvailabilityCheckerParams()

PyFunceble/checker/availability/domain.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@
5555
import PyFunceble.factory
5656
import PyFunceble.storage
5757
from PyFunceble.checker.availability.base import AvailabilityCheckerBase
58-
from PyFunceble.checker.availability.extra_rules import ExtraRulesHandler
5958
from PyFunceble.checker.reputation.domain import DomainReputationChecker
6059

6160

@@ -179,7 +178,7 @@ def query_status(
179178
)
180179

181180
if self.use_extra_rules:
182-
ExtraRulesHandler(self.status).start()
181+
self.extra_rules_handler.set_status(self.status).start()
183182

184183
return self
185184

PyFunceble/checker/availability/extra_rules.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ class ExtraRulesHandler:
7979

8080
http_codes_dataset: Optional[Box] = None
8181

82-
def __init__(self, status: Optional[AvailabilityCheckerStatus]) -> None:
82+
def __init__(self, status: Optional[AvailabilityCheckerStatus] = None) -> None:
8383
self.regex_active2inactive = {
8484
r"\.000webhostapp\.com": [
8585
(self.__switch_to_down_if, 410),

PyFunceble/checker/availability/ip.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@
5555
import PyFunceble.factory
5656
import PyFunceble.storage
5757
from PyFunceble.checker.availability.base import AvailabilityCheckerBase
58-
from PyFunceble.checker.availability.extra_rules import ExtraRulesHandler
5958
from PyFunceble.checker.reputation.ip import IPReputationChecker
6059

6160

@@ -171,7 +170,7 @@ def query_status(
171170
)
172171

173172
if self.use_extra_rules:
174-
ExtraRulesHandler(self.status).start()
173+
self.extra_rules_handler.set_status(self.status).start()
175174

176175
return self
177176

0 commit comments

Comments
 (0)