def do_copy(self, new_ids=False, id_scope=None, id_remap=None):
        cp = DBLog(self._db_id,
                   self._db_entity_type,
                   self._db_version,
                   self._db_name,
                   self._db_last_modified)
        if self._db_workflow_execs is None:
            cp._db_workflow_execs = []
        else:
            cp._db_workflow_execs = [v.do_copy(new_ids, id_scope, id_remap) for v in self._db_workflow_execs]
        if self._db_machines is None:
            cp._db_machines = []
        else:
            cp._db_machines = [v.do_copy(new_ids, id_scope, id_remap) for v in self._db_machines]
        cp._db_vistrail_id = self._db_vistrail_id
        
        # set new ids
        if new_ids:
            new_id = id_scope.getNewId(self.vtType)
            if self.vtType in id_scope.remap:
                id_remap[(id_scope.remap[self.vtType], self._db_id)] = new_id
            else:
                id_remap[(self.vtType, self._db_id)] = new_id
            cp._db_id = new_id
            if hasattr(self, 'db_vistrail_id') and ('vistrail', self._db_vistrail_id) in id_remap:
                cp._db_vistrail_id = id_remap[('vistrail', self._db_vistrail_id)]
        
        # recreate indices and set flags
        for v in cp._db_workflow_execs:
            cp.db_workflow_execs_id_index[v._db_id] = v
        for v in cp._db_machines:
            cp.db_machines_id_index[v._db_id] = v
        cp.is_dirty = self.is_dirty
        cp.is_new = self.is_new
        return cp
dataset/ETHPy150Open VisTrails/VisTrails/vistrails/db/versions/v0_9_1/domain/auto_gen.py/DBLog.do_copy/original