def data_info_factory(names, funcs):
 def func(dat):
  outs = []
  for (name, func) in zip(names, funcs):
   try:
    if isinstance(func, six.string_types):
     out = getattr(dat, func)()
    else:
     out = func(dat)
   except Exception:
    outs.append('--')
   else:
    outs.append(str(out))
  return OrderedDict(zip(names, outs))
 return func

def data_info_factory ( names , funcs ) : def func ( dat ) : outs = [ ] for ( name , func ) in zip ( names , funcs ) : try : if isinstance ( func , six . string_types ) : out = getattr ( dat , func ) ( ) else : out = func ( dat ) except Exception : outs . append ( '--' ) else : outs . append ( str ( out ) ) return OrderedDict ( zip ( names , outs ) ) return func
factory to create a function that can be used as an option for outputting data object summary information .