eric6/Plugins/VcsPlugins/vcsMercurial/hg.py

branch
maintenance
changeset 8273
698ae46f40a4
parent 8176
31965986ecd1
parent 8259
2bbec88047dd
child 8400
b3eefd7e58d1
diff -r fb0ef164f536 -r 698ae46f40a4 eric6/Plugins/VcsPlugins/vcsMercurial/hg.py
--- 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()

eric ide

mercurial