From d95f29ead613bcd2554c65b1d1fdfd7c69d2bc73 Mon Sep 17 00:00:00 2001 From: Sebastian Krzyszkowiak <dos@dosowisko.net> Date: Thu, 19 Oct 2023 17:30:51 +0200 Subject: [PATCH] py,st3m: Application: Rename _app_ctx to app_ctx The underscore prefix is a convention that implies private members that classes inheriting from this one aren't expected to touch. Since app_ctx is a useful thing to have for a vast majority of apps, name it explicitly as somthing that's supposed to be used. --- docs/badge/programming.rst | 4 ++-- python_payload/apps/demo_harmonic/__init__.py | 4 ++-- python_payload/apps/gay_drums/__init__.py | 4 ++-- python_payload/apps/scalar/__init__.py | 2 +- python_payload/st3m/application.py | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/badge/programming.rst b/docs/badge/programming.rst index 40ab29f2bd..63ee80a6dd 100644 --- a/docs/badge/programming.rst +++ b/docs/badge/programming.rst @@ -686,7 +686,7 @@ it should pick up your new application. Handling assets ^^^^^^^^^^^^^^^ -Using `Application` also gives you access to the `ApplicationContext` as ``self._app_ctx``, +Using `Application` also gives you access to the `ApplicationContext` as ``self.app_ctx``, which for example gives you a way to find out the base path of your app in ``app_ctx.bundle_path`` or its bundle metadata in ``app_ctx.bundle_metadata``. It's very important not to hardcode paths to your assets and use `bundle_path` instead, because applications can be installed @@ -705,7 +705,7 @@ could look like this: class MyDemo(Application): def draw(self, ctx: Context) -> None: # Draw a image file - ctx.image(f"{self._app_ctx.bundle_path}/image.png", -120, -120, 240, 240) + ctx.image(f"{self.app_ctx.bundle_path}/image.png", -120, -120, 240, 240) if __name__ == '__main__': # Continue to make runnable via mpremote run. diff --git a/python_payload/apps/demo_harmonic/__init__.py b/python_payload/apps/demo_harmonic/__init__.py index d7ce3fc8bc..f09754d182 100644 --- a/python_payload/apps/demo_harmonic/__init__.py +++ b/python_payload/apps/demo_harmonic/__init__.py @@ -288,7 +288,7 @@ class HarmonicApp(Application): raise # ignore file not found def _save_settings(self): - default_path = self._app_ctx.bundle_path + "/harmonic_demo-default.json" + default_path = self.app_ctx.bundle_path + "/harmonic_demo-default.json" settings_path = "/flash/harmonic_demo.json" settings = self._try_load_settings(default_path) assert settings is not None, "failed to load default settings" @@ -322,7 +322,7 @@ class HarmonicApp(Application): self._file_settings = settings def _load_settings(self): - default_path = self._app_ctx.bundle_path + "/harmonic_demo-default.json" + default_path = self.app_ctx.bundle_path + "/harmonic_demo-default.json" settings_path = "/flash/harmonic_demo.json" settings = self._try_load_settings(default_path) diff --git a/python_payload/apps/gay_drums/__init__.py b/python_payload/apps/gay_drums/__init__.py index 1ed974fe11..c92c21f5f6 100644 --- a/python_payload/apps/gay_drums/__init__.py +++ b/python_payload/apps/gay_drums/__init__.py @@ -100,7 +100,7 @@ class GayDrums(Application): raise # ignore file not found def _save_settings(self): - default_path = self._app_ctx.bundle_path + "/gay_drums-default.json" + default_path = self.app_ctx.bundle_path + "/gay_drums-default.json" settings_path = "/flash/gay_drums.json" settings = self._try_load_settings(default_path) assert settings is not None, "failed to load default settings" @@ -124,7 +124,7 @@ class GayDrums(Application): self._file_settings = settings def _load_settings(self): - default_path = self._app_ctx.bundle_path + "/gay_drums-default.json" + default_path = self.app_ctx.bundle_path + "/gay_drums-default.json" settings_path = "/flash/gay_drums.json" settings = self._try_load_settings(default_path) diff --git a/python_payload/apps/scalar/__init__.py b/python_payload/apps/scalar/__init__.py index 2a170169dc..99df5f9203 100644 --- a/python_payload/apps/scalar/__init__.py +++ b/python_payload/apps/scalar/__init__.py @@ -82,7 +82,7 @@ class ScalarApp(Application): self._update_leds() def _load_settings(self) -> None: - default_path = self._app_ctx.bundle_path + "/scalar-default.json" + default_path = self.app_ctx.bundle_path + "/scalar-default.json" settings_path = "/flash/scalar.json" settings = self._try_load_settings(default_path) diff --git a/python_payload/st3m/application.py b/python_payload/st3m/application.py index 2c9ce60ced..ae5fad58ef 100644 --- a/python_payload/st3m/application.py +++ b/python_payload/st3m/application.py @@ -61,7 +61,7 @@ def setup_for_app(app_ctx: Optional[ApplicationContext]) -> None: class Application(BaseView): def __init__(self, app_ctx: ApplicationContext) -> None: - self._app_ctx = app_ctx + self.app_ctx = self._app_ctx = app_ctx super().__init__() -- GitLab