meow
This commit is contained in:
23
backend/logger.py
Normal file
23
backend/logger.py
Normal file
@@ -0,0 +1,23 @@
|
||||
import PluginUtils # type: ignore[import]
|
||||
|
||||
class Logger:
|
||||
def __init__(self):
|
||||
self._logger = PluginUtils.Logger()
|
||||
|
||||
def info(self, message: str) -> None:
|
||||
"""Log an info message"""
|
||||
self._logger.log(message)
|
||||
|
||||
def error(self, message: str) -> None:
|
||||
"""Log an error message"""
|
||||
self._logger.log(f"ERROR: {message}")
|
||||
|
||||
def warning(self, message: str) -> None:
|
||||
"""Log a warning message"""
|
||||
self._logger.log(f"WARNING: {message}")
|
||||
|
||||
def debug(self, message: str) -> None:
|
||||
"""Log a debug message"""
|
||||
self._logger.log(f"DEBUG: {message}")
|
||||
|
||||
logger = Logger()
|
||||
28
backend/main.py
Normal file
28
backend/main.py
Normal file
@@ -0,0 +1,28 @@
|
||||
import Millennium # pyright: ignore[reportMissingImports]
|
||||
from logger import logger
|
||||
|
||||
|
||||
class Plugin:
|
||||
def _load(self) -> None:
|
||||
try:
|
||||
logger.info("Leetify Extension: Starting plugin initialization...")
|
||||
Millennium.ready()
|
||||
logger.info("Leetify Extension: Plugin loaded successfully")
|
||||
except Exception as e:
|
||||
logger.error(f"Leetify Extension: Failed to load plugin: {str(e)}")
|
||||
raise
|
||||
|
||||
def _front_end_loaded(self) -> None:
|
||||
try:
|
||||
logger.info("Leetify Extension: Frontend loaded successfully")
|
||||
# Add any frontend-specific initialization logic here if needed
|
||||
except Exception as e:
|
||||
logger.error(f"Leetify Extension: Error during frontend load: {str(e)}")
|
||||
|
||||
def _unload(self) -> None:
|
||||
try:
|
||||
logger.info("Leetify Extension: Plugin unloading...")
|
||||
# Add any cleanup logic here if needed
|
||||
logger.info("Leetify Extension: Plugin unloaded successfully")
|
||||
except Exception as e:
|
||||
logger.error(f"Leetify Extension: Error during plugin unload: {str(e)}")
|
||||
78
backend/settings.py
Normal file
78
backend/settings.py
Normal file
@@ -0,0 +1,78 @@
|
||||
from typing import Literal
|
||||
from MillenniumUtils import ( # pyright: ignore[reportMissingImports]
|
||||
CheckBox,
|
||||
DefineSetting,
|
||||
DropDown,
|
||||
NumberTextInput,
|
||||
Settings,
|
||||
FloatSlider,
|
||||
StringTextInput,
|
||||
FloatTextInput,
|
||||
NumberSlider,
|
||||
)
|
||||
from logger import logger
|
||||
|
||||
|
||||
class PluginSettings(metaclass=Settings):
|
||||
@DefineSetting(
|
||||
name="CheckBox Example",
|
||||
description="lorem ipsum dolor sit amet, consectetur adipiscing elit",
|
||||
style=CheckBox(),
|
||||
default=True,
|
||||
)
|
||||
def checkboxInput(self):
|
||||
pass
|
||||
|
||||
@DefineSetting(
|
||||
name="Dropdown Example",
|
||||
description="lorem ipsum dolor sit amet, consectetur adipiscing elit",
|
||||
style=DropDown(items=["String Value", False, 69]),
|
||||
default="String Value",
|
||||
)
|
||||
def dropDownInput(self):
|
||||
pass
|
||||
|
||||
@DefineSetting(
|
||||
name="Float Slider Example",
|
||||
description="lorem ipsum dolor sit amet, consectetur adipiscing elit",
|
||||
style=FloatSlider(range=(0.0, 10.0), step=0.5),
|
||||
default=0.5,
|
||||
)
|
||||
def floatSliderInput(self):
|
||||
pass
|
||||
|
||||
@DefineSetting(
|
||||
name="Number Slider Example",
|
||||
description="lorem ipsum dolor sit amet, consectetur adipiscing elit",
|
||||
style=NumberSlider(range=(0, 10), step=1),
|
||||
default=5,
|
||||
)
|
||||
def numberSliderInput(self):
|
||||
pass
|
||||
|
||||
@DefineSetting(
|
||||
name="Number Text Input Example",
|
||||
description="lorem ipsum dolor sit amet, consectetur adipiscing elit",
|
||||
style=NumberTextInput(range=(0, 10000)),
|
||||
default=1234,
|
||||
)
|
||||
def numberTextInput(self):
|
||||
pass
|
||||
|
||||
@DefineSetting(
|
||||
name="String Text Input Example",
|
||||
description="lorem ipsum dolor sit amet, consectetur adipiscing elit",
|
||||
style=StringTextInput(),
|
||||
default="Hello World!",
|
||||
)
|
||||
def stringTextInput(self):
|
||||
pass
|
||||
|
||||
@DefineSetting(
|
||||
name="Float Text Input Example",
|
||||
description="lorem ipsum dolor sit amet, consectetur adipiscing elit",
|
||||
style=FloatTextInput(range=(0, 10000)),
|
||||
default=1234.0,
|
||||
)
|
||||
def floatTextInput(self):
|
||||
pass
|
||||
Reference in New Issue
Block a user