hungerlib 4.25.dev4__tar.gz → 4.25.dev6__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 (40) hide show
  1. {hungerlib-4.25.dev4/src/hungerlib.egg-info → hungerlib-4.25.dev6}/PKG-INFO +1 -1
  2. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/pyproject.toml +1 -1
  3. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/bridgeclient.py +19 -4
  4. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6/src/hungerlib.egg-info}/PKG-INFO +1 -1
  5. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/LICENSE +0 -0
  6. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/README.md +0 -0
  7. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/setup.cfg +0 -0
  8. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/__init__.py +0 -0
  9. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/api/__init__.py +0 -0
  10. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/api/backups.py +0 -0
  11. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/api/command.py +0 -0
  12. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/api/databases.py +0 -0
  13. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/api/filemanager.py +0 -0
  14. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/api/schedule.py +0 -0
  15. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/api/startup.py +0 -0
  16. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/configloader.py +0 -0
  17. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/email/__init__.py +0 -0
  18. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/email/client.py +0 -0
  19. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/email/email_templates/restart.html +0 -0
  20. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/email/manager.py +0 -0
  21. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/email/message.py +0 -0
  22. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/messagerouter.py +0 -0
  23. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/panel.py +0 -0
  24. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/servers/__init__.py +0 -0
  25. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/servers/generic.py +0 -0
  26. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/servers/minecraft.py +0 -0
  27. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/utils/__init__.py +0 -0
  28. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/utils/buffer.py +0 -0
  29. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/utils/convert.py +0 -0
  30. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/utils/exceptions.py +0 -0
  31. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/utils/time.py +0 -0
  32. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/utils/utils.py +0 -0
  33. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/validator.py +0 -0
  34. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/webhook/__init__.py +0 -0
  35. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/webhook/client.py +0 -0
  36. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib/webhook/server.py +0 -0
  37. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib.egg-info/SOURCES.txt +0 -0
  38. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib.egg-info/dependency_links.txt +0 -0
  39. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/src/hungerlib.egg-info/requires.txt +0 -0
  40. {hungerlib-4.25.dev4 → hungerlib-4.25.dev6}/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.25.dev4
3
+ Version: 4.25.dev6
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 = "4.25-dev.4"
10
+ version = "4.25-dev.6"
11
11
  description = "Powerful automation library for Pterodactyl."
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.9"
@@ -45,21 +45,32 @@ class Stream:
45
45
  if ts is not None:
46
46
  self.timestamped_stream[ts] = clean
47
47
 
48
- def connect(self, keepalive: int = 15):
48
+ def connect(self, keepalive: int = 15, history: int | None = None):
49
+ """
50
+ Connect to the SSE stream. Optionally request recent history lines by
51
+ passing `history=<n>` which will add the query parameter `?history=n`.
52
+ """
53
+ def _build_url_with_history(url: str, history: int | None):
54
+ if not history:
55
+ return url
56
+ sep = '&' if '?' in url else '?'
57
+ return f"{url}{sep}history={history}"
58
+
49
59
  if self._thread and self._thread.is_alive():
50
60
  return
51
61
 
52
62
  self._stop_event = threading.Event()
53
63
  self._session = requests.Session()
54
64
 
55
- def _run():
65
+ def _run(history: int | None = None):
56
66
  history_phase = True
57
67
  history_lines = []
58
68
  history_deadline = time.time() + keepalive
59
69
 
70
+ request_url = _build_url_with_history(self.url, history)
60
71
  try:
61
72
  with self._session.get(
62
- self.url,
73
+ request_url,
63
74
  headers=self.headers,
64
75
  stream=True
65
76
  ) as r:
@@ -105,6 +116,7 @@ class Stream:
105
116
 
106
117
  self._thread = threading.Thread(
107
118
  target=_run,
119
+ kwargs={"history": history},
108
120
  name='HungerBridgeStream',
109
121
  daemon=True
110
122
  )
@@ -131,7 +143,10 @@ class Stream:
131
143
  @staticmethod
132
144
  def sanitize(line: str) -> str:
133
145
  ansi_re = re.compile(r'\x1b\[[0-9;]*m')
134
- return ansi_re.sub('', line).rstrip
146
+ # remove ANSI sequences, unescape server-escaped newlines, and strip
147
+ clean = ansi_re.sub('', line)
148
+ clean = clean.replace('\\n', '\n').replace('\\r', '\r')
149
+ return clean.rstrip()
135
150
 
136
151
  @staticmethod
137
152
  def extractTimestamp(line: str):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hungerlib
3
- Version: 4.25.dev4
3
+ Version: 4.25.dev6
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