hungerlib 4.25.dev5__tar.gz → 4.25.dev7__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.dev5/src/hungerlib.egg-info → hungerlib-4.25.dev7}/PKG-INFO +1 -1
  2. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/pyproject.toml +1 -1
  3. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/bridgeclient.py +16 -5
  4. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7/src/hungerlib.egg-info}/PKG-INFO +1 -1
  5. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/LICENSE +0 -0
  6. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/README.md +0 -0
  7. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/setup.cfg +0 -0
  8. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/__init__.py +0 -0
  9. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/api/__init__.py +0 -0
  10. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/api/backups.py +0 -0
  11. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/api/command.py +0 -0
  12. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/api/databases.py +0 -0
  13. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/api/filemanager.py +0 -0
  14. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/api/schedule.py +0 -0
  15. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/api/startup.py +0 -0
  16. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/configloader.py +0 -0
  17. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/email/__init__.py +0 -0
  18. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/email/client.py +0 -0
  19. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/email/email_templates/restart.html +0 -0
  20. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/email/manager.py +0 -0
  21. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/email/message.py +0 -0
  22. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/messagerouter.py +0 -0
  23. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/panel.py +0 -0
  24. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/servers/__init__.py +0 -0
  25. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/servers/generic.py +0 -0
  26. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/servers/minecraft.py +0 -0
  27. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/utils/__init__.py +0 -0
  28. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/utils/buffer.py +0 -0
  29. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/utils/convert.py +0 -0
  30. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/utils/exceptions.py +0 -0
  31. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/utils/time.py +0 -0
  32. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/utils/utils.py +0 -0
  33. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/validator.py +0 -0
  34. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/webhook/__init__.py +0 -0
  35. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/webhook/client.py +0 -0
  36. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib/webhook/server.py +0 -0
  37. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib.egg-info/SOURCES.txt +0 -0
  38. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib.egg-info/dependency_links.txt +0 -0
  39. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/src/hungerlib.egg-info/requires.txt +0 -0
  40. {hungerlib-4.25.dev5 → hungerlib-4.25.dev7}/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.dev5
3
+ Version: 4.25.dev7
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.5"
10
+ version = "4.25-dev.7"
11
11
  description = "Powerful automation library for Pterodactyl."
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.9"
@@ -45,7 +45,7 @@ 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
49
  """
50
50
  Connect to the SSE stream. Optionally request recent history lines by
51
51
  passing `history=<n>` which will add the query parameter `?history=n`.
@@ -65,7 +65,10 @@ class Stream:
65
65
  def _run(history: int | None = None):
66
66
  history_phase = True
67
67
  history_lines = []
68
- history_deadline = time.time() + keepalive
68
+ # If the client explicitly requested history, use a short collection
69
+ # window so the historic lines are dispatched quickly. Otherwise use
70
+ # the provided keepalive timeout.
71
+ history_deadline = time.time() + (1.0 if history else keepalive)
69
72
 
70
73
  request_url = _build_url_with_history(self.url, history)
71
74
  try:
@@ -75,7 +78,9 @@ class Stream:
75
78
  stream=True
76
79
  ) as r:
77
80
  if not r.ok:
78
- raise HungerBridgeError(f'HungerBridge error {r.status_code}: {r.text}')
81
+ # raise in a background thread would be silent to callers; log and stop
82
+ print(f'HungerBridge error {r.status_code}: {r.text}', file=getattr(__import__('sys'), 'stderr'))
83
+ return
79
84
 
80
85
  for raw in r.iter_lines(decode_unicode=True):
81
86
  if self._stop_event.is_set():
@@ -103,7 +108,13 @@ class Stream:
103
108
  pass
104
109
 
105
110
  except Exception as e:
106
- raise HungerBridgeError(f'Log stream failed: {e}')
111
+ # Avoid raising inside the background thread (silent). Log instead and stop.
112
+ try:
113
+ import sys
114
+ print(f'Log stream failed: {e}', file=sys.stderr)
115
+ except Exception:
116
+ pass
117
+ return
107
118
  finally:
108
119
  if self._session:
109
120
  try:
@@ -116,7 +127,7 @@ class Stream:
116
127
 
117
128
  self._thread = threading.Thread(
118
129
  target=_run,
119
- kwargs={"history": None},
130
+ kwargs={"history": history},
120
131
  name='HungerBridgeStream',
121
132
  daemon=True
122
133
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hungerlib
3
- Version: 4.25.dev5
3
+ Version: 4.25.dev7
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