diff --git a/docs/badge/programming.rst b/docs/badge/programming.rst index 40ab29f2bd1ef57002737ad434ce377da72b6c1b..63ee80a6ddcaa83575b4f6ea20408eddb139f685 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 d7ce3fc8bc0cc46ce15dd7513f48db6c195b8b49..f09754d182e12785a881c0801a8400036c6600a9 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 1ed974fe1168f57fdd4ae5ee4919ec0587274742..c92c21f5f6d1230b682610ed7f8f8d0151dd90e9 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 2a170169dc74caf3efaf63df3f3d0247f5a78cb9..99df5f92034e4518309ef964083e98a379e36648 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 2c9ce60ced75b4855d7fc1e92c3dca9b0280dc82..ae5fad58ef123e9b3b5edc3b024106771e20deb4 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__()