serverwatcher 3.6.4__tar.gz → 3.7__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.
Files changed (22) hide show
  1. {serverwatcher-3.6.4/src/serverwatcher.egg-info → serverwatcher-3.7}/PKG-INFO +1 -1
  2. {serverwatcher-3.6.4 → serverwatcher-3.7}/pyproject.toml +1 -1
  3. serverwatcher-3.7/src/serverwatcher/config/messages.py +53 -0
  4. serverwatcher-3.7/src/serverwatcher/defaultconfigs/messages.yaml +49 -0
  5. {serverwatcher-3.6.4 → serverwatcher-3.7}/src/serverwatcher/watcher.py +13 -2
  6. {serverwatcher-3.6.4 → serverwatcher-3.7/src/serverwatcher.egg-info}/PKG-INFO +1 -1
  7. serverwatcher-3.6.4/src/serverwatcher/config/messages.py +0 -30
  8. serverwatcher-3.6.4/src/serverwatcher/defaultconfigs/messages.yaml +0 -47
  9. {serverwatcher-3.6.4 → serverwatcher-3.7}/LICENSE +0 -0
  10. {serverwatcher-3.6.4 → serverwatcher-3.7}/README.md +0 -0
  11. {serverwatcher-3.6.4 → serverwatcher-3.7}/setup.cfg +0 -0
  12. {serverwatcher-3.6.4 → serverwatcher-3.7}/src/serverwatcher/__init__.py +0 -0
  13. {serverwatcher-3.6.4 → serverwatcher-3.7}/src/serverwatcher/config/__init__.py +0 -0
  14. {serverwatcher-3.6.4 → serverwatcher-3.7}/src/serverwatcher/config/global_config.py +0 -0
  15. {serverwatcher-3.6.4 → serverwatcher-3.7}/src/serverwatcher/config/watcher.py +0 -0
  16. {serverwatcher-3.6.4 → serverwatcher-3.7}/src/serverwatcher/defaultconfigs/global.yaml +0 -0
  17. {serverwatcher-3.6.4 → serverwatcher-3.7}/src/serverwatcher/defaultconfigs/watcher.yaml +0 -0
  18. {serverwatcher-3.6.4 → serverwatcher-3.7}/src/serverwatcher/schema.py +0 -0
  19. {serverwatcher-3.6.4 → serverwatcher-3.7}/src/serverwatcher.egg-info/SOURCES.txt +0 -0
  20. {serverwatcher-3.6.4 → serverwatcher-3.7}/src/serverwatcher.egg-info/dependency_links.txt +0 -0
  21. {serverwatcher-3.6.4 → serverwatcher-3.7}/src/serverwatcher.egg-info/requires.txt +0 -0
  22. {serverwatcher-3.6.4 → serverwatcher-3.7}/src/serverwatcher.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: serverwatcher
3
- Version: 3.6.4
3
+ Version: 3.7
4
4
  Summary: A HungerLib-powered Minecraft server automation engine.
5
5
  Author: iFamished
6
6
  License: GPL-3.0
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
7
7
 
8
8
  [project]
9
9
  name = "serverwatcher"
10
- version = "3.6.4"
10
+ version = "3.7"
11
11
  description = "A HungerLib-powered Minecraft server automation engine."
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.10"
@@ -0,0 +1,53 @@
1
+ from dataclasses import dataclass, field
2
+
3
+ @dataclass
4
+ @dataclass
5
+ class MessagesConfig:
6
+ prefix: str
7
+ broadcast_restart_at: str
8
+
9
+ # minute messages
10
+ minute_120: str
11
+ minute_60: str
12
+ minute_45: str
13
+ minute_30: str
14
+ minute_15: str
15
+ minute_5: str
16
+ minute_1: str
17
+
18
+ # second messages
19
+ second_10: str
20
+ second_9: str
21
+ second_8: str
22
+ second_7: str
23
+ second_6: str
24
+ second_5: str
25
+ second_4: str
26
+ second_3: str
27
+ second_2: str
28
+ second_1: str
29
+
30
+ # logging
31
+ log_start: str
32
+ log_validation_fail: str
33
+ log_validation_ok: str
34
+ log_immediate_restart: str
35
+ log_no_restart: str
36
+ log_scheduled: str
37
+ log_gap_low: str
38
+ log_gap_high: str
39
+
40
+ # reasons
41
+ reason_restart_soon: str
42
+ reason_ram: str
43
+ reason_cpu: str
44
+ reason_uptime: str
45
+ reason_tps: str
46
+ reason_low_uptime: str
47
+ reason_players: str
48
+
49
+ # restarts
50
+ restart_action_sent: str
51
+ server_back_online: str
52
+ server_back_online_broadcast: str
53
+ server_failed_restart: str
@@ -0,0 +1,49 @@
1
+ prefix: "<aqua>[Server Watcher]"
2
+
3
+ broadcast_restart_at: "{prefix} The server will restart at {time} CDT."
4
+
5
+ broadcast_minute:
6
+ minute_120: "{prefix} Restart in 2 hours!"
7
+ minute_60: "{prefix} Restart in 1 hour!"
8
+ minute_45: "{prefix} Restart in 45 minutes!"
9
+ minute_30: "{prefix} Restart in 30 minutes!"
10
+ minute_15: "{prefix} Restart in 15 minutes!"
11
+ minute_5: "{prefix} Restart in 5 minutes!"
12
+ minute_1: "{prefix} Restart in 1 minute!"
13
+
14
+ broadcast_second:
15
+ second_10: "{prefix} Restart in 10 seconds!"
16
+ second_9: "{prefix} Restart in 9 seconds!"
17
+ second_8: "{prefix} Restart in 8 seconds!"
18
+ second_7: "{prefix} Restart in 7 seconds!"
19
+ second_6: "{prefix} Restart in 6 seconds!"
20
+ second_5: "{prefix} Restart in 5 seconds!"
21
+ second_4: "{prefix} Restart in 4 seconds!"
22
+ second_3: "{prefix} Restart in 3 seconds!"
23
+ second_2: "{prefix} Restart in 2 seconds!"
24
+ second_1: "{prefix} Restart in 1 second!"
25
+
26
+ logging:
27
+ log_start: "ServerWatcher is running!"
28
+ log_validation_fail: "Validation FAILED."
29
+ log_validation_ok: "All validation checks succeeded."
30
+ log_immediate_restart: "Restarting immediately."
31
+ log_no_restart: "The server does not need to restart."
32
+ log_scheduled: "Restart needed, but anti-restart factors outweigh it."
33
+ log_gap_low: "Gap {gap}. Scheduling restart in 2 hours."
34
+ log_gap_high: "Gap {gap}. Scheduling restart in 1 hour."
35
+
36
+ reasons:
37
+ reason_restart_soon: "The server is set to restart soon"
38
+ reason_ram: "RAM usage ({ram}) is higher than {threshold} GB"
39
+ reason_cpu: "CPU usage ({cpu}) is higher than {threshold}%"
40
+ reason_uptime: "Uptime {uptime} exceeds {threshold}h"
41
+ reason_tps: "TPS {tps} is lower than {threshold}"
42
+ reason_low_uptime: "Uptime {uptime} is shorter than 30m"
43
+ reason_players: "There {verb} {count} {plural} online"
44
+
45
+ restarts:
46
+ restart_action_sent: "Restart action sent. Waiting..."
47
+ server_back_online: "Server is back online!"
48
+ server_back_online_broadcast: "{prefix} <green>Restart successful!"
49
+ server_failed_restart: "Server failed to restart!"
@@ -149,13 +149,24 @@ class ServerWatcher:
149
149
  minute_callbacks = {
150
150
  m: (lambda msg=self.fmt(self.messages.broadcast_minute[m]):
151
151
  self.server.sendBroadcast(msg))
152
- for m in self.messages.broadcast_minute
152
+ minute_keys = [k for k in vars(self.messages) if k.startswith("minute_")]
153
+ minute_callbacks = {
154
+ k: (lambda msg=self.fmt(getattr(self.messages, k)):
155
+ self.server.sendBroadcast(msg))
156
+ for k in minute_keys
157
+ }
158
+
153
159
  }
154
160
 
155
161
  second_callbacks = {
156
162
  s: (lambda msg=self.fmt(self.messages.broadcast_second[s]):
157
163
  self.server.sendBroadcast(msg))
158
- for s in self.messages.broadcast_second
164
+ second_keys = [k for k in vars(self.messages) if k.startswith("second_")]
165
+ second_callbacks = {
166
+ k: (lambda msg=self.fmt(getattr(self.messages, k)):
167
+ self.server.sendBroadcast(msg))
168
+ for k in second_keys
169
+ }
159
170
  }
160
171
 
161
172
  runCountdownEvents(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: serverwatcher
3
- Version: 3.6.4
3
+ Version: 3.7
4
4
  Summary: A HungerLib-powered Minecraft server automation engine.
5
5
  Author: iFamished
6
6
  License: GPL-3.0
@@ -1,30 +0,0 @@
1
- from dataclasses import dataclass, field
2
-
3
- @dataclass
4
- class MessagesConfig:
5
- prefix: str
6
- broadcast_restart_at: str
7
- broadcast_minute: dict = field(default_factory=dict)
8
- broadcast_second: dict = field(default_factory=dict)
9
-
10
- log_start: str = ""
11
- log_validation_fail: str = ""
12
- log_validation_ok: str = ""
13
- log_immediate_restart: str = ""
14
- log_no_restart: str = ""
15
- log_scheduled: str = ""
16
- log_gap_low: str = ""
17
- log_gap_high: str = ""
18
-
19
- reason_restart_soon: str = ""
20
- reason_ram: str = ""
21
- reason_cpu: str = ""
22
- reason_uptime: str = ""
23
- reason_tps: str = ""
24
- reason_low_uptime: str = ""
25
- reason_players: str = ""
26
-
27
- restart_action_sent: str = ""
28
- server_back_online: str = ""
29
- server_back_online_broadcast: str = ""
30
- server_failed_restart: str = ""
@@ -1,47 +0,0 @@
1
- prefix: "<aqua>[Server Watcher]"
2
-
3
- broadcast_restart_at: "{prefix} The server will restart at {time} CDT."
4
-
5
- broadcast_minute:
6
- 120: "{prefix} Restart in 2 hours!"
7
- 60: "{prefix} Restart in 1 hour!"
8
- 45: "{prefix} Restart in 45 minutes!"
9
- 30: "{prefix} Restart in 30 minutes!"
10
- 15: "{prefix} Restart in 15 minutes!"
11
- 5: "{prefix} Restart in 5 minutes!"
12
- 1: "{prefix} Restart in 1 minute!"
13
-
14
- broadcast_second:
15
- 10: "{prefix} Restart in 10 seconds!"
16
- 9: "{prefix} Restart in 9 seconds!"
17
- 8: "{prefix} Restart in 8 seconds!"
18
- 7: "{prefix} Restart in 7 seconds!"
19
- 6: "{prefix} Restart in 6 seconds!"
20
- 5: "{prefix} Restart in 5 seconds!"
21
- 4: "{prefix} Restart in 4 seconds!"
22
- 3: "{prefix} Restart in 3 seconds!"
23
- 2: "{prefix} Restart in 2 seconds!"
24
- 1: "{prefix} Restart in 1 second!"
25
-
26
- log_start: "ServerWatcher is running!"
27
- log_validation_fail: "Validation FAILED."
28
- log_validation_ok: "All validation checks succeeded."
29
- log_immediate_restart: "Restarting immediately."
30
- log_no_restart: "The server does not need to restart."
31
- log_scheduled: "Restart needed, but anti-restart factors outweigh it."
32
- log_gap_low: "Gap {gap}. Scheduling restart in 2 hours."
33
- log_gap_high: "Gap {gap}. Scheduling restart in 1 hour."
34
-
35
- reason_restart_soon: "The server is set to restart soon"
36
- reason_ram: "RAM usage ({ram}) is higher than {threshold} GB"
37
- reason_cpu: "CPU usage ({cpu}) is higher than {threshold}%"
38
- reason_uptime: "Uptime {uptime} exceeds {threshold}h"
39
- reason_tps: "TPS {tps} is lower than {threshold}"
40
- reason_low_uptime: "Uptime {uptime} is shorter than 30m"
41
- reason_players: "There {verb} {count} {plural} online"
42
-
43
- # New values, will reorder later
44
- restart_action_sent: "Restart action sent. Waiting..."
45
- server_back_online: "Server is back online!"
46
- server_back_online_broadcast: "{prefix} <green>Restart successful!"
47
- server_failed_restart: "Server failed to restart!"
File without changes
File without changes
File without changes