def createOperation(actionType, objId, objType, parentId, parentType, object=None): if actionType == 'add': operation = DBAdd(what=objType, objectId=objId, parentObjId=parentId, parentObjType=parentType, data=object) elif actionType == 'change': operation = DBChange(what=objType, oldObjId=objId, parentObjId=parentId, parentObjType=parentType, data=object) elif actionType == 'delete': operation = DBDelete(what=objType, objectId=objId, parentObjId=parentId, parentObjType=parentType) else: msg = "Cannot find actionType='%s'" % actionType raise Exception(msg) return operation
def translateChangeParameterAction(_action): operations = [] for _set in _action.db_datas: parameter = DBParameter(id=_set.db_parameterId, pos=_set.db_parameterId, name=_set.db_parameter, alias=_set.db_alias, val=_set.db_value, type=_set.db_type) function = DBFunction(id=_set.db_functionId, pos=_set.db_functionId, name=_set.db_function, parameters=[parameter]) operation = DBChange(id=_action.db_time, what='function', oldObjId=_set.db_functionId, parentObjId=_set.db_moduleId, parentObjType='module', data=function) operations.append(operation) action = DBAction(id=_action.db_time, prevId=_action.db_parent, date=convertDate(_action.db_date), user=_action.db_user, operations=operations) return action
def translateMoveModuleAction(_action): operations = [] for _location in _action.db_datas: location = DBLocation(id=_location.db_id, x=_location.db_dx, y=_location.db_dy) location.relative = True operation = DBChange(id=_action.db_time, what='location', oldObjId=_location.db_id, parentObjId=_location.db_id, parentObjType='module', data=location) operations.append(operation) action = DBAction(id=_action.db_time, prevId=_action.db_parent, date=convertDate(_action.db_date), user=_action.db_user, operations=operations) return action
def translateChangeAnnotationAction(_action): operations = [] for _annotation in _action.db_datas: if _annotation.db_key.strip() != '' or \ _annotation.db_value.strip() != '': annotation = DBAnnotation(id=-1, key=_annotation.db_key, value=_annotation.db_value) operation = DBChange(id=_action.db_time, what='annotation', oldObjId=_annotation.db_key, parentObjId=_annotation.db_moduleId, parentObjType='module', data=annotation) operations.append(operation) action = DBAction(id=_action.db_time, prevId=_action.db_parent, date=convertDate(_action.db_date), user=_action.db_user, operations=operations) return action