def interactively_remove_items(self): getter = self.session.io_manager.make_getter(where=self._where) getter.append_menu_section_range( self.items_identifier, self._numbered_section) argument_range = getter._run() if self.session.backtrack(): return indices = [argument_number - 1 for argument_number in argument_range] indices = list(reversed(sorted(set(indices)))) items = self.items[:] items = sequencetools.remove_elements( items, indices) self.items[:] = items
def remove_items(self): r'''Removes items from list. Returns none. ''' getter = self._io_manager.make_getter(where=self._where) items_identifier = stringtools.pluralize_string(self._item_identifier) getter.append_menu_section_range( items_identifier, self._numbered_section) argument_range = getter._run() if self._should_backtrack(): return indices = [argument_number - 1 for argument_number in argument_range] indices = list(reversed(sorted(set(indices)))) items = self._items[:] items = sequencetools.remove_elements(items, indices) self._items[:] = items
def remove_items(self): r'''Removes items from collection. Returns none. ''' getter = self._io_manager._make_getter() items_identifier = stringtools.pluralize(self._item_identifier) getter.append_menu_section_range( items_identifier, self._numbered_section) argument_range = getter._run() if self._session.is_backtracking or argument_range is None: return indices = [argument_number - 1 for argument_number in argument_range] indices = list(reversed(sorted(set(indices)))) items = self._collection[:] items = sequencetools.remove_elements(items, indices) self._collection[:] = items