<s> import re <EOL> class ProxyProperty : <EOL> '''<STR_LIT>''' <EOL> def __init__ ( self , attribute_name , doc = None ) : <EOL> '''<STR_LIT>''' <EOL> if not attribute_name . startswith ( '<STR_LIT:.>' ) : <EOL> raise Exception ( "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" % repr ( attribute_name ) ) <EOL> self . getter = self . setter = None <EOL> exec ( '<STR_LIT>' % attribute_name ) <EOL> exec ( '<STR_LIT>' % attribute_name ) <EOL> exec ( '<STR_LIT>' ) <EOL> self . attribute_name = attribute_name [ <NUM_LIT:1> : ] <EOL> self . __doc__ = doc <EOL> def __get__ ( self , thing , our_type = None ) : <EOL> if thing is None : <EOL> return self <EOL> else : <EOL> return self . getter ( thing ) <EOL> def __set__ ( self , thing , value ) : <EOL> return self . setter ( thing , value ) <EOL> def __repr__ ( self ) : <EOL> return '<STR_LIT>' % ( <EOL> type ( self ) . __name__ , <EOL> repr ( '<STR_LIT>' % self . attribute_name ) , <EOL> '<STR_LIT>' % repr ( self . __doc__ ) if self . __doc__ else '<STR_LIT>' <EOL> ) </s>
