Skip to content

Commit b324d42

Browse files
committed
moved warnings to resurfacewarning class
1 parent 9dde262 commit b324d42

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

usagelogger/http_logger.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,18 @@
1010

1111

1212
class ResurfaceWarning(UserWarning):
13-
pass
13+
def __init__(self, warning_type, environment_var=None, required_type=None):
14+
self.warning_type = warning_type
15+
self.env_var = environment_var
16+
self.required_type = required_type
17+
def __str__(self):
18+
if self.warning_type == "argwarn":
19+
warn = f"Invalid type for {self.env_var} " +\
20+
f"(argument should be a {self.required_type}). " +\
21+
"Logger won't be enabled."
22+
elif self.warning_type == "nologgerwarn":
23+
warn = "Logger is not enabled."
24+
return warn
1425

1526

1627
class HttpLogger(BaseLogger):
@@ -29,14 +40,10 @@ def __init__(
2940
rules: Optional[str] = None,
3041
) -> None:
3142

32-
argtype_warn = (
33-
"Resurface: Invalid type for {} "
34-
"(argument should be a {}). Logger won't be enabled."
35-
)
3643
if url and not isinstance(url, str):
37-
warnings.warn(argtype_warn.format("url", "string"), ResurfaceWarning)
44+
warnings.warn(ResurfaceWarning("argwarn", "url", "string"))
3845
if rules and not isinstance(rules, str):
39-
warnings.warn(argtype_warn.format("rules", "string"), ResurfaceWarning)
46+
warnings.warn(ResurfaceWarning("argwarn", "rules", "string"))
4047

4148
super().__init__(
4249
self.AGENT,
@@ -63,7 +70,7 @@ def __init__(
6370
self._enabled = False
6471

6572
if not self.enabled:
66-
warnings.warn("Resurface: Logger is not enabled.", ResurfaceWarning)
73+
warnings.warn(ResurfaceWarning("nologgerwarn"))
6774

6875
@property
6976
def rules(self) -> HttpRules:

0 commit comments

Comments
 (0)