(self, columns, relevant_keys, get_selected)
return annotated
Columns are duplicated only if values differ (even
        if only in order of values), origin table name and input slot is added to column name.
Columns are duplicated only if values differ (even
        if only in order of values), origin table name and input slot is added to column name.
Columns are duplicated only if values differ ( even if only in order of values ) origin table name and input slot is added to column name .
def create_from_columns(self, columns, relevant_keys, get_selected):
        """
        Columns are duplicated only if values differ (even
        if only in order of values), origin table name and input slot is added to column name.
        """
        var_dict = {}
        for atr_type in self.atr_types:
            container = {}
            for table_key in relevant_keys:
                table = self.data[table_key].table
                if atr_type == 'attributes':
                    if get_selected:
                        atrs = list(compress(table.domain.attributes,
                                             [c.name in columns for c in table.domain.attributes]))
                    else:
                        atrs = getattr(table.domain, atr_type)
                else:
                    atrs = getattr(table.domain, atr_type)
                merge_vars = self.curry_merge(table_key, atr_type)
                container = reduce(merge_vars, atrs, container)
            var_dict[atr_type] = container

        if get_selected:
            annotated = self.extract_columnwise(var_dict, None)
        else:
            annotated = self.extract_columnwise(var_dict, columns)

        return annotated
def create_from_columns ( self , columns , relevant_keys , get_selected ) : var_dict = { } for atr_type in self . atr_types : container = { } for table_key in relevant_keys : table = self . data [ table_key ] . table if atr_type == 'attributes' : if get_selected : atrs = list ( compress ( table . domain . attributes , [ c . name in columns for c in table . domain . attributes ] ) ) else : atrs = getattr ( table . domain , atr_type ) else : atrs = getattr ( table . domain , atr_type ) merge_vars = self . curry_merge ( table_key , atr_type ) container = reduce ( merge_vars , atrs , container ) var_dict [ atr_type ] = container if get_selected : annotated = self . extract_columnwise ( var_dict , None ) else : annotated = self . extract_columnwise ( var_dict , columns ) return annotated