Advertisement
Guest User

Untitled

a guest
Aug 30th, 2011
430
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.59 KB | None | 0 0
  1. set_source = "def $FUNC(self, value):\n\tself._$VAR = value\n"
  2. get_source = "def $FUNC(self):\n\treturn self._$VAR\n"
  3.  
  4. def magic_property(var_name):
  5.     source = get_source.replace("$VAR", var_name)
  6.     source = source.replace("$FUNC", "__get_%s" % var_name)
  7.     code = compile(source, "<string>", "exec").co_consts[0]
  8.     getter = FunctionType(code, {})
  9.  
  10.     source = set_source.replace("$VAR", var_name)
  11.     source = source.replace("$FUNC", "__set_%s" % var_name)
  12.     code = compile(source, "<string>", "exec").co_consts[0]
  13.     setter = FunctionType(code, {})
  14.  
  15.     prop = property(getter, setter)
  16.  
  17.     return prop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement