hungerlib 3.0.dev24__tar.gz → 3.0.dev26__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 (32) hide show
  1. {hungerlib-3.0.dev24/src/hungerlib.egg-info → hungerlib-3.0.dev26}/PKG-INFO +1 -1
  2. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/pyproject.toml +1 -1
  3. hungerlib-3.0.dev26/src/hungerlib/__init__.py +58 -0
  4. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/configloader.py +0 -5
  5. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/datamap.py +9 -19
  6. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/messagerouter.py +0 -6
  7. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/panel.py +0 -6
  8. hungerlib-3.0.dev26/src/hungerlib/servers/__init__.py +7 -0
  9. hungerlib-3.0.dev26/src/hungerlib/utils/__init__.py +25 -0
  10. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26/src/hungerlib.egg-info}/PKG-INFO +1 -1
  11. hungerlib-3.0.dev24/src/hungerlib/__init__.py +0 -30
  12. hungerlib-3.0.dev24/src/hungerlib/servers/__init__.py +0 -17
  13. hungerlib-3.0.dev24/src/hungerlib/utils/__init__.py +0 -46
  14. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/LICENSE +0 -0
  15. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/README.md +0 -0
  16. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/setup.cfg +0 -0
  17. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/api/__init__.py +0 -0
  18. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/api/backups.py +0 -0
  19. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/api/command.py +0 -0
  20. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/api/databases.py +0 -0
  21. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/api/filemanager.py +0 -0
  22. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/api/schedule.py +0 -0
  23. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/api/startup.py +0 -0
  24. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/servers/generic.py +0 -0
  25. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/servers/minecraft.py +0 -0
  26. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/utils/colormaps.py +0 -0
  27. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/utils/time.py +0 -0
  28. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib/utils/utils.py +0 -0
  29. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib.egg-info/SOURCES.txt +0 -0
  30. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib.egg-info/dependency_links.txt +0 -0
  31. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/src/hungerlib.egg-info/requires.txt +0 -0
  32. {hungerlib-3.0.dev24 → hungerlib-3.0.dev26}/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: 3.0.dev24
3
+ Version: 3.0.dev26
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 = "3.0.dev24"
10
+ version = "3.0.dev26"
11
11
  description = "Powerful automation library for Pterodactyl."
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.9"
@@ -0,0 +1,58 @@
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
+ # modules
10
+ from .configloader import loadConfig
11
+ from .datamap import set_default_maps, get_default_maps, Syntax, DataMap, datamap, mapit
12
+ from .messagerouter import MessageRouter
13
+ from .servers import GenericServer, MinecraftServer
14
+ from .utils import (
15
+ ColorMap,
16
+ ASCII_COLOR_MAP,
17
+ MC_COLOR_MAP,
18
+ snapSchedule,
19
+ runCountdownEvents,
20
+ waitForOnline,
21
+ waitForOffline,
22
+ secsUntil,
23
+ minsUntil,
24
+ Snapshot,
25
+ clearTerminal,
26
+ validateAll,
27
+ )
28
+
29
+ __all__ = [
30
+ '__version__',
31
+
32
+ 'loadConfig',
33
+ 'MessageRouter',
34
+ 'Panel',
35
+
36
+ 'set_default_maps',
37
+ 'get_default_maps',
38
+ 'Syntax',
39
+ 'DataMap',
40
+ 'datamap',
41
+ 'mapit',
42
+
43
+ 'GenericServer',
44
+ 'MinecraftServer',
45
+
46
+ 'ColorMap',
47
+ 'ASCII_COLOR_MAP',
48
+ 'MC_COLOR_MAP',
49
+ 'snapSchedule',
50
+ 'runCountdownEvents',
51
+ 'waitForOnline',
52
+ 'waitForOffline',
53
+ 'secsUntil',
54
+ 'minsUntil',
55
+ 'Snapshot',
56
+ 'clearTerminal',
57
+ 'validateAll',
58
+ ]
@@ -66,8 +66,3 @@ def loadConfig(path, default_path, schema):
66
66
  setattr(target, attr, value)
67
67
 
68
68
  return cfg
69
-
70
- def load():
71
- caller = inspect.currentframe().f_back.f_globals
72
- from .configloader import loadConfig
73
- caller["loadConfig"] = loadConfig
@@ -40,8 +40,14 @@ def datamap(_cls=None, *, syntax=Syntax.braces):
40
40
  cls.__syntax__ = syntax
41
41
  cls = type(cls.__name__, (DataMap,), dict(cls.__dict__))
42
42
  return dataclass(frozen=True)(cls)
43
+
43
44
  return wrap if _cls is None else wrap(_cls)
44
45
 
46
+ datamap.braces = datamap(syntax=Syntax.braces)
47
+ datamap.angles = datamap(syntax=Syntax.angles)
48
+ datamap.dollars = datamap(syntax=Syntax.dollars)
49
+ datamap.percents = datamap(syntax=Syntax.percents)
50
+
45
51
  # core templating
46
52
  def mapit(text: str, *maps, **runtime):
47
53
  maps = (*get_default_maps(), *maps)
@@ -61,27 +67,11 @@ def mapit(text: str, *maps, **runtime):
61
67
  d = m
62
68
  else:
63
69
  continue
70
+
64
71
  def repl(match):
65
72
  k = match.group(1)
66
73
  return str(d.get(k, match.group(0)))
67
- text = re.sub(pattern, repl, text)
68
- return text
69
74
 
75
+ text = re.sub(pattern, repl, text)
70
76
 
71
- def load():
72
- caller = inspect.currentframe().f_back.f_globals
73
- module = sys.modules[__name__]
74
-
75
- # Inject into caller (normal selective load)
76
- caller.update({
77
- "mapit": mapit,
78
- "Syntax": Syntax,
79
- "DataMap": DataMap,
80
- "datamap": datamap,
81
- })
82
-
83
- # Inject into module namespace (for decorators)
84
- module.mapit = mapit
85
- module.Syntax = Syntax
86
- module.DataMap = DataMap
87
- module.datamap = datamap
77
+ return text
@@ -146,9 +146,3 @@ class MessageRouter:
146
146
 
147
147
  def error(self, template, **fmt):
148
148
  self.say(self.error_prefix + template, level="error", **fmt)
149
-
150
-
151
- def load():
152
- caller = inspect.currentframe().f_back.f_globals
153
- from .messagerouter import MessageRouter
154
- caller["MessageRouter"] = MessageRouter
@@ -59,9 +59,3 @@ class Panel:
59
59
  def validateAPI(self):
60
60
  r = self.get("/api/client/account")
61
61
  return r.status_code == 200
62
-
63
-
64
- def load():
65
- caller = inspect.currentframe().f_back.f_globals
66
- from .panel import Panel
67
- caller["Panel"] = Panel
@@ -0,0 +1,7 @@
1
+ from .generic import GenericServer
2
+ from .minecraft import MinecraftServer
3
+
4
+ __all__ = [
5
+ "GenericServer",
6
+ "MinecraftServer",
7
+ ]
@@ -0,0 +1,25 @@
1
+ from .colormaps import ColorMap, ASCII_COLOR_MAP, MC_COLOR_MAP
2
+ from .time import (
3
+ snapSchedule,
4
+ runCountdownEvents,
5
+ waitForOnline,
6
+ waitForOffline,
7
+ secsUntil,
8
+ minsUntil
9
+ )
10
+ from .utils import Snapshot, clearTerminal, validateAll
11
+
12
+ __all__ = [
13
+ 'ColorMap',
14
+ 'ASCII_COLOR_MAP',
15
+ 'MC_COLOR_MAP',
16
+ 'snapSchedule',
17
+ 'runCountdownEvents',
18
+ 'waitForOnline',
19
+ 'waitForOffline',
20
+ 'secsUntil',
21
+ 'minsUntil',
22
+ 'Snapshot',
23
+ 'clearTerminal',
24
+ 'validateAll',
25
+ ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hungerlib
3
- Version: 3.0.dev24
3
+ Version: 3.0.dev26
4
4
  Summary: Powerful automation library for Pterodactyl.
5
5
  Author: iFamished
6
6
  License: MIT
@@ -1,30 +0,0 @@
1
- import inspect
2
-
3
- def load():
4
- caller = inspect.currentframe().f_back.f_globals
5
-
6
- # All modules that support .load()
7
- from . import (
8
- datamap,
9
- servers,
10
- configloader,
11
- panel,
12
- messagerouter,
13
- utils
14
- )
15
-
16
- modules = {
17
- "datamap": datamap,
18
- "servers": servers,
19
- "configloader": configloader,
20
- "panel": panel,
21
- "messagerouter": messagerouter,
22
- "utils": utils,
23
- }
24
-
25
- # For each module the user imported, call its loader
26
- for name, module in modules.items():
27
- if name in caller:
28
- loader = getattr(module, "load", None)
29
- if callable(loader):
30
- loader()
@@ -1,17 +0,0 @@
1
- from .generic import GenericServer
2
- from .minecraft import MinecraftServer
3
-
4
- __all__ = [
5
- "GenericServer",
6
- "MinecraftServer",
7
- "load",
8
- ]
9
-
10
- import inspect
11
-
12
- def load():
13
- caller = inspect.currentframe().f_back.f_globals
14
- caller.update({
15
- "GenericServer": GenericServer,
16
- "MinecraftServer": MinecraftServer,
17
- })
@@ -1,46 +0,0 @@
1
- from .colormaps import ColorMap, ASCII_COLOR_MAP, MC_COLOR_MAP
2
- from .time import (
3
- snapSchedule,
4
- runCountdownEvents,
5
- waitForOnline,
6
- waitForOffline,
7
- secsUntil,
8
- minsUntil
9
- )
10
- from .utils import Snapshot, clearTerminal, validateAll
11
-
12
- __all__ = [
13
- 'ColorMap',
14
- 'ASCII_COLOR_MAP',
15
- 'MC_COLOR_MAP',
16
- 'snapSchedule',
17
- 'runCountdownEvents',
18
- 'waitForOnline',
19
- 'waitForOffline',
20
- 'secsUntil',
21
- 'minsUntil',
22
- 'Snapshot',
23
- 'clearTerminal',
24
- 'validateAll',
25
- 'load'
26
- ]
27
-
28
- # === Loader for selective unpacking ===
29
- import inspect
30
-
31
- def load():
32
- caller = inspect.currentframe().f_back.f_globals
33
- caller.update({
34
- "ColorMap": ColorMap,
35
- "ASCII_COLOR_MAP": ASCII_COLOR_MAP,
36
- "MC_COLOR_MAP": MC_COLOR_MAP,
37
- "snapSchedule": snapSchedule,
38
- "runCountdownEvents": runCountdownEvents,
39
- "waitForOnline": waitForOnline,
40
- "waitForOffline": waitForOffline,
41
- "secsUntil": secsUntil,
42
- "minsUntil": minsUntil,
43
- "Snapshot": Snapshot,
44
- "clearTerminal": clearTerminal,
45
- "validateAll": validateAll,
46
- })
File without changes
File without changes
File without changes