class_docstr: `mock.patch` compatible wrapper for `OptionParser`.
  
  As of ``mock`` version 1.0.1, when an object uses ``__getattr__``
  hooks instead of ``__dict__``, ``patch.__exit__`` tries to delete
  the attribute it set instead of setting a new one (assuming that
  the object does not catpure ``__setattr__``, so the patch
  created a new attribute in ``__dict__``).
  
  _Mockable's getattr and setattr pass through to the underlying
  OptionParser, and delattr undoes the effect of a previous setattr.
class_docstr_tok: ["`","mock.patch","`","compatible","wrapper","for","`","OptionParser","`",".","As","of","``","mock","``","version","1.0.1",",","when","an","object","uses","``","__getattr__","``","hooks","instead","of","``","__dict__","``",",","``","patch.__exit__","``","tries","to","delete","the","attribute","it","set","instead","of","setting","a","new","one","(","assuming","that","the","object","does","not","catpure","``","__setattr__","``",",","so","the","patch","created","a","new","attribute","in","``","__dict__","``",")",".","_Mockable","'s","getattr","and","setattr","pass","through","to","the","underlying","OptionParser",",","and","delattr","undoes","the","effect","of","a","previous","setattr","."]
code: def __setattr__(self, name, value):
      assert name not in self._originals, "don't reuse mockable objects"
      self._originals[name] = getattr(self._options, name)
      setattr(self._options, name, value)
  
imports: from __future__ import absolute_import, division, print_function
  import datetime
  import numbers
  import re
  import sys
  import os
  import textwrap
  from tornado.escape import _unicode, native_str
  from tornado.log import define_logging_options
  from tornado import stack_context
  from tornado.util import basestring_type, exec_in
label_desc: Use image node_id 3 for calling the _Mockable obj's underlying member method code with example usage: obj.__setattr__(name, value) without return types