def _read(self, fp, fpname):
<EOL>if os.path.isfile(fpname):<EOL><INDENT>file_permission = os.stat(fpname)<EOL>if fpname != os.path.join(tower_dir, '<STR_LIT>') and (<EOL>(file_permission.st_mode & stat.S_IRGRP) or<EOL>(file_permission.st_mode & stat.S_IROTH)<EOL>):<EOL><INDENT>warnings.warn('<STR_LIT>'<EOL>.format(fpname), RuntimeWarning)<EOL><DEDENT><DEDENT>try:<EOL><INDENT>return configparser.ConfigParser._read(self, fp, fpname)<EOL><DEDENT>except configparser.MissingSectionHeaderError:<EOL><INDENT>fp.seek(<NUM_LIT:0>)<EOL>string = '<STR_LIT>' % fp.read()<EOL>flo = StringIO(string)  <EOL>return configparser.ConfigParser._read(self, flo, fpname)<EOL><DEDENT>
Read the configuration from the given file.

        If the file lacks any section header, add a [general] section
        header that encompasses the whole thing.