mirror of https://github.com/coddrago/Heroku
commit
8090770e42
|
@ -620,7 +620,7 @@ class Modules:
|
||||||
|
|
||||||
spec = importlib.machinery.ModuleSpec(
|
spec = importlib.machinery.ModuleSpec(
|
||||||
module_name,
|
module_name,
|
||||||
StringLoader(Path(mod).read_text(), user_friendly_origin),
|
StringLoader(Path(mod).read_text(encoding='utf-8'), user_friendly_origin),
|
||||||
origin=user_friendly_origin,
|
origin=user_friendly_origin,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -98,11 +98,14 @@ IS_AEZA = "aeza" in socket.gethostname()
|
||||||
IS_USERLAND = "userland" in os.environ.get("USER", "")
|
IS_USERLAND = "userland" in os.environ.get("USER", "")
|
||||||
IS_JAMHOST = "JAMHOST" in os.environ
|
IS_JAMHOST = "JAMHOST" in os.environ
|
||||||
IS_WSL = False
|
IS_WSL = False
|
||||||
|
IS_WINDOWS = False
|
||||||
with contextlib.suppress(Exception):
|
with contextlib.suppress(Exception):
|
||||||
from platform import uname
|
from platform import uname
|
||||||
|
|
||||||
if "microsoft-standard" in uname().release:
|
if "microsoft-standard" in uname().release:
|
||||||
IS_WSL = True
|
IS_WSL = True
|
||||||
|
elif uname().system == "Windows":
|
||||||
|
IS_WINDOWS = True
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
LATIN_MOCK = [
|
LATIN_MOCK = [
|
||||||
|
@ -827,10 +830,10 @@ class Heroku:
|
||||||
|
|
||||||
logo = (
|
logo = (
|
||||||
" _ \n"
|
" _ \n"
|
||||||
" /\ /\ ___ _ __ ___ | | __ _ _ \n"
|
r" /\ /\ ___ _ __ ___ | | __ _ _ ""\n"
|
||||||
" / /_/ // _ \| '__|/ _ \ | |/ /| | | |\n"
|
r" / /_/ // _ \| '__|/ _ \ | |/ /| | | |""\n"
|
||||||
"/ __ /| __/| | | (_) || < | |_| |\n"
|
"/ __ /| __/| | | (_) || < | |_| |\n"
|
||||||
"\/ /_/ \___||_| \___/ |_|\_\ \__,_|\n\n"
|
r"\/ /_/ \___||_| \___/ |_|\_\ \__,_|""\n\n"
|
||||||
f"• Build: {build[:7]}\n"
|
f"• Build: {build[:7]}\n"
|
||||||
f"• Version: {'.'.join(list(map(str, list(__version__))))}\n"
|
f"• Version: {'.'.join(list(map(str, list(__version__))))}\n"
|
||||||
f"• {upd}\n"
|
f"• {upd}\n"
|
||||||
|
@ -990,14 +993,24 @@ class Heroku:
|
||||||
|
|
||||||
def main(self):
|
def main(self):
|
||||||
"""Main entrypoint"""
|
"""Main entrypoint"""
|
||||||
self.loop.add_signal_handler(
|
if sys.platform != "win32":
|
||||||
signal.SIGINT,
|
try:
|
||||||
lambda: asyncio.create_task(self._shutdown_handler())
|
self.loop.add_signal_handler(
|
||||||
)
|
signal.SIGINT,
|
||||||
|
lambda: asyncio.create_task(self._shutdown_handler())
|
||||||
|
)
|
||||||
|
except NotImplementedError:
|
||||||
|
logging.warning("Signal handlers not supported on this platform.")
|
||||||
|
else:
|
||||||
|
logging.info("Running on Windows — skipping signal handler.")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.loop.run_until_complete(self._main())
|
self.loop.run_until_complete(self._main())
|
||||||
except:
|
except KeyboardInterrupt:
|
||||||
pass
|
logging.info("KeyboardInterrupt received.")
|
||||||
|
self.loop.run_until_complete(self._shutdown_handler())
|
||||||
|
except Exception as e:
|
||||||
|
logging.exception("Unexpected exception in main loop: %s", e)
|
||||||
finally:
|
finally:
|
||||||
logging.info("Bye!")
|
logging.info("Bye!")
|
||||||
self.loop.run_until_complete(self._shutdown_handler())
|
self.loop.run_until_complete(self._shutdown_handler())
|
||||||
|
|
|
@ -137,7 +137,8 @@ class HerokuInfoMod(loader.Module):
|
||||||
("🌼", "<emoji document_id=5224219153077914783>❤️</emoji>"),
|
("🌼", "<emoji document_id=5224219153077914783>❤️</emoji>"),
|
||||||
("🎡", "<emoji document_id=5226711870492126219>🎡</emoji>"),
|
("🎡", "<emoji document_id=5226711870492126219>🎡</emoji>"),
|
||||||
("🐧", "<emoji document_id=5361541227604878624>🐧</emoji>"),
|
("🐧", "<emoji document_id=5361541227604878624>🐧</emoji>"),
|
||||||
("🧃", "<emoji document_id=5422884965593397853>🧃</emoji>")
|
("🧃", "<emoji document_id=5422884965593397853>🧃</emoji>"),
|
||||||
|
("💻", "<emoji document_id=5469825590884310445>💻</emoji>"),
|
||||||
]:
|
]:
|
||||||
platform = platform.replace(emoji, icon)
|
platform = platform.replace(emoji, icon)
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -921,6 +921,9 @@ def get_named_platform() -> str:
|
||||||
if main.IS_WSL:
|
if main.IS_WSL:
|
||||||
return "🍀 WSL"
|
return "🍀 WSL"
|
||||||
|
|
||||||
|
if main.IS_WINDOWS:
|
||||||
|
return "💻 Windows"
|
||||||
|
|
||||||
if main.IS_JAMHOST:
|
if main.IS_JAMHOST:
|
||||||
return "🧃 JamHost"
|
return "🧃 JamHost"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue