system_backup_handler.py 文件源码

python
阅读 16 收藏 0 点赞 0 评论 0

项目:zynthian-webconf 作者: zynthian 项目源码 文件源码
def on_websocket_message(self, restoreFile):
        #fileinfo = self.request.files['ZYNTHIAN_RESTORE_FILE'][0]
        #restoreFile = fileinfo['filename']
        with open(restoreFile , "rb") as f:
            validRestoreItems = get_backup_items(SYSTEM_BACKUP_ITEMS_FILE)
            validRestoreItems += get_backup_items(DATA_BACKUP_ITEMS_FILE)

            with zipfile.ZipFile(f,'r') as restoreZip:
                for member in restoreZip.namelist():
                    if self.is_valid_restore_item(validRestoreItems, member):
                        logMessage = "restored: " + member
                        restoreZip.extract(member, "/")
                        logging.debug(logMessage)
                        message = ZynthianWebSocketMessage('RestoreMessageHandler', logMessage)
                        self.websocket.write_message(jsonpickle.encode(message))
                    else:
                        logging.warn("restore of " + member + " not permitted")
                restoreZip.close()
            f.close()
        os.remove(restoreFile)
        message = ZynthianWebSocketMessage('RestoreMessageHandler', 'EOCOMMAND')
        self.websocket.write_message(jsonpickle.encode(message));
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号