#NEWLINE# def group_reflected_property( name , default , fallback = _missing ) : #NEWLINE# #INDENT# 'Returns a property for a given name that falls back to the\n    value of the group if set.  If there is no such group, the\n    provided default is used.\n    ' #NEWLINE# def _get( self ) : #NEWLINE# #INDENT# rv = getattr ( self , ( '_' + name ) , _missing ) #NEWLINE# if ( ( rv is not _missing ) and ( rv != fallback ) ) : #NEWLINE# #INDENT# return rv #NEWLINE# #UNINDENT# if ( self . group is None ) : #NEWLINE# #INDENT# return default #NEWLINE# #UNINDENT# return getattr ( self . group , name ) #NEWLINE# #UNINDENT# def _set( self , value ) : #NEWLINE# #INDENT# setattr ( self , ( '_' + name ) , value ) #NEWLINE# #UNINDENT# def _del( self ) : #NEWLINE# #INDENT# delattr ( self , ( '_' + name ) ) #NEWLINE# #UNINDENT# return property ( _get , _set , _del )