29 lines
863 B
Python
29 lines
863 B
Python
# -*- coding: utf-8 -*-
|
|
|
|
import os
|
|
|
|
|
|
class BaseBackupCommand:
|
|
def __init__(self, folderPath):
|
|
assert folderPath is not None
|
|
|
|
self.folderPath = folderPath
|
|
|
|
# вычислять абсолютные пути надо на этапе создания комманды
|
|
# поскольку на этапе выполнения текущая директория может быть удалена
|
|
self.srcAbsPath = self.getAbsSrc()
|
|
self.backupAbsPath = self.getAbsDst()
|
|
|
|
def getAbsSrc(self):
|
|
return self.getAbs(self.folderPath)
|
|
|
|
def getAbsDst(self):
|
|
absFolderPath = self.getAbs(self.folderPath)
|
|
srcDirName = os.path.basename(absFolderPath)
|
|
absParentDir = os.path.dirname(absFolderPath)
|
|
dstAbs = self.getAbs(os.path.join(absParentDir, 'backup.{0}'.format(srcDirName)))
|
|
|
|
return dstAbs
|
|
|
|
def getAbs(self, path):
|
|
return os.path.abspath(path) |