diff -r 3257703e10c5 -r 9978016560ec eric6/Plugins/VcsPlugins/vcsMercurial/hg.py --- a/eric6/Plugins/VcsPlugins/vcsMercurial/hg.py Tue Oct 13 19:02:26 2020 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/hg.py Wed Oct 14 17:50:39 2020 +0200 @@ -1708,9 +1708,8 @@ name2 = "{0} (rev. {1})".format(name, rev2) else: try: - f1 = open(name, "r", encoding="utf-8") - output2 = f1.read() - f1.close() + with open(name, "r", encoding="utf-8") as f1: + output2 = f1.read() name2 = "{0} (Work)".format(name) except IOError: E5MessageBox.critical( @@ -2140,27 +2139,26 @@ else: createContents = False try: - cfg = open(cfgFile, "w") - if createContents: - # write the data entered - cfg.write("[paths]\n") - if defaultUrl: - cfg.write("default = {0}\n".format(defaultUrl)) - if defaultPushUrl: - cfg.write("default-push = {0}\n".format( - defaultPushUrl)) - if ( - withLargefiles and - (lfMinSize, lfPattern) != (None, None) - ): - cfg.write("\n[largefiles]\n") - if lfMinSize is not None: - cfg.write("minsize = {0}\n".format(lfMinSize)) - if lfPattern is not None: - cfg.write("patterns =\n") - cfg.write(" {0}\n".format( - "\n ".join(lfPattern))) - cfg.close() + with open(cfgFile, "w") as cfg: + if createContents: + # write the data entered + cfg.write("[paths]\n") + if defaultUrl: + cfg.write("default = {0}\n".format(defaultUrl)) + if defaultPushUrl: + cfg.write("default-push = {0}\n".format( + defaultPushUrl)) + if ( + withLargefiles and + (lfMinSize, lfPattern) != (None, None) + ): + cfg.write("\n[largefiles]\n") + if lfMinSize is not None: + cfg.write("minsize = {0}\n".format(lfMinSize)) + if lfPattern is not None: + cfg.write("patterns =\n") + cfg.write(" {0}\n".format( + "\n ".join(lfPattern))) self.__monitorRepoIniFile(repodir) self.__iniFileChanged(cfgFile) except IOError: @@ -2325,10 +2323,9 @@ if res: try: # create a .hgignore file - ignore = open(ignoreName, "w") - ignore.write("\n".join(ignorePatterns)) - ignore.write("\n") - ignore.close() + with open(ignoreName, "w") as ignore: + ignore.write("\n".join(ignorePatterns)) + ignore.write("\n") status = True except IOError: status = False @@ -3062,9 +3059,8 @@ # file exists; check, if such an entry exists already needsAdd = False try: - f = open(hgsub, "r") - contents = f.readlines() - f.close() + with open(hgsub, "r") as f: + contents = f.readlines() except IOError as err: E5MessageBox.critical( self.__ui, @@ -3091,9 +3087,8 @@ contents[-1] = contents[-1] + "\n" contents.append(entry) try: - f = open(hgsub, "w") - f.writelines(contents) - f.close() + with open(hgsub, "w") as f: + f.writelines(contents) except IOError as err: E5MessageBox.critical( self.__ui, @@ -3124,9 +3119,8 @@ return try: - f = open(hgsub, "r") - subrepositories = [line.strip() for line in f.readlines()] - f.close() + with open(hgsub, "r") as f: + subrepositories = [line.strip() for line in f.readlines()] except IOError as err: E5MessageBox.critical( self.__ui, @@ -3144,9 +3138,8 @@ subrepositories, removedSubrepos, deleteSubrepos = dlg.getData() contents = "\n".join(subrepositories) + "\n" try: - f = open(hgsub, "w") - f.write(contents) - f.close() + with open(hgsub, "w") as f: + f.write(contents) except IOError as err: E5MessageBox.critical( self.__ui,