Поэтому я попытался сократить вложенные if, используя dict, чтобы выбрать функцию для запуска. При вызове execute в тесте я обычно вызываю его с помощью "execute (" BACKUP "," / home / src "," / home / dest ")"
Но по какой-то причине он запускает обе опции BACKUP дважды. Что я делаю неправильно? Я использую Python3
def execute(jobtype, src, dst):
if jobtype == "FULL":
_o_src = fs.Index(src)
fs.MakeFolders(_o_src.GetFolders(), dst)
fs.MakeFiles(src, dst, _o_src.GetFiles())
if jobtype == "INCREMENTAL":
print("DO INCREMENTAL BACKUP " + src + " TO " + dst)
# Do the things
options = {
"BACKUP": execute(self.jobtype, self.src, self.dst),
"RESTORE": execute(self.jobtype, self.dst, self.src),
}
options[jobtype]()