Python Custom With Statement