def collect_attribute_columns(**specs):
 selected_specs = {spec_name: spec for (spec_name, spec) in iteritems(specs) if spec.columns}
 spec_cols = list(itertools.chain.from_iterable([spec.columns for spec in selected_specs.values()]))
 return ordered_set(spec_cols)

def collect_attribute_columns ( ** specs ) : selected_specs = { spec_name : spec for ( spec_name , spec ) in iteritems ( specs ) if spec . columns } spec_cols = list ( itertools . chain . from_iterable ( [ spec . columns for spec in selected_specs . values ( ) ] ) ) return ordered_set ( spec_cols )
collect list of unique and ordered columns across attribute specifications .