Sun, 16 May 2021 20:07:24 +0200
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
3 | # Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing some common utility functions for the Mercurial package. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import os |
5292
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
11 | import re |
8288
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
12 | import sys |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
14 | from PyQt6.QtCore import QProcess, QProcessEnvironment, QCoreApplication |
2816
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
15 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | import Utilities |
8288
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
17 | from Globals import isWindowsPlatform |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
18 | |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
19 | |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
20 | def getHgExecutable(): |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
21 | """ |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
22 | Function to get the full path of the Mercurial executable. |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
23 | |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
24 | @return path of the Mercurial executable |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
25 | @rtype str |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
26 | """ |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
27 | exe = "" |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
28 | program = "hg" |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
29 | if isWindowsPlatform(): |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
30 | program += ".exe" |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
31 | dirName = os.path.dirname(sys.executable) |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
32 | if os.path.exists(os.path.join(dirName, program)): |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
33 | exe = os.path.join(dirName, program) |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
34 | elif os.path.exists(os.path.join(dirName, "Scripts", program)): |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
35 | exe = os.path.join(dirName, "Scripts", program) |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
36 | else: |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
37 | dirName = os.path.dirname(sys.executable) |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
38 | if os.path.exists(os.path.join(dirName, program)): |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
39 | exe = os.path.join(dirName, program) |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
40 | |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
41 | if not exe: |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
42 | exe = program |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
43 | |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
44 | return exe |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
46 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | def getConfigPath(): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | """ |
8288
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
49 | Function to get the filename of the config file. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | |
8288
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
51 | @return filename of the config file |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
52 | @rtype str |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | if Utilities.isWindowsPlatform(): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | userprofile = os.environ["USERPROFILE"] |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | return os.path.join(userprofile, "Mercurial.ini") |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | else: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | homedir = Utilities.getHomeDir() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | return os.path.join(homedir, ".hgrc") |
2816
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
60 | |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
61 | |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
62 | def prepareProcess(proc, encoding="", language=""): |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
63 | """ |
8288
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
64 | Function to prepare the given process. |
2816
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
65 | |
8288
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
66 | @param proc reference to the process to be prepared |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
67 | @type QProcess |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
68 | @param encoding encoding to be used by the process |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
69 | @type str |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
70 | @param language language to be set |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
71 | @type str |
2816
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
72 | """ |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
73 | env = QProcessEnvironment.systemEnvironment() |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
74 | env.insert("HGPLAIN", '1') |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
75 | |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
76 | # set the encoding for the process |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
77 | if encoding: |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
78 | env.insert("HGENCODING", encoding) |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
79 | |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
80 | # set the language for the process |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
81 | if language: |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
82 | env.insert("LANGUAGE", language) |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
83 | |
05aab5164d64
A little optimization for the Mercurial interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
84 | proc.setProcessEnvironment(env) |
5292
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
85 | |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
86 | |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
87 | def hgVersion(plugin): |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
88 | """ |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
89 | Public method to determine the Mercurial version. |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
90 | |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
91 | @param plugin reference to the plugin object |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
92 | @type VcsMercurialPlugin |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
93 | @return tuple containing the Mercurial version as a string and as a tuple |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
94 | and an error message. |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
95 | @rtype tuple of str, tuple of int and str |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
96 | """ |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
97 | versionStr = "" |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
98 | version = () |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
99 | errorMsg = "" |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
100 | |
8288
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
101 | exe = getHgExecutable() |
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
102 | |
5292
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
103 | args = ["version"] |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
104 | args.extend(plugin.getGlobalOptions()) |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
105 | process = QProcess() |
8288
809d5d5ac2ba
Made Mercurial an optional installation requirement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
106 | process.start(exe, args) |
5292
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
107 | procStarted = process.waitForStarted(5000) |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
108 | if procStarted: |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
109 | finished = process.waitForFinished(30000) |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
110 | if finished and process.exitCode() == 0: |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
111 | output = str(process.readAllStandardOutput(), |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
112 | plugin.getPreferences("Encoding"), 'replace') |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
113 | versionStr = output.splitlines()[0].split()[-1][0:-1] |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
114 | v = list(re.match(r'.*?(\d+)\.(\d+)\.?(\d+)?(\+[0-9a-f-]+)?', |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
115 | versionStr).groups()) |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
116 | if v[-1] is None: |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
117 | del v[-1] |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
118 | for i in range(3): |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
119 | try: |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
120 | v[i] = int(v[i]) |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
121 | except TypeError: |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
122 | v[i] = 0 |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
123 | except IndexError: |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
124 | v.append(0) |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
125 | version = tuple(v) |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
126 | else: |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
127 | if finished: |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
128 | errorMsg = QCoreApplication.translate( |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
129 | "HgUtilities", |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
130 | "The hg process finished with the exit code {0}" |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
131 | ).format(process.exitCode()) |
5292
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
132 | else: |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
133 | errorMsg = QCoreApplication.translate( |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
134 | "HgUtilities", |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
135 | "The hg process did not finish within 30s.") |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
136 | else: |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
137 | errorMsg = QCoreApplication.translate( |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
138 | "HgUtilities", |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
139 | "Could not start the hg executable.") |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
140 | |
ac8b476ba122
Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
141 | return versionStr, version, errorMsg |