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("Назначения с таким названием не существует")
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( "Элементов для бэкапа с таким название не существует")
def add_destination(self, destination): if destination.destination_title in (title for title in self._destination): raise TaskError("Назначение с таким названием уже существует") self._destination.append(destination)
def add_backup_element(self, element): if element in self._backup_elements: raise TaskError( "Элемент для бэкапа с таким названием уже существует") self._backup_elements.append(element)
def add_source(self, source): if source.source_title in self._source_titles: raise TaskError("Источник с таким названием уже существует") self._source_and_elements[source] = []
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)
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)