def row_by_value(idl_, table, column, match, default=_NO_DEFAULT):
 tab = idl_.tables[table]
 for r in tab.rows.values():
  if (getattr(r, column) == match):
   return r
 if (default is not _NO_DEFAULT):
  return default
 raise RowNotFound(table=table, col=column, match=match)

def row_by_value ( idl_ , table , column , match , default = _NO_DEFAULT ) : tab = idl_ . tables [ table ] for r in tab . rows . values ( ) : if ( getattr ( r , column ) == match ) : return r if ( default is not _NO_DEFAULT ) : return default raise RowNotFound ( table = table , col = column , match = match )
lookup an idl row in a table by column/value .