mirror of
https://github.com/SteamDeckHomebrew/decky-loader.git
synced 2026-06-17 00:37:49 +00:00
hot reloading, plugin instantiation, plugin main method
- The Loader now watches for file changes in the plugin directory, and will (re)import when a new plugin is created, or an existing one is modified. This is implemented by means of the watchdog library - Plugin classes are now instantiated (and therefore require a self arg in every method). This way they can maintain a state during the runtime of the loader (or until they are reloaded), and share data between methods. - Plugins can now have a __main() method, which can include long-running code. Every plugin's main method is ran in a separate asyncio task. - Plugin methods that start from __ are now uncallable from javascript. This can be helpful when implementing unfinished/development versions of methods.
This commit is contained in:
+7
-2
@@ -7,8 +7,13 @@ class Plugin:
|
||||
|
||||
tile_view_html = ""
|
||||
|
||||
async def method_1(**kwargs):
|
||||
hot_reload = False
|
||||
|
||||
async def __main(self):
|
||||
pass
|
||||
|
||||
async def method_2(**kwargs):
|
||||
async def method_1(self, **kwargs):
|
||||
pass
|
||||
|
||||
async def method_2(self, **kwargs):
|
||||
pass
|
||||
Reference in New Issue
Block a user