Plugins/VcsPlugins/vcsMercurial/HgUserConfig.py

Fri, 21 Oct 2016 18:25:23 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 21 Oct 2016 18:25:23 +0200
changeset 5257
005c59af7989
permissions
-rw-r--r--

Added the forgotten refactored file and source docu.

# -*- 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