当前位置: 首页>>代码示例>>Python>>正文


Python IdScope.updateBeginId方法代码示例

本文整理汇总了Python中id_scope.IdScope.updateBeginId方法的典型用法代码示例。如果您正苦于以下问题:Python IdScope.updateBeginId方法的具体用法?Python IdScope.updateBeginId怎么用?Python IdScope.updateBeginId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在id_scope.IdScope的用法示例。


在下文中一共展示了IdScope.updateBeginId方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: DBRegistry

# 需要导入模块: from id_scope import IdScope [as 别名]
# 或者: from id_scope.IdScope import updateBeginId [as 别名]
class DBRegistry(_DBRegistry):
    def __init__(self, *args, **kwargs):
        _DBRegistry.__init__(self, *args, **kwargs)
        self.idScope = IdScope()

    @staticmethod
    def update_version(old_obj, trans_dict, new_obj=None):
        if new_obj is None:
            new_obj = DBRegistry()
        new_obj = _DBRegistry.update_version(old_obj, trans_dict, new_obj)
        new_obj.update_id_scope()
        return new_obj
    
    def update_id_scope(self):
        for package in self.db_packages:
            self.idScope.updateBeginId(DBPackage.vtType, package.db_id+1)
            for descriptor in package.db_module_descriptors:
                self.idScope.updateBeginId(DBModuleDescriptor.vtType,
                                           descriptor.db_id+1)
                for port_spec in descriptor.db_portSpecs:
                    self.idScope.updateBeginId(DBPortSpec.vtType, 
                                               port_spec.db_id+1)
开发者ID:cjh1,项目名称:VisTrails,代码行数:24,代码来源:registry.py

示例2: DBVistrail

# 需要导入模块: from id_scope import IdScope [as 别名]
# 或者: from id_scope.IdScope import updateBeginId [as 别名]
class DBVistrail(_DBVistrail):
    def __init__(self, *args, **kwargs):
        _DBVistrail.__init__(self, *args, **kwargs)
        self.idScope = IdScope(
            remap={
                DBAdd.vtType: "operation",
                DBChange.vtType: "operation",
                DBDelete.vtType: "operation",
                DBAbstraction.vtType: DBModule.vtType,
                DBGroup.vtType: DBModule.vtType,
            }
        )

        self.idScope.setBeginId("action", 1)
        self.db_objects = {}

        # keep a reference to the current logging information here
        self.db_log_filename = None
        self.log = None

    def __copy__(self):
        return DBVistrail.do_copy(self)

    def do_copy(self, new_ids=False, id_scope=None, id_remap=None):
        cp = _DBVistrail.do_copy(self, new_ids, id_scope, id_remap)
        cp.__class__ = DBVistrail

        cp.idScope = copy.copy(self.idScope)
        cp.db_objects = copy.copy(self.db_objects)
        cp.db_log_filename = self.db_log_filename
        if self.log is not None:
            cp.log = copy.copy(self.log)
        else:
            cp.log = None

        return cp

    @staticmethod
    def update_version(old_obj, trans_dict, new_obj=None):
        if new_obj is None:
            new_obj = DBVistrail()
        new_obj = _DBVistrail.update_version(old_obj, trans_dict, new_obj)
        new_obj.update_id_scope()
        if hasattr(old_obj, "db_log_filename"):
            new_obj.db_log_filename = old_obj.db_log_filename
        if hasattr(old_obj, "log"):
            new_obj.log = old_obj.log
        return new_obj

    def update_id_scope(self):
        def getOldObjId(operation):
            if operation.vtType == "change":
                return operation.db_oldObjId
            return operation.db_objectId

        def getNewObjId(operation):
            if operation.vtType == "change":
                return operation.db_newObjId
            return operation.db_objectId

        for action in self.db_actions:
            self.idScope.updateBeginId("action", action.db_id + 1)
            if action.db_session is not None:
                self.idScope.updateBeginId("session", action.db_session + 1)
            for operation in action.db_operations:
                self.idScope.updateBeginId("operation", operation.db_id + 1)
                if operation.vtType == "add" or operation.vtType == "change":
                    # update ids of data
                    self.idScope.updateBeginId(operation.db_what, getNewObjId(operation) + 1)
                    if operation.db_data is None:
                        if operation.vtType == "change":
                            operation.db_objectId = operation.db_oldObjId
                    self.db_add_object(operation.db_data)
            for annotation in action.db_annotations:
                self.idScope.updateBeginId("annotation", annotation.db_id + 1)

    def db_add_object(self, obj):
        self.db_objects[(obj.vtType, obj.db_id)] = obj

    def db_get_object(self, type, id):
        return self.db_objects.get((type, id), None)

    def db_update_object(self, obj, **kwargs):
        # want to swap out old object with a new version
        # need this for updating aliases...
        # hack it using setattr...
        real_obj = self.db_objects[(obj.vtType, obj.db_id)]
        for (k, v) in kwargs.iteritems():
            if hasattr(real_obj, k):
                setattr(real_obj, k, v)

    def update_checkout_version(self, app=""):
        checkout_key = "__checkout_version_"
        action_key = checkout_key + app
        tag_key = action_key + "_taghash"
        annotation_key = action_key + "_annotationhash"
        action_annotation_key = action_key + "_actionannotationhash"

        # delete previous checkout annotations
        deletekeys = [action_key, tag_key, annotation_key, action_annotation_key]
#.........这里部分代码省略.........
开发者ID:hjanime,项目名称:VisTrails,代码行数:103,代码来源:vistrail.py

示例3: DBVistrail

# 需要导入模块: from id_scope import IdScope [as 别名]
# 或者: from id_scope.IdScope import updateBeginId [as 别名]
class DBVistrail(_DBVistrail):
    def __init__(self, *args, **kwargs):
        _DBVistrail.__init__(self, *args, **kwargs)
        self.idScope = IdScope(remap={DBAdd.vtType: 'operation',
                                      DBChange.vtType: 'operation',
                                      DBDelete.vtType: 'operation',
                                      DBAbstraction.vtType: DBModule.vtType,
                                      DBGroup.vtType: DBModule.vtType,
                                      DBActionAnnotation.vtType: \
                                          DBAnnotation.vtType})

        self.idScope.setBeginId('action', 1)
        self.idScope.setBeginId(DBParameterExploration.vtType, 1)
        self.db_objects = {}

        # keep a reference to the current logging information here
        self.db_log_filename = None
        self.log = None

    def __copy__(self):
        return DBVistrail.do_copy(self)

    def do_copy(self, new_ids=False, id_scope=None, id_remap=None):
        cp = _DBVistrail.do_copy(self, new_ids, id_scope, id_remap)
        cp.__class__ = DBVistrail
        
        cp.idScope = copy.copy(self.idScope)
        cp.db_objects = copy.copy(self.db_objects)
        cp.db_log_filename = self.db_log_filename
        if self.log is not None:
            cp.log = copy.copy(self.log)
        else:
            cp.log = None
        
        return cp

    @staticmethod
    def update_version(old_obj, trans_dict, new_obj=None):
        if new_obj is None:
            new_obj = DBVistrail()
        new_obj = _DBVistrail.update_version(old_obj, trans_dict, new_obj)
        new_obj.update_id_scope()
        if hasattr(old_obj, 'db_log_filename'):
            new_obj.db_log_filename = old_obj.db_log_filename
        if hasattr(old_obj, 'log'):
            new_obj.log = old_obj.log
        return new_obj

    def update_id_scope(self):
        def getOldObjId(operation):
            if operation.vtType == 'change':
                return operation.db_oldObjId
            return operation.db_objectId

        def getNewObjId(operation):
            if operation.vtType == 'change':
                return operation.db_newObjId
            return operation.db_objectId

        for action in self.db_actions:
            self.idScope.updateBeginId('action', action.db_id+1)
            if action.db_session is not None:
                self.idScope.updateBeginId('session', action.db_session + 1)
            for operation in action.db_operations:
                self.idScope.updateBeginId('operation', operation.db_id+1)
                if operation.vtType == 'add' or operation.vtType == 'change':
                    # update ids of data
                    self.idScope.updateBeginId(operation.db_what, 
                                               getNewObjId(operation)+1)
                    if operation.db_data is None:
                        if operation.vtType == 'change':
                            operation.db_objectId = operation.db_oldObjId
                    self.db_add_object(operation.db_data)
            for annotation in action.db_annotations:
                self.idScope.updateBeginId('annotation', annotation.db_id+1)
        
        for annotation in self.db_annotations:
            self.idScope.updateBeginId('annotation', annotation.db_id+1)
        for annotation in self.db_actionAnnotations:
            self.idScope.updateBeginId('annotation', annotation.db_id+1)
        for paramexp in self.db_parameter_explorations:
            self.idScope.updateBeginId('parameter_exploration',
                                       paramexp.db_id+1)

    def db_add_object(self, obj):
        self.db_objects[(obj.vtType, obj.db_id)] = obj

    def db_get_object(self, type, id):
        return self.db_objects.get((type, id), None)

    def db_update_object(self, obj, **kwargs):
        # want to swap out old object with a new version
        # need this for updating aliases...
        # hack it using setattr...
        real_obj = self.db_objects[(obj.vtType, obj.db_id)]
        for (k, v) in kwargs.iteritems():
            if hasattr(real_obj, k):
                setattr(real_obj, k, v)

    def update_checkout_version(self, app=''):
#.........这里部分代码省略.........
开发者ID:cjh1,项目名称:VisTrails,代码行数:103,代码来源:vistrail.py

示例4: DBVistrail

# 需要导入模块: from id_scope import IdScope [as 别名]
# 或者: from id_scope.IdScope import updateBeginId [as 别名]
class DBVistrail(_DBVistrail):
    def __init__(self, *args, **kwargs):
        _DBVistrail.__init__(self, *args, **kwargs)
        self.idScope = IdScope(remap={DBAdd.vtType: 'operation',
                                      DBChange.vtType: 'operation',
                                      DBDelete.vtType: 'operation',
                                      DBAbstraction.vtType: DBModule.vtType,
                                      DBGroup.vtType: DBModule.vtType})

        self.idScope.setBeginId('action', 1)
        self.db_objects = {}

        # keep a reference to the current logging information here
        self.db_log_filename = None
        self.log = None

    def __copy__(self):
        return DBVistrail.do_copy(self)

    def do_copy(self, new_ids=False, id_scope=None, id_remap=None):
        cp = _DBVistrail.do_copy(self, new_ids, id_scope, id_remap)
        cp.__class__ = DBVistrail
        
        cp.idScope = copy.copy(self.idScope)
        cp.db_objects = copy.copy(self.db_objects)
        cp.db_log_filename = self.db_log_filename
        if self.log is not None:
            cp.log = copy.copy(self.log)
        else:
            cp.log = None
        
        return cp

    @staticmethod
    def update_version(old_obj, trans_dict, new_obj=None):
        if new_obj is None:
            new_obj = DBVistrail()
        new_obj = _DBVistrail.update_version(old_obj, trans_dict, new_obj)
        new_obj.update_id_scope()
        if hasattr(old_obj, 'db_log_filename'):
            new_obj.db_log_filename = old_obj.db_log_filename
        if hasattr(old_obj, 'log'):
            new_obj.log = old_obj.log
        return new_obj

    def update_id_scope(self):
        def getOldObjId(operation):
            if operation.vtType == 'change':
                return operation.db_oldObjId
            return operation.db_objectId

        def getNewObjId(operation):
            if operation.vtType == 'change':
                return operation.db_newObjId
            return operation.db_objectId

        for action in self.db_actions:
            self.idScope.updateBeginId('action', action.db_id+1)
            if action.db_session is not None:
                self.idScope.updateBeginId('session', action.db_session + 1)
            for operation in action.db_operations:
                self.idScope.updateBeginId('operation', operation.db_id+1)
                if operation.vtType == 'add' or operation.vtType == 'change':
                    # update ids of data
                    self.idScope.updateBeginId(operation.db_what, 
                                                   getNewObjId(operation)+1)
                    if operation.db_data is None:
                        if operation.vtType == 'change':
                            operation.db_objectId = operation.db_oldObjId
                    self.db_add_object(operation.db_data)
            for annotation in action.db_annotations:
                self.idScope.updateBeginId('annotation', annotation.db_id+1)

    def db_add_object(self, obj):
        self.db_objects[(obj.vtType, obj.db_id)] = obj

    def db_get_object(self, type, id):
        return self.db_objects.get((type, id), None)

    def db_update_object(self, obj, **kwargs):
        # want to swap out old object with a new version
        # need this for updating aliases...
        # hack it using setattr...
        real_obj = self.db_objects[(obj.vtType, obj.db_id)]
        for (k, v) in kwargs.iteritems():
            if hasattr(real_obj, k):
                setattr(real_obj, k, v)
开发者ID:hjanime,项目名称:VisTrails,代码行数:89,代码来源:vistrail.py


注:本文中的id_scope.IdScope.updateBeginId方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。