serverwatcher 5.8.dev23__tar.gz → 5.8.dev25__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.
- {serverwatcher-5.8.dev23/src/serverwatcher.egg-info → serverwatcher-5.8.dev25}/PKG-INFO +1 -1
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/pyproject.toml +1 -1
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/validator.py +2 -15
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25/src/serverwatcher.egg-info}/PKG-INFO +1 -1
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/LICENSE +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/README.md +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/setup.cfg +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/__init__.py +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/configclasses/__init__.py +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/configclasses/config.py +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/configclasses/messages.py +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/configclasses/watcher.py +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/defaultconfigs/config.yaml +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/defaultconfigs/messages.yaml +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/defaultconfigs/watcher.yaml +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/watcher.py +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher.egg-info/SOURCES.txt +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher.egg-info/dependency_links.txt +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher.egg-info/requires.txt +0 -0
- {serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher.egg-info/top_level.txt +0 -0
|
@@ -17,22 +17,18 @@ def deep_get_attr(obj, dotted):
|
|
|
17
17
|
cur = getattr(cur, p)
|
|
18
18
|
return cur
|
|
19
19
|
|
|
20
|
-
|
|
21
20
|
def validate_type(name, value, expected_type, errors):
|
|
22
21
|
if not isinstance(value, expected_type):
|
|
23
22
|
errors.append(f"{name}: expected {expected_type.__name__}, got {type(value).__name__}")
|
|
24
23
|
|
|
25
|
-
|
|
26
24
|
def validate_positive(name, value, errors):
|
|
27
25
|
if isinstance(value, (int, float)) and value < 0:
|
|
28
26
|
errors.append(f"{name}: must be >= 0 (got {value})")
|
|
29
27
|
|
|
30
|
-
|
|
31
28
|
def validate_nonempty(name, value, errors):
|
|
32
29
|
if isinstance(value, str) and value.strip() == "":
|
|
33
30
|
errors.append(f"{name}: cannot be empty")
|
|
34
31
|
|
|
35
|
-
|
|
36
32
|
def validate_dataclass(config_obj, schema, errors):
|
|
37
33
|
for f in fields(schema):
|
|
38
34
|
name = f.name
|
|
@@ -47,18 +43,13 @@ def validate_dataclass(config_obj, schema, errors):
|
|
|
47
43
|
if expected_type in (int, float):
|
|
48
44
|
validate_positive(name, value, errors)
|
|
49
45
|
|
|
50
|
-
|
|
51
46
|
def validate_global_config(config, errors):
|
|
52
|
-
if config.watch_interval < 1:
|
|
53
|
-
errors.append(f"watch_interval: must be >= 1 (got {watcher.watch_interval})")
|
|
54
|
-
|
|
55
47
|
if config.server_port <= 0 or config.server_port > 65535:
|
|
56
48
|
errors.append(f"server_port: must be 1–65535 (got {config.server_port})")
|
|
57
49
|
|
|
58
50
|
if config.rcon_port <= 0 or config.rcon_port > 65535:
|
|
59
51
|
errors.append(f"rcon_port: must be 1–65535 (got {config.rcon_port})")
|
|
60
52
|
|
|
61
|
-
|
|
62
53
|
def validate_watcher_config(watcherconfig, errors):
|
|
63
54
|
if watcherconfig.restart_wait_seconds < 1:
|
|
64
55
|
errors.append(f"restart_wait_seconds: must be >= 1 (got {watcherconfig.restart_wait_seconds})")
|
|
@@ -72,13 +63,12 @@ def validate_watcher_config(watcherconfig, errors):
|
|
|
72
63
|
if watcherconfig.threshold_tps <= 0 or watcherconfig.threshold_tps > 20:
|
|
73
64
|
errors.append(f"threshold_tps: must be 1–20 (got {watcherconfig.threshold_tps})")
|
|
74
65
|
|
|
75
|
-
|
|
76
66
|
def validate_messages_config(messages, errors):
|
|
77
|
-
for
|
|
67
|
+
for f in fields(MessagesConfig):
|
|
68
|
+
value = getattr(messages, f.name)
|
|
78
69
|
if isinstance(value, str) and "{prefix}" not in value:
|
|
79
70
|
pass
|
|
80
71
|
|
|
81
|
-
|
|
82
72
|
def ensure_no_global_defaults(config, defaults):
|
|
83
73
|
if config.panel_url == "https://example.com":
|
|
84
74
|
defaults.append('panel_url')
|
|
@@ -98,12 +88,10 @@ def ensure_no_global_defaults(config, defaults):
|
|
|
98
88
|
if config.rcon_password == 'password':
|
|
99
89
|
defaults.append('rcon_password')
|
|
100
90
|
|
|
101
|
-
|
|
102
91
|
def ensure_no_watcher_defaults(watcherconfig, defaults):
|
|
103
92
|
if watcherconfig.schedule_control and watcherconfig.restart_soon_id == 0:
|
|
104
93
|
defaults.append('restart_soon_id')
|
|
105
94
|
|
|
106
|
-
|
|
107
95
|
def validate_all():
|
|
108
96
|
errors = []
|
|
109
97
|
defaults = []
|
|
@@ -139,6 +127,5 @@ def validate_all():
|
|
|
139
127
|
|
|
140
128
|
print("✅ All configs are valid.")
|
|
141
129
|
|
|
142
|
-
|
|
143
130
|
if __name__ == "__main__":
|
|
144
131
|
validate_all()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/configclasses/__init__.py
RENAMED
|
File without changes
|
{serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/configclasses/config.py
RENAMED
|
File without changes
|
{serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/configclasses/messages.py
RENAMED
|
File without changes
|
{serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/configclasses/watcher.py
RENAMED
|
File without changes
|
{serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/defaultconfigs/config.yaml
RENAMED
|
File without changes
|
{serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/defaultconfigs/messages.yaml
RENAMED
|
File without changes
|
{serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher/defaultconfigs/watcher.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
{serverwatcher-5.8.dev23 → serverwatcher-5.8.dev25}/src/serverwatcher.egg-info/top_level.txt
RENAMED
|
File without changes
|