1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
"""Adds Backup methods to RuckusApi"""
from .const import SystemStat
from .abcsession import ConfigItem
from .backupsession import BackupSession
from .ruckusapi import RuckusApi
class RuckusBackupApi(RuckusApi):
"""Ruckus ZoneDirector or Unleashed Configuration, Statistics and Commands API"""
def __init__(self, session: BackupSession):
super().__init__(session)
async def get_system_info(self, *sections: SystemStat) -> dict:
"""Return system information"""
system_info = (await self._get_conf(ConfigItem.SYSTEM))["system"]
metadata = self.session.get_metadata()
system_info["sysinfo"] = {
"version": f"{metadata['VERSION']} build {metadata['BUILD']}",
"version-num": metadata["VERSION"],
"build-num": metadata["BUILD"],
"model": metadata["APMODEL"]
}
sections = (
[s for section_list in sections for s in section_list.value]
if sections
else SystemStat.DEFAULT.value
)
if not sections:
return system_info
return {k: v for k, v in system_info.items() if k in sections}
|