hungerlib 3.0.dev32__tar.gz → 3.2.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 (29) hide show
  1. {hungerlib-3.0.dev32/src/hungerlib.egg-info → hungerlib-3.2.dev0}/PKG-INFO +1 -1
  2. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/pyproject.toml +1 -1
  3. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/datamap.py +4 -16
  4. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0/src/hungerlib.egg-info}/PKG-INFO +1 -1
  5. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/LICENSE +0 -0
  6. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/README.md +0 -0
  7. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/setup.cfg +0 -0
  8. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/__init__.py +0 -0
  9. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/api/__init__.py +0 -0
  10. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/api/backups.py +0 -0
  11. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/api/command.py +0 -0
  12. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/api/databases.py +0 -0
  13. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/api/filemanager.py +0 -0
  14. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/api/schedule.py +0 -0
  15. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/api/startup.py +0 -0
  16. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/configloader.py +0 -0
  17. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/messagerouter.py +0 -0
  18. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/panel.py +0 -0
  19. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/servers/__init__.py +0 -0
  20. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/servers/generic.py +0 -0
  21. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/servers/minecraft.py +0 -0
  22. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/utils/__init__.py +0 -0
  23. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/utils/colormaps.py +0 -0
  24. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/utils/time.py +0 -0
  25. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib/utils/utils.py +0 -0
  26. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib.egg-info/SOURCES.txt +0 -0
  27. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib.egg-info/dependency_links.txt +0 -0
  28. {hungerlib-3.0.dev32 → hungerlib-3.2.dev0}/src/hungerlib.egg-info/requires.txt +0 -0
  29. {hungerlib-3.0.dev32 → hungerlib-3.2.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: 3.0.dev32
3
+ Version: 3.2.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 = "3.0.dev32"
10
+ version = "3.2.dev"
11
11
  description = "Powerful automation library for Pterodactyl."
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.9"
@@ -1,9 +1,6 @@
1
1
  import re
2
- import inspect
3
- import sys
4
2
  from dataclasses import dataclass, fields, is_dataclass
5
3
 
6
- # default maps
7
4
  _default_maps = []
8
5
 
9
6
  def set_default_maps(*maps):
@@ -13,34 +10,32 @@ def set_default_maps(*maps):
13
10
  def get_default_maps():
14
11
  return _default_maps
15
12
 
16
- # syntax patterns
17
13
  class Syntax:
18
14
  braces = r"\{([^{}]+)\}"
19
15
  dollars = r"\$\{([^{}]+)\}"
20
16
  angles = r"<([^<>]+)>"
21
17
  percents = r"%([^%]+)%"
22
18
 
23
- # base datamap
24
19
  @dataclass(frozen=True)
25
20
  class DataMap:
26
21
  __syntax__: str = Syntax.braces
22
+ __mode__ = None
27
23
  def as_map(self):
28
24
  return {
29
25
  f.name: getattr(self, f.name)
30
26
  for f in fields(self)
31
- if f.init and f.name != "__syntax__"
27
+ if f.init and f.name not in ("__syntax__", "__mode__")
32
28
  }
33
29
  @classmethod
34
30
  def get_syntax(cls):
35
31
  return getattr(cls, "__syntax__", Syntax.braces)
36
32
 
37
- # decorator
38
- def datamap(_cls=None, *, syntax=Syntax.braces):
33
+ def datamap(_cls=None, *, syntax=Syntax.braces, mode=None):
39
34
  def wrap(cls):
40
35
  cls.__syntax__ = syntax
36
+ cls.__mode__ = mode
41
37
  cls = type(cls.__name__, (DataMap,), dict(cls.__dict__))
42
38
  return dataclass(frozen=True)(cls)
43
-
44
39
  return wrap if _cls is None else wrap(_cls)
45
40
 
46
41
  datamap.braces = datamap(syntax=Syntax.braces)
@@ -48,7 +43,6 @@ datamap.angles = datamap(syntax=Syntax.angles)
48
43
  datamap.dollars = datamap(syntax=Syntax.dollars)
49
44
  datamap.percents = datamap(syntax=Syntax.percents)
50
45
 
51
- # core templating
52
46
  def mapit(text: str, *maps, **runtime):
53
47
  maps = (*get_default_maps(), *maps)
54
48
  for m in maps:
@@ -67,21 +61,15 @@ def mapit(text: str, *maps, **runtime):
67
61
  d = m
68
62
  else:
69
63
  continue
70
-
71
64
  def repl(match):
72
65
  k = match.group(1)
73
66
  return str(d.get(k, match.group(0)))
74
-
75
67
  text = re.sub(pattern, repl, text)
76
-
77
68
  if runtime:
78
69
  pattern = Syntax.braces
79
70
  d = runtime
80
-
81
71
  def repl(match):
82
72
  k = match.group(1)
83
73
  return str(d.get(k, match.group(0)))
84
-
85
74
  text = re.sub(pattern, repl, text)
86
-
87
75
  return text
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hungerlib
3
- Version: 3.0.dev32
3
+ Version: 3.2.dev0
4
4
  Summary: Powerful automation library for Pterodactyl.
5
5
  Author: iFamished
6
6
  License: MIT
File without changes
File without changes
File without changes