def __init__(self,*args,**kwargs):
     printframe()
     self.wrapped=cls(*args,**kwargs)
 def wrapper(*args,**kwargs):
     printframe()
     return fun(*args,**kwargs)
 def __getattr__(self,name):
     printframe()
     return getattr(self.wrapped,name)
 def wrapper(*args,**kwargs):
     print(header)
     printframe()
     print(footer)
     return func(*args,**kwargs)