Read config in order: addon preferences -> scene -> env var.
(self, scene_attr, pref_attr=None, env_var=None)
| 52 | self.server_thread = None |
| 53 | |
| 54 | def _get_config_value(self, scene_attr, pref_attr=None, env_var=None): |
| 55 | """Read config in order: addon preferences -> scene -> env var.""" |
| 56 | prefs = get_blendermcp_addon_preferences() |
| 57 | if prefs and pref_attr: |
| 58 | pref_value = getattr(prefs, pref_attr, "") |
| 59 | if pref_value: |
| 60 | return pref_value |
| 61 | |
| 62 | scene_value = getattr(bpy.context.scene, scene_attr, "") |
| 63 | if scene_value: |
| 64 | return scene_value |
| 65 | |
| 66 | if env_var: |
| 67 | env_value = os.getenv(env_var, "") |
| 68 | if env_value: |
| 69 | return env_value |
| 70 | return "" |
| 71 | |
| 72 | def _get_hyper3d_api_key(self): |
| 73 | # Let the free-trial button temporarily override persistent keys |
no test coverage detected