hungerlib 4.24.dev9__tar.gz → 4.24.dev10__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-4.24.dev9/src/hungerlib.egg-info → hungerlib-4.24.dev10}/PKG-INFO +2 -1
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/pyproject.toml +2 -1
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/email/email_templates/restart.html +3 -3
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/email/manager.py +7 -26
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10/src/hungerlib.egg-info}/PKG-INFO +2 -1
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib.egg-info/requires.txt +1 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/LICENSE +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/README.md +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/setup.cfg +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/__init__.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/api/__init__.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/api/backups.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/api/command.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/api/databases.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/api/filemanager.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/api/schedule.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/api/startup.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/bridgeclient.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/configloader.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/discord_bot_webhook.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/email/__init__.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/email/client.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/email/message.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/messagerouter.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/panel.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/servers/__init__.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/servers/generic.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/servers/minecraft.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/utils/__init__.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/utils/exceptions.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/utils/time.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/utils/utils.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/validator.py +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib.egg-info/SOURCES.txt +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib.egg-info/dependency_links.txt +0 -0
- {hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/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: 4.24.
|
|
3
|
+
Version: 4.24.dev10
|
|
4
4
|
Summary: Powerful automation library for Pterodactyl.
|
|
5
5
|
Author: iFamished
|
|
6
6
|
License: MIT
|
|
@@ -26,6 +26,7 @@ Requires-Dist: requests
|
|
|
26
26
|
Requires-Dist: mcrcon
|
|
27
27
|
Requires-Dist: PyYaml
|
|
28
28
|
Requires-Dist: mapres
|
|
29
|
+
Requires-Dist: jinja2
|
|
29
30
|
Dynamic: license-file
|
|
30
31
|
|
|
31
32
|
# HungerLib
|
|
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
|
|
|
7
7
|
|
|
8
8
|
[project]
|
|
9
9
|
name = "hungerlib"
|
|
10
|
-
version = "4.24-dev.
|
|
10
|
+
version = "4.24-dev.10"
|
|
11
11
|
description = "Powerful automation library for Pterodactyl."
|
|
12
12
|
readme = "README.md"
|
|
13
13
|
requires-python = ">=3.9"
|
|
@@ -28,6 +28,7 @@ dependencies = [
|
|
|
28
28
|
"mcrcon",
|
|
29
29
|
"PyYaml",
|
|
30
30
|
"mapres",
|
|
31
|
+
"jinja2",
|
|
31
32
|
]
|
|
32
33
|
classifiers = [
|
|
33
34
|
"Programming Language :: Python :: 3",
|
{hungerlib-4.24.dev9 → hungerlib-4.24.dev10}/src/hungerlib/email/email_templates/restart.html
RENAMED
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
</head>
|
|
14
14
|
<body>
|
|
15
15
|
<div class="card">
|
|
16
|
-
<h1>Server
|
|
17
|
-
<p>The server
|
|
18
|
-
<p class="meta">Triggered by:
|
|
16
|
+
<h1>Server {{ server_name }} Restart Scheduled</h1>
|
|
17
|
+
<p>The server {{ server_name }} will restart at {{ time }}.</p>
|
|
18
|
+
<p class="meta">Triggered by: {{ trigger }}</p>
|
|
19
19
|
</div>
|
|
20
20
|
</body>
|
|
21
21
|
</html>
|
|
@@ -1,43 +1,25 @@
|
|
|
1
|
-
from
|
|
1
|
+
from jinja2 import Environment, FileSystemLoader
|
|
2
2
|
import pathlib
|
|
3
|
-
from string import Template
|
|
4
3
|
from cloudflare import Cloudflare
|
|
5
4
|
from .message import Email
|
|
6
5
|
|
|
7
6
|
TEMPLATE_DIR = pathlib.Path(__file__).resolve().parent / 'email_templates'
|
|
8
7
|
|
|
9
8
|
class EmailManager:
|
|
10
|
-
'''
|
|
11
|
-
Backend email system.
|
|
12
|
-
Holds API token and account ID.
|
|
13
|
-
Sends emails created by EmailClient.
|
|
14
|
-
'''
|
|
15
9
|
def __init__(self, api_token: str, account_id: str):
|
|
16
10
|
self.client = Cloudflare(api_token=api_token)
|
|
17
11
|
self.account_id = account_id
|
|
18
12
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
path = TEMPLATE_DIR / f'{name}.html'
|
|
24
|
-
return path.read_text(encoding='utf8')
|
|
13
|
+
self.jinja = Environment(
|
|
14
|
+
loader=FileSystemLoader(str(TEMPLATE_DIR)),
|
|
15
|
+
autoescape=True
|
|
16
|
+
)
|
|
25
17
|
|
|
26
|
-
# -------------------------
|
|
27
|
-
# Template renderer
|
|
28
|
-
# -------------------------
|
|
29
18
|
def render_template(self, template: str, ctx: dict) -> str:
|
|
30
|
-
|
|
31
|
-
return
|
|
19
|
+
tmpl = self.jinja.get_template(f"{template}.html")
|
|
20
|
+
return tmpl.render(**ctx)
|
|
32
21
|
|
|
33
|
-
# -------------------------
|
|
34
|
-
# Actual sending
|
|
35
|
-
# -------------------------
|
|
36
22
|
def send_email(self, user, email: Email) -> bool:
|
|
37
|
-
to_str = ','.join(email.to)
|
|
38
|
-
cc_str = ','.join(email.cc) if email.cc else None
|
|
39
|
-
bcc_str = ','.join(email.bcc) if email.bcc else None
|
|
40
|
-
|
|
41
23
|
if email.template and not email.html:
|
|
42
24
|
email.html = self.render_template(email.template, email.template_ctx)
|
|
43
25
|
|
|
@@ -61,5 +43,4 @@ class EmailManager:
|
|
|
61
43
|
payload["bcc"] = ",".join(email.bcc)
|
|
62
44
|
|
|
63
45
|
resp = self.client.email_sending.send(**payload)
|
|
64
|
-
|
|
65
46
|
return bool(getattr(resp, 'delivered', None))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hungerlib
|
|
3
|
-
Version: 4.24.
|
|
3
|
+
Version: 4.24.dev10
|
|
4
4
|
Summary: Powerful automation library for Pterodactyl.
|
|
5
5
|
Author: iFamished
|
|
6
6
|
License: MIT
|
|
@@ -26,6 +26,7 @@ Requires-Dist: requests
|
|
|
26
26
|
Requires-Dist: mcrcon
|
|
27
27
|
Requires-Dist: PyYaml
|
|
28
28
|
Requires-Dist: mapres
|
|
29
|
+
Requires-Dist: jinja2
|
|
29
30
|
Dynamic: license-file
|
|
30
31
|
|
|
31
32
|
# HungerLib
|
|
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
|
|
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
|