Plugins/VcsPlugins/vcsMercurial/HgUserConfig.py

changeset 5257
005c59af7989
equal deleted inserted replaced
5256:4720cbf7ab52 5257:005c59af7989
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2010 - 2016 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing the Mercurial version control plugin.
8 """
9
10 from __future__ import unicode_literals
11
12 import os
13
14 from PyQt5.QtWidgets import QDialog
15
16 from QScintilla.MiniEditor import MiniEditor
17
18
19 __all__ = ["hgEditUserConfig"]
20
21 _UserEditor = None
22
23
24 def hgEditUserConfig(version=(0, 0)):
25 """
26 Module function used to edit the user configuration file.
27
28 @param version Mercurial version info (tuple of two integers)
29 """
30 global _UserEditor
31
32 from .HgUtilities import getConfigPath
33 cfgFile = getConfigPath()
34 if not os.path.exists(cfgFile):
35 # open dialog to enter the initial data
36 from .HgUserConfigDataDialog import HgUserConfigDataDialog
37 dlg = HgUserConfigDataDialog(version=version)
38 if dlg.exec_() == QDialog.Accepted:
39 firstName, lastName, email, extensions, extensionsData = \
40 dlg.getData()
41 else:
42 firstName, lastName, email, extensions, extensionsData = (
43 "Firstname", "Lastname", "email_address", [], {})
44 try:
45 f = open(cfgFile, "w")
46 f.write("[ui]\n")
47 f.write("username = {0} {1} <{2}>\n".format(
48 firstName, lastName, email))
49 if extensions:
50 f.write("\n[extensions]\n")
51 f.write(" =\n".join(extensions))
52 f.write(" =\n") # complete the last line
53 if "largefiles" in extensionsData:
54 dataDict = extensionsData["largefiles"]
55 f.write("\n[largefiles]\n")
56 if "minsize" in dataDict:
57 f.write("minsize = {0}\n".format(dataDict["minsize"]))
58 if "patterns" in dataDict:
59 f.write("patterns =\n")
60 f.write(" {0}\n".format(
61 "\n ".join(dataDict["patterns"])))
62 f.close()
63 except (IOError, OSError):
64 # ignore these
65 pass
66 _UserEditor = MiniEditor(cfgFile, "Properties")
67 _UserEditor.show()

eric ide

mercurial