--- a/eric6/Plugins/VcsPlugins/vcsMercurial/hg.py Fri Apr 02 11:59:41 2021 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/hg.py Sat May 01 14:27:20 2021 +0200 @@ -9,6 +9,7 @@ import os import shutil +import contextlib from PyQt5.QtCore import ( pyqtSignal, QFileInfo, QFileSystemWatcher, QCoreApplication @@ -747,10 +748,7 @@ @param name file/directory name to be diffed (string) """ - if isinstance(name, list): - names = name[:] - else: - names = [name] + names = name[:] if isinstance(name, list) else [name] for nam in names: if os.path.isfile(nam): editor = e5App().getObject("ViewManager").getOpenEditor(nam) @@ -826,10 +824,13 @@ msgPart = "global " if tagOp in [HgTagDialog.DeleteGlobalTag, HgTagDialog.DeleteLocalTag]: args.append('--remove') - if tagOp in [HgTagDialog.CreateGlobalTag, HgTagDialog.CreateLocalTag]: - if revision: - args.append("--rev") - args.append(revision) + if ( + tagOp in [ + HgTagDialog.CreateGlobalTag, HgTagDialog.CreateLocalTag] and + revision + ): + args.append("--rev") + args.append(revision) if force: args.append("--force") args.append('--message') @@ -1078,18 +1079,17 @@ flag, path = line.split(" ", 1) name = os.path.normcase(os.path.join(repoPath, path)) dirName = os.path.dirname(name) - if name.startswith(dname): - if flag not in "?I": - if name in names: - names[name] = self.canBeCommitted - if dirName in names: - names[dirName] = self.canBeCommitted - if dirs: - for d in dirs: - if name.startswith(d): - names[d] = self.canBeCommitted - dirs.remove(d) - break + if name.startswith(dname) and flag not in "?I": + if name in names: + names[name] = self.canBeCommitted + if dirName in names: + names[dirName] = self.canBeCommitted + if dirs: + for d in dirs: + if name.startswith(d): + names[d] = self.canBeCommitted + dirs.remove(d) + break if flag not in "?I": self.statusCache[name] = self.canBeCommitted self.statusCache[dirName] = self.canBeCommitted @@ -1141,10 +1141,8 @@ entries.extend(Utilities.direntries(name, True, pat)) for entry in entries: - try: + with contextlib.suppress(OSError): os.remove(entry) - except OSError: - pass def vcsCommandLine(self, name): """ @@ -1214,9 +1212,7 @@ infoBlock = [] if output: - index = 0 - for line in output.splitlines(): - index += 1 + for index, line in enumerate(output.splitlines(), start=1): (changeset, tags, author, date, branches, bookmarks) = line.split("@@@") cdate, ctime = date.split()[:2] @@ -1248,21 +1244,18 @@ """<tr><td><b>Committed time</b></td><td>{2}</td></tr>""") .format(author, cdate, ctime)) infoBlock.append("\n".join(info)) - if infoBlock: - infoStr = """<tr></tr>{0}""".format("<tr></tr>".join(infoBlock)) - else: - infoStr = "" + infoStr = ( + """<tr></tr>{0}""".format("<tr></tr>".join(infoBlock)) + if infoBlock else + "" + ) url = "" args = self.initCommand("showconfig") args.append('paths.default') output, error = self.__client.runcommand(args) - - if output: - url = output.splitlines()[0].strip() - else: - url = "" + url = output.splitlines()[0].strip() if output else "" return QCoreApplication.translate( 'mercurial', @@ -1457,10 +1450,7 @@ @param name file/directory name to be diffed (string) """ - if isinstance(name, list): - names = name[:] - else: - names = [name] + names = name[:] if isinstance(name, list) else [name] for nam in names: if os.path.isfile(nam): editor = e5App().getObject("ViewManager").getOpenEditor(nam) @@ -1707,9 +1697,7 @@ output, error = self.__client.runcommand(args) if output: - index = 0 - for line in output.splitlines(): - index += 1 + for index, line in enumerate(output.splitlines(), start=1): (changeset, tags, author, date, branches, parents, bookmarks) = line.split("@@@") cdate, ctime = date.split()[:2] @@ -1793,10 +1781,11 @@ else: args.append(name) - if unresolve: - title = self.tr("Marking as 'unresolved'") - else: - title = self.tr("Marking as 'resolved'") + title = ( + self.tr("Marking as 'unresolved'") + if unresolve else + self.tr("Marking as 'resolved'") + ) dia = HgDialog(title, self) res = dia.startProcess(args) if res: @@ -1915,7 +1904,7 @@ lfMinSize, lfPattern = dlg.getLargefilesData() else: createContents = False - try: + with contextlib.suppress(OSError): with open(cfgFile, "w") as cfg: if createContents: # write the data entered @@ -1938,8 +1927,6 @@ "\n ".join(lfPattern))) self.__monitorRepoIniFile(repoName) self.__iniFileChanged(cfgFile) - except OSError: - pass self.repoEditor = MiniEditor(cfgFile, "Properties") self.repoEditor.show() @@ -2033,15 +2020,16 @@ ] ignoreName = os.path.join(name, Hg.IgnoreFileName) - if os.path.exists(ignoreName): - res = E5MessageBox.yesNo( + res = ( + E5MessageBox.yesNo( self.__ui, self.tr("Create .hgignore file"), self.tr("""<p>The file <b>{0}</b> exists already.""" """ Overwrite it?</p>""").format(ignoreName), icon=E5MessageBox.Warning) - else: - res = True + if os.path.exists(ignoreName) else + True + ) if res: try: # create a .hgignore file @@ -2424,15 +2412,17 @@ if data: revs, phase, force = data + if phase not in ("p", "d", "s"): + raise ValueError("Invalid phase given.") + args = self.initCommand("phase") if phase == "p": args.append("--public") elif phase == "d": args.append("--draft") - elif phase == "s": + else: args.append("--secret") - else: - raise ValueError("Invalid phase given.") + if force: args.append("--force") for rev in revs: @@ -3173,10 +3163,11 @@ """ bookmarksList = [] - if incoming: - args = self.initCommand("incoming") - else: - args = self.initCommand("outgoing") + args = ( + self.initCommand("incoming") + if incoming else + self.initCommand("outgoing") + ) args.append('--bookmarks') client = self.getClient()