class_docstr: Smart sdist that finds anything supported by revision control
class_docstr_tok: ["Smart","sdist","that","finds","anything","supported","by","revision","control"]
code: def __read_template_hack(self):
      # This grody hack closes the template file (MANIFEST.in) if an
      #  exception occurs during read_template.
      # Doing so prevents an error when easy_install attempts to delete the
      #  file.
      try:
          orig.sdist.read_template(self)
      except Exception:
          _, _, tb = sys.exc_info()
          tb.tb_next.tb_frame.f_locals["template"].close()
          raise
  
imports: from distutils import log
  import distutils.command.sdist
  import os
  import sys
  import io
  import contextlib
  from setuptools.extern import six, ordered_set
  from .py36compat import sdist_add_defaults
  import pkg_resources
label_desc: Use image node_id 6 for calling the sdist obj's underlying member method code with example usage: obj.__read_template_hack() without return types