Plugins/VcsPlugins/vcsMercurial/HgUserConfig.py

changeset 5257
005c59af7989
diff -r 4720cbf7ab52 -r 005c59af7989 Plugins/VcsPlugins/vcsMercurial/HgUserConfig.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Plugins/VcsPlugins/vcsMercurial/HgUserConfig.py	Fri Oct 21 18:25:23 2016 +0200
@@ -0,0 +1,67 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2010 - 2016 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing the Mercurial version control plugin.
+"""
+
+from __future__ import unicode_literals
+
+import os
+
+from PyQt5.QtWidgets import QDialog
+
+from QScintilla.MiniEditor import MiniEditor
+
+
+__all__ = ["hgEditUserConfig"]
+
+_UserEditor = None
+
+
+def hgEditUserConfig(version=(0, 0)):
+    """
+    Module function used to edit the user configuration file.
+    
+    @param version Mercurial version info (tuple of two integers)
+    """
+    global _UserEditor
+    
+    from .HgUtilities import getConfigPath
+    cfgFile = getConfigPath()
+    if not os.path.exists(cfgFile):
+        # open dialog to enter the initial data
+        from .HgUserConfigDataDialog import HgUserConfigDataDialog
+        dlg = HgUserConfigDataDialog(version=version)
+        if dlg.exec_() == QDialog.Accepted:
+            firstName, lastName, email, extensions, extensionsData = \
+                dlg.getData()
+        else:
+            firstName, lastName, email, extensions, extensionsData = (
+                "Firstname", "Lastname", "email_address", [], {})
+        try:
+            f = open(cfgFile, "w")
+            f.write("[ui]\n")
+            f.write("username = {0} {1} <{2}>\n".format(
+                firstName, lastName, email))
+            if extensions:
+                f.write("\n[extensions]\n")
+                f.write(" =\n".join(extensions))
+                f.write(" =\n")     # complete the last line
+            if "largefiles" in extensionsData:
+                dataDict = extensionsData["largefiles"]
+                f.write("\n[largefiles]\n")
+                if "minsize" in dataDict:
+                    f.write("minsize = {0}\n".format(dataDict["minsize"]))
+                if "patterns" in dataDict:
+                    f.write("patterns =\n")
+                    f.write("  {0}\n".format(
+                        "\n  ".join(dataDict["patterns"])))
+            f.close()
+        except (IOError, OSError):
+            # ignore these
+            pass
+    _UserEditor = MiniEditor(cfgFile, "Properties")
+    _UserEditor.show()

eric ide

mercurial