| Server IP : 162.214.74.102 / Your IP : 216.73.216.20 Web Server : Apache System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64 User : lrsys ( 1015) PHP Version : 5.6.40 Disable Function : exec,passthru,shell_exec,system MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /opt/imunify360/venv/lib64/python3.11/site-packages/defence360agent/subsys/panels/ |
Upload File : |
from defence360agent.application.determine_hosting_panel import (
get_hosting_panel,
)
from defence360agent.subsys.panels.base import AbstractPanel
from defence360agent.utils import importer
def _default_panel_root() -> str:
"""Use im360 panel classes when the im360 package is installed."""
if importer.exists("im360"):
return "im360"
return "defence360agent"
_panel_root = _default_panel_root()
panel = None
def set_panel_root(root_module: str) -> None:
global _panel_root, panel
_panel_root = root_module
panel = None # reset so next HostingPanel() call uses new root
def HostingPanel(check_for_changes=False) -> AbstractPanel:
"""
Return the hosting panel singleton.
Panels are loaded from ``_panel_root`` which auto-detects the correct
package (``im360`` when installed, ``defence360agent`` otherwise).
Can be overridden via ``set_panel_root``.
"""
global panel
if panel is None or check_for_changes:
panel = get_hosting_panel(_panel_root)
return panel