£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyʦ•ꎅȮFÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~芩ÊǍí`ÔÑ©ú뙵'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶êםӼ㞪éUWŸÈË%DÒÕ¬ï‘]/Åcx ‰ï2ß]ä6G[]S£Ôϯrs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ ¯¹ægƒÛowЍø^d™ý½ßB7áyMä9ÜÖUã !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! """ Migrate backup config from user oriented config file to the separate internal file """ import os from typing import Optional from defence360agent.contracts.config import ( BackupConfig, IConfig, IConfigFile, LocalConfig, ) from defence360agent.utils import antivirus_mode @antivirus_mode.skip def migrate( migrator, database, fake=False, config_file: IConfig = LocalConfig(), backup_config_file: Optional[IConfigFile] = None, **kwargs, ): if fake: return if backup_config_file is None: backup_config_file = BackupConfig() if not (config_from := config_file.config_to_dict()): return # Do not overwrite existing config file if os.path.exists(backup_config_file.path): return backup_conf_current = config_from.get("BACKUP_RESTORE", {}) config_to = { "BACKUP_SYSTEM": { "enabled": backup_conf_current.pop("enabled", False), "backup_system": backup_conf_current.pop("backup_system", None), } } backup_config_file.dict_to_config( config_to, overwrite=True, validate=False ) config_file.dict_to_config(config_from, overwrite=True, validate=False) @antivirus_mode.skip def rollback(migrator, database, fake=False, **kwargs): """Write your rollback migrations here.""" pass