예제 #1
0
 def remove_destination(self, title):
     try:
         self._backup_elements.remove(
             next(
                 iter((d for d in self._destination
                       if d.destination_title == title))))
     except StopIteration:
         raise TaskError("Назначения с таким названием не существует")
예제 #2
0
 def remove_backup_element(self, title):
     try:
         self._backup_elements.remove(
             next(
                 iter((el for el in self._backup_elements
                       if el.destination_title == title))))
     except StopIteration:
         raise TaskError(
             "Элементов для бэкапа с таким название не существует")
예제 #3
0
 def add_destination(self, destination):
     if destination.destination_title in (title
                                          for title in self._destination):
         raise TaskError("Назначение с таким названием уже существует")
     self._destination.append(destination)
예제 #4
0
 def add_backup_element(self, element):
     if element in self._backup_elements:
         raise TaskError(
             "Элемент для бэкапа с таким названием уже существует")
     self._backup_elements.append(element)
예제 #5
0
 def add_source(self, source):
     if source.source_title in self._source_titles:
         raise TaskError("Источник с таким названием уже существует")
     self._source_and_elements[source] = []
예제 #6
0
 def add_element_to_restore(self, element, source):
     if source.source_title not in self._source_titles:
         raise TaskError("Источника с таким названием не существует")
     if element in self._source_and_elements[source]:
         raise TaskError("Такой элемент уже присутствует")
     self._source_and_elements[source].append(element)
예제 #7
0
 def remove_source(self, title):
     if title not in self._source_titles:
         raise TaskError("Источника с таким названием не существует")
     self._source_and_elements.pop(self._get_source_by_title(title), None)