hungerlib 2.3.6.dev0__tar.gz → 2.4.1.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.
Files changed (31) hide show
  1. {hungerlib-2.3.6.dev0/src/hungerlib.egg-info → hungerlib-2.4.1.dev0}/PKG-INFO +1 -1
  2. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/pyproject.toml +1 -1
  3. hungerlib-2.4.1.dev0/src/hungerlib/__init__.py +33 -0
  4. hungerlib-2.4.1.dev0/src/hungerlib/addons/__init__.py +19 -0
  5. hungerlib-2.3.6.dev0/src/hungerlib/addons/generic.py → hungerlib-2.4.1.dev0/src/hungerlib/addons/countdown.py +1 -9
  6. hungerlib-2.4.1.dev0/src/hungerlib/addons/validation.py +9 -0
  7. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib/logger.py +1 -1
  8. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib/panel.py +6 -6
  9. hungerlib-2.4.1.dev0/src/hungerlib/servers/__init__.py +7 -0
  10. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib/servers/generic.py +9 -1
  11. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib/servers/minecraft.py +2 -2
  12. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0/src/hungerlib.egg-info}/PKG-INFO +1 -1
  13. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib.egg-info/SOURCES.txt +7 -4
  14. hungerlib-2.3.6.dev0/src/hungerlib/__init__.py +0 -74
  15. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/LICENSE +0 -0
  16. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/README.md +0 -0
  17. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/setup.cfg +0 -0
  18. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib/addons/colormap.py +0 -0
  19. /hungerlib-2.3.6.dev0/src/hungerlib/addons/minecraft.py → /hungerlib-2.4.1.dev0/src/hungerlib/addons/lag.py +0 -0
  20. {hungerlib-2.3.6.dev0/src/hungerlib → hungerlib-2.4.1.dev0/src/hungerlib/addons}/mchelpers.py +0 -0
  21. {hungerlib-2.3.6.dev0/src/hungerlib → hungerlib-2.4.1.dev0/src/hungerlib/addons}/scheduler.py +0 -0
  22. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib/api/__init__.py +0 -0
  23. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib/api/backups.py +0 -0
  24. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib/api/command.py +0 -0
  25. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib/api/databases.py +0 -0
  26. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib/api/filemanager.py +0 -0
  27. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib/api/schedule.py +0 -0
  28. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib/api/startup.py +0 -0
  29. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib.egg-info/dependency_links.txt +0 -0
  30. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib.egg-info/requires.txt +0 -0
  31. {hungerlib-2.3.6.dev0 → hungerlib-2.4.1.dev0}/src/hungerlib.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hungerlib
3
- Version: 2.3.6.dev0
3
+ Version: 2.4.1.dev0
4
4
  Summary: Powerful automation library for Pterodactyl.
5
5
  Author: iFamished
6
6
  License: MIT
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
7
7
 
8
8
  [project]
9
9
  name = "hungerlib"
10
- version = "2.3.6-dev"
10
+ version = "2.4.1-dev"
11
11
  description = "Powerful automation library for Pterodactyl."
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.10"
@@ -0,0 +1,33 @@
1
+ from importlib.metadata import version as _pkg_version, PackageNotFoundError
2
+
3
+ # Package version
4
+ try:
5
+ __version__ = _pkg_version("hungerlib")
6
+ except PackageNotFoundError:
7
+ __version__ = "0.0.0"
8
+
9
+ # --- Core modules ---
10
+ from .panel import Panel
11
+ from .logger import HungerLogger
12
+
13
+ # --- API endpoints ---
14
+ from .api.schedule import ScheduleAPI
15
+ from .api.filemanager import FileManagerAPI
16
+ from .api.backups import BackupsAPI
17
+ from .api.databases import DatabasesAPI
18
+ from .api.startup import StartupAPI
19
+
20
+ __all__ = [
21
+ "__version__",
22
+
23
+ # core utilities
24
+ "Panel",
25
+ "HungerLogger",
26
+
27
+ # API endpoints
28
+ "ScheduleAPI",
29
+ "FileManagerAPI",
30
+ "BackupsAPI",
31
+ "DatabasesAPI",
32
+ "StartupAPI",
33
+ ]
@@ -0,0 +1,19 @@
1
+ from .colormap import ColorMap, MC_COLOR_MAP, ASCII_COLOR_MAP
2
+ from .countdown import runCountdownEvents, waitForOnline, waitForOffline
3
+ from .lag import checkLag
4
+ from .scheduler import snapSchedule, secsUntil, minsUntil
5
+ from .validation import validateAll
6
+
7
+ __all__ = [
8
+ 'ColorMap',
9
+ 'MC_COLOR_MAP',
10
+ 'ASCII_COLOR_MAP',
11
+ 'runCountdownEvents',
12
+ 'waitForOnline',
13
+ 'waitForOffline',
14
+ 'checkLag',
15
+ 'snapSchedule',
16
+ 'secsUntil',
17
+ 'minsUntil',
18
+ 'validateAll',
19
+ ]
@@ -59,15 +59,7 @@ def runCountdownEvents(
59
59
  time.sleep(tick_interval)
60
60
 
61
61
 
62
- def validateAll(panel, server):
63
- """
64
- Validate panel connectivity, API access, and server running state.
65
- """
66
- return (
67
- panel.ping() is True and
68
- panel.validateAPI() is True and
69
- server.getStatus() == "running"
70
- )
62
+
71
63
 
72
64
 
73
65
  # ============================================================
@@ -0,0 +1,9 @@
1
+ def validateAll(panel, server):
2
+ """
3
+ Validate panel connectivity, API access, and server running state.
4
+ """
5
+ return (
6
+ panel.ping() is True and
7
+ panel.validateAPI() is True and
8
+ server.getStatus() == "running"
9
+ )
@@ -8,7 +8,7 @@ time.tzset()
8
8
  import logging
9
9
  from pathlib import Path
10
10
  from datetime import datetime
11
- from hungerlib.addons.colormap import ASCII_COLOR_MAP, MC_COLOR_MAP
11
+ from hungerlib.addons import ASCII_COLOR_MAP, MC_COLOR_MAP
12
12
 
13
13
 
14
14
  class HungerLogger:
@@ -1,11 +1,11 @@
1
1
  import requests
2
2
 
3
- from hungerlib.api.command import CommandAPI
4
- from hungerlib.api.schedule import ScheduleAPI
5
- from hungerlib.api.filemanager import FileManagerAPI
6
- from hungerlib.api.backups import BackupsAPI
7
- from hungerlib.api.databases import DatabasesAPI
8
- from hungerlib.api.startup import StartupAPI
3
+ from hungerlib.api import CommandAPI
4
+ from hungerlib.api import ScheduleAPI
5
+ from hungerlib.api import FileManagerAPI
6
+ from hungerlib.api import BackupsAPI
7
+ from hungerlib.api import DatabasesAPI
8
+ from hungerlib.api import StartupAPI
9
9
 
10
10
 
11
11
  class Panel:
@@ -0,0 +1,7 @@
1
+ from .generic import GenericServer
2
+ from .minecraft import MinecraftServer
3
+
4
+ __all__ = [
5
+ "GenericServer",
6
+ "MinecraftServer",
7
+ ]
@@ -1,5 +1,5 @@
1
1
  # Universal server class
2
- from hungerlib.panel import Panel
2
+ from hungerlib import Panel
3
3
 
4
4
 
5
5
  class GenericServer:
@@ -162,6 +162,14 @@ class GenericServer:
162
162
  def runSchedule(self, schedule_id):
163
163
  return self.panel.schedules.run(self.server_id, schedule_id)
164
164
 
165
+ def enableSchedule(self, schedule_id):
166
+ payload = {"is_active": True}
167
+ return self.updateSchedule(schedule_id, payload)
168
+ def disableSchedule(self, schedule_id):
169
+ payload = {"is_active": False}
170
+ return self.updateSchedule(schedule_id, payload)
171
+
172
+
165
173
 
166
174
  # health snapshot
167
175
  def snapshot(self):
@@ -2,8 +2,8 @@
2
2
  import time
3
3
  import re
4
4
  import mcrcon
5
- from hungerlib.panel import Panel
6
- from hungerlib.servers.generic import GenericServer
5
+ from hungerlib import Panel
6
+ from hungerlib.servers import GenericServer
7
7
 
8
8
 
9
9
  class MinecraftServer(GenericServer):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hungerlib
3
- Version: 2.3.6.dev0
3
+ Version: 2.4.1.dev0
4
4
  Summary: Powerful automation library for Pterodactyl.
5
5
  Author: iFamished
6
6
  License: MIT
@@ -3,17 +3,19 @@ README.md
3
3
  pyproject.toml
4
4
  src/hungerlib/__init__.py
5
5
  src/hungerlib/logger.py
6
- src/hungerlib/mchelpers.py
7
6
  src/hungerlib/panel.py
8
- src/hungerlib/scheduler.py
9
7
  src/hungerlib.egg-info/PKG-INFO
10
8
  src/hungerlib.egg-info/SOURCES.txt
11
9
  src/hungerlib.egg-info/dependency_links.txt
12
10
  src/hungerlib.egg-info/requires.txt
13
11
  src/hungerlib.egg-info/top_level.txt
12
+ src/hungerlib/addons/__init__.py
14
13
  src/hungerlib/addons/colormap.py
15
- src/hungerlib/addons/generic.py
16
- src/hungerlib/addons/minecraft.py
14
+ src/hungerlib/addons/countdown.py
15
+ src/hungerlib/addons/lag.py
16
+ src/hungerlib/addons/mchelpers.py
17
+ src/hungerlib/addons/scheduler.py
18
+ src/hungerlib/addons/validation.py
17
19
  src/hungerlib/api/__init__.py
18
20
  src/hungerlib/api/backups.py
19
21
  src/hungerlib/api/command.py
@@ -21,5 +23,6 @@ src/hungerlib/api/databases.py
21
23
  src/hungerlib/api/filemanager.py
22
24
  src/hungerlib/api/schedule.py
23
25
  src/hungerlib/api/startup.py
26
+ src/hungerlib/servers/__init__.py
24
27
  src/hungerlib/servers/generic.py
25
28
  src/hungerlib/servers/minecraft.py
@@ -1,74 +0,0 @@
1
- from importlib.metadata import version as _pkg_version, PackageNotFoundError
2
- import importlib
3
-
4
- try:
5
- __version__ = _pkg_version("hungerlib")
6
- except PackageNotFoundError:
7
- __version__ = "0.0.0"
8
-
9
-
10
- # Public API map
11
- # name -> (module_path, attribute_name or None)
12
- _EXPORTS = {
13
- # core modules
14
- "panel": ("panel", None),
15
- "config": ("config", None),
16
- "logger": ("logger", None),
17
- "scheduler": ('scheduler', None),
18
-
19
- # core module utilities
20
- "Panel": ('panel', 'Panel'),
21
- 'Config': ('config', 'Config'),
22
- 'HungerLogger': ('logger', 'HungerLogger'),
23
- "snapSchedule": ("scheduler", "snapSchedule"),
24
- "secsUntil": ("scheduler", "secsUntil"),
25
- "minsUntil": ("scheduler", "minsUntil"),
26
-
27
- # servers
28
- "GenericServer": ("servers.generic", "GenericServer"),
29
- "MinecraftServer": ("servers.minecraft", "MinecraftServer"),
30
-
31
- # addons
32
- "genericAddons": ("addons.generic", None),
33
- "minecraftAddons": ("addons.minecraft", None),
34
- "colormap": ("addons.colormap", None),
35
-
36
- # addon utilities
37
- "runCountdownEvents": ("addons.generic", "runCountdownEvents"),
38
- "validateAll": ("addons.generic", "validateAll"),
39
- "waitForOnline": ("addons.generic", "waitForOnline"),
40
- "waitForOffline": ("addons.generic", "waitForOffline"),
41
- "checkLag": ("addons.minecraft", "checkLag"),
42
- "MC_COLOR_MAP": ("addons.colormap", "MC_COLOR_MAP"),
43
- "ASCII_COLOR_MAP": ("addons.colormap", "ASCII_COLOR_MAP"),
44
-
45
- # api endpoints
46
- "ScheduleAPI": ("api.schedule", "ScheduleAPI"),
47
- "FileManagerAPI": ("api.filemanager", "FileManagerAPI"),
48
- "BackupsAPI": ("api.backups", "BackupsAPI"),
49
- "DatabasesAPI": ("api.databases", "DatabasesAPI"),
50
- "StartupAPI": ("api.startup", "StartupAPI")
51
-
52
- }
53
-
54
-
55
- __all__ = list(_EXPORTS.keys()) + ["__version__"]
56
-
57
-
58
- # Lazy loader
59
- def __getattr__(name):
60
- if name not in _EXPORTS:
61
- raise AttributeError(f"module 'hungerlib' has no attribute '{name}'")
62
-
63
- module_name, attr = _EXPORTS[name]
64
- module = importlib.import_module(f"hungerlib.{module_name}")
65
-
66
- # Export module itself
67
- if attr is None:
68
- globals()[name] = module
69
- return module
70
-
71
- # Export attribute from module
72
- value = getattr(module, attr)
73
- globals()[name] = value
74
- return value
File without changes
File without changes
File without changes