| 713 | return data, True |
| 714 | |
| 715 | def _get_logo_url(self, key: str, *, path: Optional[str] = None) -> Optional[str]: |
| 716 | logo_path = os.path.join(self.plugins_dir, key, "logo.png") |
| 717 | if path: |
| 718 | logo_path = os.path.join(path, "logo.png") |
| 719 | try: |
| 720 | if os.path.isfile(logo_path): |
| 721 | return f"/api/plugins/plugins/{key}/logo/" |
| 722 | except Exception: |
| 723 | return None |
| 724 | return None |
| 725 | |
| 726 | def _ensure_namespace_package(self, package_name: str, path: str, *, alias: Optional[str] = None) -> None: |
| 727 | existing = sys.modules.get(package_name) |