68 lines
1.6 KiB
Python
68 lines
1.6 KiB
Python
"""
|
|
********************************************
|
|
* @Date: 2024 09 27
|
|
* @Description: BackupObject备份对象
|
|
********************************************
|
|
"""
|
|
|
|
import os
|
|
from typing import List, Union
|
|
from .tree_object import TreeObject
|
|
from .blob_object import BlobObject
|
|
|
|
|
|
class BackupObject(ObjectBase):
|
|
"""
|
|
备份对象,负责管理存储对象(tree、blob)对象、备份信息、恢复等操作
|
|
"""
|
|
|
|
backup_name: str
|
|
backup_time_lately: str
|
|
backup_time_create: str
|
|
backup_size: int
|
|
backup_version_number: int
|
|
backup_tree: List[Union[TreeObject, BlobObject]]
|
|
new_backup_flag: bool
|
|
|
|
def __init__(self, backup_name: str, backup_base_path: str):
|
|
self.backup_name = backup_name
|
|
|
|
backup_path = os.path.join(backup_base_path, backup_name)
|
|
if not os.path.exists(backup_path):
|
|
self.new_backup_flag = True
|
|
else:
|
|
self.new_backup_flag = False
|
|
pass #TODO 读取备份信息
|
|
|
|
|
|
def createNewBackup(self, backup_dirs: List[str]):
|
|
"""
|
|
创建新的备份
|
|
|
|
:return
|
|
"""
|
|
for backup_dir in backup_dirs:
|
|
if os.path.isdir(backup_dir):
|
|
self.backup_tree.append(TreeObject(backup_dir))
|
|
else:
|
|
self.backup_tree.append(BlobObject(backup_dir))
|
|
|
|
def backup(self):
|
|
pass
|
|
|
|
def recover(self, recover_path: str):
|
|
"""
|
|
恢复到指定备份
|
|
|
|
:return
|
|
"""
|
|
pass
|
|
|
|
def getBackupTree(self):
|
|
"""
|
|
获取备份树
|
|
|
|
:return
|
|
"""
|
|
pass
|