def conflictMissing(self, conflict): """ Conflict missing (Resolved by another one) Remove conflict in original object and notify to clients """ conflict.getFirstObject().updateResolved(conflict) notifier.conflictUpdate(-1)
def addUpdate(self, old_object, new_object): # Returns True if the update was resolved without user interaction res = True try: mergeAction = old_object.addUpdate(new_object) if mergeAction: if old_object not in self.objects_with_updates: self.objects_with_updates.append(old_object) notifier.conflictUpdate(1) res = False except: res = False api.devlog("(%s).addUpdate(%s, %s) - failed" % (self, old_object, new_object)) return res
def addUpdate(self, old_object, new_object, command_id): # Returns True if the update was resolved without user interaction try: mergeAction = old_object.addUpdate(new_object, command_id) if mergeAction: if old_object not in self.objects_with_updates: self.objects_with_updates.append(old_object) notifier.conflictUpdate(1) return False except Exception as ex: api.devlog("(%s).addUpdate(%s, %s) - failed" % (self, old_object, new_object)) return False self.mappers_manager.update(old_object, command_id) notifier.editHost(old_object) return True
def resolveConflict(self, conflict, kwargs): if self.__edit(conflict.getFirstObject(), **kwargs): conflict.getFirstObject().updateResolved(conflict) if conflict.getModelObjectType() == "Interface": ipv4 = kwargs['ipv4'] ipv6 = kwargs['ipv6'] hostnames = kwargs['hostnames'] if not ipv4['address'] in ["0.0.0.0", None]: self.treeWordsTries.removeWord(ipv4['address']) self.treeWordsTries.addWord(ipv4['address']) if not ipv6['address'] in ["0000:0000:0000:0000:0000:0000:0000:0000", None]: self.treeWordsTries.removeWord(ipv6['address']) self.treeWordsTries.addWord(ipv6['address']) for h in hostnames: if h is not None: self.treeWordsTries.removeWord(h) self.treeWordsTries.addWord(h) notifier.conflictUpdate(-1)
def resolveConflict(self, conflict, kwargs): if self.__edit(conflict.getFirstObject(), **kwargs): conflict.getFirstObject().updateResolved(conflict) if conflict.getModelObjectType() == "Interface": ipv4 = kwargs['ipv4'] ipv6 = kwargs['ipv6'] hostnames = kwargs['hostnames'] if not ipv4['address'] in ["0.0.0.0", None]: self.treeWordsTries.removeWord(ipv4['address']) self.treeWordsTries.addWord(ipv4['address']) if not ipv6['address'] in [ "0000:0000:0000:0000:0000:0000:0000:0000", None ]: self.treeWordsTries.removeWord(ipv6['address']) self.treeWordsTries.addWord(ipv6['address']) for h in hostnames: if h is not None: self.treeWordsTries.removeWord(h) self.treeWordsTries.addWord(h) notifier.conflictUpdate(-1)
def removeConflictsByObject(self, obj): if obj in self.objects_with_updates: self.objects_with_updates.remove(obj) notifier.conflictUpdate(-len(obj.getUpdates()))
def resolveConflict(self, conflict, kwargs): if self.__edit(conflict.getFirstObject(), **kwargs): conflict.getFirstObject().updateResolved(conflict) notifier.conflictUpdate(-1)