code: def findattr(self,attr,connector='parent'):
  		
  		if (not hasattr(self,attr)):
  			if (not hasattr(self,connector)):
  				return None
  			else:
  				con=getattr(self,connector)
  				if not con:
  					return None
  				if type(con)==type([]):
  					return [x.findattr(attr,connector) for x in con]
  				else:
  					return con.findattr(attr,connector)
  		else:
  			return getattr(self,attr)
docs: Returns the attribute named {attr}, from either the self or the self's parents (recursively).