hungerlib 2.2.4.dev0__tar.gz → 2.3.dev0__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.
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/PKG-INFO +1 -1
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/pyproject.toml +1 -1
- hungerlib-2.3.dev0/src/examples/Config.py +24 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/__init__.py +6 -6
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/config.py +1 -22
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/panel.py +4 -8
- hungerlib-2.2.4.dev0/src/hungerlib/servers/_generic.py → hungerlib-2.3.dev0/src/hungerlib/servers/generic.py +5 -17
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/servers/minecraft.py +15 -16
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib.egg-info/PKG-INFO +1 -1
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib.egg-info/SOURCES.txt +2 -2
- hungerlib-2.2.4.dev0/src/examples/Config.py +0 -45
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/LICENSE +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/README.md +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/setup.cfg +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/addons/colormap.py +0 -0
- /hungerlib-2.2.4.dev0/src/hungerlib/addons/_generic.py → /hungerlib-2.3.dev0/src/hungerlib/addons/generic.py +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/addons/minecraft.py +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/api/__init__.py +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/api/backups.py +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/api/command.py +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/api/databases.py +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/api/filemanager.py +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/api/schedule.py +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/api/startup.py +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/logger.py +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/mchelpers.py +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib/scheduler.py +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib.egg-info/dependency_links.txt +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib.egg-info/requires.txt +0 -0
- {hungerlib-2.2.4.dev0 → hungerlib-2.3.dev0}/src/hungerlib.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from hungerlib import Config, Panel
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
from hungerlib.addons.colormap import ASCI_COLOR_MAP, MC_COLOR_MAP
|
|
4
|
+
|
|
5
|
+
ExampleConfig = Config(
|
|
6
|
+
|
|
7
|
+
# Color maps
|
|
8
|
+
file_color_map=None,
|
|
9
|
+
origin_color_map=ASCI_COLOR_MAP.copy(),
|
|
10
|
+
destination_color_map=ASCI_COLOR_MAP.copy(),
|
|
11
|
+
mc_color_map=MC_COLOR_MAP.copy(),
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# --- Prefixes ---
|
|
15
|
+
info_prefix='<white>[INFO]: ',
|
|
16
|
+
warn_prefix='<yellow>[WARN]: ',
|
|
17
|
+
error_prefix='<red>[ERROR]: ',
|
|
18
|
+
console_backspaces=8,
|
|
19
|
+
|
|
20
|
+
# --- Logging ---
|
|
21
|
+
log_path=Path("/home/container/logs"),
|
|
22
|
+
log_destination_method='rcon',
|
|
23
|
+
|
|
24
|
+
)
|
|
@@ -25,19 +25,19 @@ _EXPORTS = {
|
|
|
25
25
|
"minsUntil": ("scheduler", "minsUntil"),
|
|
26
26
|
|
|
27
27
|
# servers
|
|
28
|
-
"GenericServer": ("servers.
|
|
28
|
+
"GenericServer": ("servers.generic", "GenericServer"),
|
|
29
29
|
"MinecraftServer": ("servers.minecraft", "MinecraftServer"),
|
|
30
30
|
|
|
31
31
|
# addons
|
|
32
|
-
"genericAddons": ("addons.
|
|
32
|
+
"genericAddons": ("addons.generic", None),
|
|
33
33
|
"minecraftAddons": ("addons.minecraft", None),
|
|
34
34
|
"colormap": ("addons.colormap", None),
|
|
35
35
|
|
|
36
36
|
# addon utilities
|
|
37
|
-
"runCountdownEvents": ("addons.
|
|
38
|
-
"validateAll": ("addons.
|
|
39
|
-
"waitForOnline": ("addons.
|
|
40
|
-
"waitForOffline": ("addons.
|
|
37
|
+
"runCountdownEvents": ("addons.generic", "runCountdownEvents"),
|
|
38
|
+
"validateAll": ("addons.generic", "validateAll"),
|
|
39
|
+
"waitForOnline": ("addons.generic", "waitForOnline"),
|
|
40
|
+
"waitForOffline": ("addons.generic", "waitForOffline"),
|
|
41
41
|
"checkLag": ("addons.minecraft", "checkLag"),
|
|
42
42
|
"MC_COLOR_MAP": ("addons.colormap", "MC_COLOR_MAP"),
|
|
43
43
|
"ASCI_COLOR_MAP": ("addons.colormap", "ASCI_COLOR_MAP"),
|
|
@@ -10,27 +10,6 @@ from hungerlib.addons.colormap import *
|
|
|
10
10
|
|
|
11
11
|
@dataclass
|
|
12
12
|
class Config:
|
|
13
|
-
# panel defaults
|
|
14
|
-
panel_name: str | None = None
|
|
15
|
-
panel_url: str | None = None
|
|
16
|
-
panel_api_key: str | None = None
|
|
17
|
-
|
|
18
|
-
# generic server defaults
|
|
19
|
-
gs_name: str | None = None
|
|
20
|
-
gs_panel_url: str | None = None
|
|
21
|
-
gs_panel_api_key: str | None = None
|
|
22
|
-
gs_server_id: str | None = None
|
|
23
|
-
|
|
24
|
-
# minecraft server defaults
|
|
25
|
-
mc_name: str | None = None
|
|
26
|
-
mc_panel_url: str | None = None
|
|
27
|
-
mc_panel_api_key: str | None = None
|
|
28
|
-
mc_server_id: str | None = None
|
|
29
|
-
mc_server_domain: str | None = None
|
|
30
|
-
mc_server_port: int = 25565
|
|
31
|
-
mc_rcon_port: int = 25575
|
|
32
|
-
mc_rcon_password: str | None = None
|
|
33
|
-
mc_tpsCommand: str = 'tt20 tps'
|
|
34
13
|
|
|
35
14
|
# Color maps
|
|
36
15
|
file_color_map: dict | None = None
|
|
@@ -48,4 +27,4 @@ class Config:
|
|
|
48
27
|
log_path: Path = Path("/home/container/logs")
|
|
49
28
|
log_destination_method: str = 'rcon'
|
|
50
29
|
|
|
51
|
-
_internal_config = Config
|
|
30
|
+
_internal_config = Config()
|
|
@@ -6,18 +6,14 @@ from hungerlib.api.filemanager import FileManagerAPI
|
|
|
6
6
|
from hungerlib.api.backups import BackupsAPI
|
|
7
7
|
from hungerlib.api.databases import DatabasesAPI
|
|
8
8
|
from hungerlib.api.startup import StartupAPI
|
|
9
|
-
from hungerlib.config import Config
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
class Panel:
|
|
13
12
|
"""High-level panel object"""
|
|
14
|
-
def __init__(self, name
|
|
15
|
-
self.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
self.name = name or Config.panel_name
|
|
19
|
-
self.url = (url or Config.panel_url).rstrip("/")
|
|
20
|
-
self.api_key = api_key or Config.panel_api_key
|
|
13
|
+
def __init__(self, name, url, api_key):
|
|
14
|
+
self.name = name
|
|
15
|
+
self.url = url.rstrip("/")
|
|
16
|
+
self.api_key = api_key
|
|
21
17
|
|
|
22
18
|
# API modules
|
|
23
19
|
self.schedules = ScheduleAPI(self)
|
|
@@ -5,27 +5,15 @@ from hungerlib.panel import Panel
|
|
|
5
5
|
class GenericServer:
|
|
6
6
|
def __init__(
|
|
7
7
|
self,
|
|
8
|
-
name=
|
|
9
|
-
panel
|
|
10
|
-
server_id
|
|
11
|
-
Config=None
|
|
8
|
+
name='Unnamed Server',
|
|
9
|
+
panel,
|
|
10
|
+
server_id
|
|
12
11
|
):
|
|
13
12
|
'''Generic server class'''
|
|
14
|
-
self.Config = Config
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
self.name = name or Config.gs_name or "Unnamed Server"
|
|
18
|
-
|
|
19
|
-
# panel (must be explicit)
|
|
14
|
+
self.name = name
|
|
20
15
|
self.panel = panel
|
|
21
|
-
|
|
22
|
-
raise TypeError("GenericServer requires a Panel instance")
|
|
23
|
-
|
|
24
|
-
# server_id (must be explicit or valid default)
|
|
25
|
-
self.server_id = server_id or Config.gs_server_id
|
|
26
|
-
if not isinstance(self.server_id, str):
|
|
27
|
-
raise TypeError("GenericServer requires a server_id string")
|
|
28
|
-
|
|
16
|
+
self.server_id = server_id
|
|
29
17
|
self._cached_resources = None
|
|
30
18
|
|
|
31
19
|
# internal helpers
|
|
@@ -3,29 +3,28 @@ import time
|
|
|
3
3
|
import re
|
|
4
4
|
import mcrcon
|
|
5
5
|
from hungerlib.panel import Panel
|
|
6
|
-
from hungerlib.servers.
|
|
6
|
+
from hungerlib.servers.generic import GenericServer
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class MinecraftServer(GenericServer):
|
|
10
10
|
def __init__(
|
|
11
11
|
self,
|
|
12
|
-
name
|
|
13
|
-
panel
|
|
14
|
-
server_id
|
|
15
|
-
server_domain
|
|
16
|
-
server_port=
|
|
17
|
-
rcon_port=
|
|
18
|
-
rcon_password
|
|
19
|
-
tpsCommand=
|
|
20
|
-
Config=None
|
|
12
|
+
name,
|
|
13
|
+
panel,
|
|
14
|
+
server_id,
|
|
15
|
+
server_domain,
|
|
16
|
+
server_port=25565,
|
|
17
|
+
rcon_port=25575,
|
|
18
|
+
rcon_password,
|
|
19
|
+
tpsCommand='tt20 tps'
|
|
21
20
|
):
|
|
22
|
-
super().__init__(name, panel, server_id
|
|
21
|
+
super().__init__(name, panel, server_id)
|
|
23
22
|
|
|
24
|
-
self.server_domain = server_domain
|
|
25
|
-
self.server_port = server_port
|
|
26
|
-
self.rcon_port = rcon_port
|
|
27
|
-
self.rcon_password = rcon_password
|
|
28
|
-
self.tpsCommand = tpsCommand
|
|
23
|
+
self.server_domain = server_domain
|
|
24
|
+
self.server_port = server_port
|
|
25
|
+
self.rcon_port = rcon_port
|
|
26
|
+
self.rcon_password = rcon_password
|
|
27
|
+
self.tpsCommand = tpsCommand
|
|
29
28
|
|
|
30
29
|
|
|
31
30
|
|
|
@@ -13,8 +13,8 @@ src/hungerlib.egg-info/SOURCES.txt
|
|
|
13
13
|
src/hungerlib.egg-info/dependency_links.txt
|
|
14
14
|
src/hungerlib.egg-info/requires.txt
|
|
15
15
|
src/hungerlib.egg-info/top_level.txt
|
|
16
|
-
src/hungerlib/addons/_generic.py
|
|
17
16
|
src/hungerlib/addons/colormap.py
|
|
17
|
+
src/hungerlib/addons/generic.py
|
|
18
18
|
src/hungerlib/addons/minecraft.py
|
|
19
19
|
src/hungerlib/api/__init__.py
|
|
20
20
|
src/hungerlib/api/backups.py
|
|
@@ -23,5 +23,5 @@ src/hungerlib/api/databases.py
|
|
|
23
23
|
src/hungerlib/api/filemanager.py
|
|
24
24
|
src/hungerlib/api/schedule.py
|
|
25
25
|
src/hungerlib/api/startup.py
|
|
26
|
-
src/hungerlib/servers/
|
|
26
|
+
src/hungerlib/servers/generic.py
|
|
27
27
|
src/hungerlib/servers/minecraft.py
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
from hungerlib import Config
|
|
2
|
-
from pathlib import Path
|
|
3
|
-
from hungerlib.addons.colormap import ASCI_COLOR_MAP, MC_COLOR_MAP
|
|
4
|
-
|
|
5
|
-
ExampleConfig = Config(
|
|
6
|
-
# --- Panel settings ---
|
|
7
|
-
panel_name="My Panel",
|
|
8
|
-
panel_url="https://example.com",
|
|
9
|
-
panel_api_key='API_KEY_HERE',
|
|
10
|
-
|
|
11
|
-
# --- Generic server settings ---
|
|
12
|
-
gs_name='My Server',
|
|
13
|
-
gs_panel_url='https://example.com',
|
|
14
|
-
gs_panel_api_key='API_KEY_HERE',
|
|
15
|
-
gs_server_id='SERVER_ID_HERE',
|
|
16
|
-
|
|
17
|
-
# --- Minecraft server settings ---
|
|
18
|
-
mc_name='My Minecraft Server',
|
|
19
|
-
mc_panel_url='https://example.com',
|
|
20
|
-
mc_panel_api_key='API_KEY_HERE',
|
|
21
|
-
mc_server_id='SERVER_ID_HERE',
|
|
22
|
-
mc_server_domain='mc.example.com',
|
|
23
|
-
mc_server_port=25565,
|
|
24
|
-
mc_rcon_port=25575,
|
|
25
|
-
mc_rcon_password='RCON_PASSWORD_HERE',
|
|
26
|
-
mc_tpsCommand='tt20 tps',
|
|
27
|
-
|
|
28
|
-
# Color maps
|
|
29
|
-
file_color_map=None,
|
|
30
|
-
origin_color_map=ASCI_COLOR_MAP.copy(),
|
|
31
|
-
destination_color_map=ASCI_COLOR_MAP.copy(),
|
|
32
|
-
mc_color_map=MC_COLOR_MAP.copy(),
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
# --- Prefixes ---
|
|
36
|
-
info_prefix='<white>[INFO]: ',
|
|
37
|
-
warn_prefix='<yellow>[WARN]: ',
|
|
38
|
-
error_prefix='<red>[ERROR]: ',
|
|
39
|
-
console_backspaces=8,
|
|
40
|
-
|
|
41
|
-
# --- Logging ---
|
|
42
|
-
log_path=Path("/home/container/logs"),
|
|
43
|
-
log_destination_method='rcon',
|
|
44
|
-
|
|
45
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|