def _get_main_module_defective_python_3x(self, fullname):
        """
        Recent versions of Python 3.x introduced an incomplete notion of
        importer specs, and in doing so created permanent asymmetry in the
        :mod:`pkgutil` interface handling for the `__main__` module. Therefore
        we must handle `__main__` specially.
        """
        if fullname != '__main__':
            return None

        mod = sys.modules.get(fullname)
        if not mod:
            return None

        path = getattr(mod, '__file__', None)
        if not (os.path.exists(path) and self._looks_like_script(path)):
            return None

        fp = open(path, 'rb')
        try:
            source = fp.read()
        finally:
            fp.close()

        return path, source, False
Recent versions of Python 3.x introduced an incomplete notion of
        importer specs, and in doing so created permanent asymmetry in the
        :mod:`pkgutil` interface handling for the `__main__` module. Therefore
        we must handle `__main__` specially.