Thu, 05 Oct 2023 09:59:53 +0200
Merged with branch 'eric7' in order to prepare a new release.
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
1 | #!/usr/bin/env python3 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | |
9653
e67609152c5e
Updated copyright for 2023.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9632
diff
changeset
|
4 | # Copyright (c) 2002 - 2023 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | # |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
6 | # This is the install script for eric. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
9 | Installation script for the eric IDE and all eric related tools. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
8501
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
12 | import compileall |
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
13 | import contextlib |
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
14 | import datetime |
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
15 | import fnmatch |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
16 | import getopt |
8501
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
17 | import getpass |
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
18 | import glob |
9485
0f3620304d7a
Changed code to use 'iimportlib.import_module()' instead of '__import__()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
19 | import importlib |
8501
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
20 | import io |
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
21 | import json |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | import os |
8501
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
23 | import py_compile |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | import re |
8501
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
25 | import shlex |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | import shutil |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
27 | import subprocess # secok |
9420
92810aebc909
Changed the code to use sysconfig.get_path("scripts") wherever possible.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9402
diff
changeset
|
28 | import sys |
92810aebc909
Changed the code to use sysconfig.get_path("scripts") wherever possible.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9402
diff
changeset
|
29 | import sysconfig |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
30 | import time |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
9986 | 32 | from functools import partial |
33 | ||
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | # Define the globals. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | progName = None |
1658
c61997a63efe
Changed the install script to deal with installations initiated from a directory not containing the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1538
diff
changeset
|
36 | currDir = os.getcwd() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | modDir = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | pyModDir = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | platBinDir = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | distDir = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | apisDir = None |
3943
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
42 | installApis = True |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | doCleanup = True |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
44 | doCleanDesktopLinks = False |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
45 | forceCleanDesktopLinks = False |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | doCompile = True |
7333 | 47 | yes2All = False |
9356
803a7a85b071
Changed the install script to only install the qt6-applications package if requested explicitly (--with-tools).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9347
diff
changeset
|
48 | withPyqt6Tools = False |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
49 | verbose = False |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | cfg = {} |
9361
718bc86e1c3f
Changed the handling of 'installed API files' a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9356
diff
changeset
|
51 | progLanguages = ["MicroPython", "Python3", "QSS"] |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
52 | sourceDir = "eric" |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
53 | eric7SourceDir = "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
54 | configName = "eric7config.py" |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
55 | defaultMacAppBundleName = "eric7.app" |
3714
4080395e3426
Changed the uninstall code for Mac platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3705
diff
changeset
|
56 | defaultMacAppBundlePath = "/Applications" |
3955
9c3e54d351e2
Changed some code in the install script to improve virtualenv support for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3950
diff
changeset
|
57 | defaultMacPythonExe = "{0}/Resources/Python.app/Contents/MacOS/Python".format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
58 | sys.exec_prefix |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
59 | ) |
7584
328d92d8db48
install: fixed an issue causing a faulty application bundle being created for macOS installations when installing into a Python virtual environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7566
diff
changeset
|
60 | if not os.path.exists(defaultMacPythonExe): |
328d92d8db48
install: fixed an issue causing a faulty application bundle being created for macOS installations when installing into a Python virtual environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7566
diff
changeset
|
61 | defaultMacPythonExe = "" |
3955
9c3e54d351e2
Changed some code in the install script to improve virtualenv support for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3950
diff
changeset
|
62 | macAppBundleName = defaultMacAppBundleName |
9c3e54d351e2
Changed some code in the install script to improve virtualenv support for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3950
diff
changeset
|
63 | macAppBundlePath = defaultMacAppBundlePath |
9c3e54d351e2
Changed some code in the install script to improve virtualenv support for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3950
diff
changeset
|
64 | macPythonExe = defaultMacPythonExe |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
66 | createInstallInfoFile = True |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
67 | installInfoName = "eric7install.json" |
7804
1cbc27e34ec6
Implementing code to record and/or guess some information about the installation process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7799
diff
changeset
|
68 | installInfo = {} |
7813
5d0dbec7b815
Main Window: added code to update the saved install information after an update.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7812
diff
changeset
|
69 | installCwd = "" |
7804
1cbc27e34ec6
Implementing code to record and/or guess some information about the installation process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7799
diff
changeset
|
70 | |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
71 | # Define blacklisted versions of the prerequisites |
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
72 | BlackLists = { |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
73 | "sip": [], |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
74 | "PyQt6": [], |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
75 | "QScintilla2": [], |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
76 | } |
1914
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
77 | PlatformsBlackLists = { |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
78 | "windows": { |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
79 | "sip": [], |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
80 | "PyQt6": [], |
1914
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
81 | "QScintilla2": [], |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
82 | }, |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
83 | "linux": { |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
84 | "sip": [], |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
85 | "PyQt6": [], |
1914
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
86 | "QScintilla2": [], |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
87 | }, |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
88 | "mac": { |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
89 | "sip": [], |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
90 | "PyQt6": [], |
1914
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
91 | "QScintilla2": [], |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
92 | }, |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
93 | } |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
94 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
95 | |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
96 | def exit(rcode=0): |
390
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
97 | """ |
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
98 | Exit the install script. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
99 | |
3019
7912530a33e2
Fixed a few documentation strings that got broken while doing the line shortening job. That concludes the later.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3003
diff
changeset
|
100 | @param rcode result code to report back (integer) |
390
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
101 | """ |
1658
c61997a63efe
Changed the install script to deal with installations initiated from a directory not containing the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1538
diff
changeset
|
102 | global currDir |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
103 | |
5963
14522ec8cd08
Made QtWebKit/QtWebKitWidgets or QtWebEngineWidgets a mandatory installation prerequisite and reverted the code, that made the HTML code info viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5810
diff
changeset
|
104 | print() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
105 | |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
106 | if sys.platform.startswith(("win", "cygwin")): |
9328
49a0a9cb2505
Fixed some code style issues detected by the new checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9314
diff
changeset
|
107 | with contextlib.suppress(EOFError): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
108 | input("Press enter to continue...") # secok |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
109 | |
1658
c61997a63efe
Changed the install script to deal with installations initiated from a directory not containing the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1538
diff
changeset
|
110 | os.chdir(currDir) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
111 | |
390
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
112 | sys.exit(rcode) |
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
113 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
114 | |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
115 | def usage(rcode=2): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | Display a usage message and exit. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | @param rcode the return code passed back to the calling process. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | """ |
3507
b09e10d4f343
Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3468
diff
changeset
|
121 | global progName, modDir, distDir, apisDir |
b09e10d4f343
Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3468
diff
changeset
|
122 | global macAppBundleName, macAppBundlePath, macPythonExe |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
124 | print() |
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
125 | print("Usage:") |
2306
0f020f39977b
Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2275
diff
changeset
|
126 | if sys.platform == "darwin": |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
127 | print( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
128 | " {0} [-chvxz] [-a dir] [-b dir] [-d dir] [-f file] [-i dir]" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
129 | " [-m name] [-n path] [-p python] [--help] [--no-apis]" |
9378
ac7786c2109f
Corrected command line parsing of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9377
diff
changeset
|
130 | " [--no-info] [--with-tools] [--verbose] [--yes]".format(progName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
131 | ) |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
132 | elif sys.platform.startswith(("win", "cygwin")): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
133 | print( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
134 | " {0} [-chvxz] [-a dir] [-b dir] [-d dir] [-f file]" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
135 | " [--clean-desktop] [--help] [--no-apis] [--no-info]" |
9378
ac7786c2109f
Corrected command line parsing of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9377
diff
changeset
|
136 | " [--with-tools] [--verbose] [--yes]".format(progName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
137 | ) |
2306
0f020f39977b
Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2275
diff
changeset
|
138 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
139 | print( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
140 | " {0} [-chvxz] [-a dir] [-b dir] [-d dir] [-f file] [-i dir]" |
9378
ac7786c2109f
Corrected command line parsing of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9377
diff
changeset
|
141 | " [--help] [--no-apis] [--no-info] [--with-tools] [--verbose]" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
142 | " [--yes]".format(progName) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
143 | ) |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
144 | print("where:") |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
145 | print(" -h, --help display this help message") |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
146 | print(" -a dir where the API files will be installed") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | if apisDir: |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
148 | print(" (default: {0})".format(apisDir)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | else: |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
150 | print(" (no default value)") |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
151 | print(" --no-apis don't install API files") |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
152 | print(" -b dir where the binaries will be installed") |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
153 | print(" (default: {0})".format(platBinDir)) |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
154 | print(" -d dir where eric python files will be installed") |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
155 | print(" (default: {0})".format(modDir)) |
9576
be9f8e7e42e0
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9485
diff
changeset
|
156 | print(" -f file configuration file naming the various installation paths") |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
157 | if not sys.platform.startswith(("win", "cygwin")): |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
158 | print(" -i dir temporary install prefix") |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
159 | print(" (default: {0})".format(distDir)) |
2306
0f020f39977b
Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2275
diff
changeset
|
160 | if sys.platform == "darwin": |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
161 | print(" -m name name of the Mac app bundle") |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
162 | print(" (default: {0})".format(macAppBundleName)) |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
163 | print(" -n path path of the directory the Mac app bundle will") |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
164 | print(" be created in") |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
165 | print(" (default: {0})".format(macAppBundlePath)) |
3955
9c3e54d351e2
Changed some code in the install script to improve virtualenv support for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3950
diff
changeset
|
166 | print(" -p python path of the python executable") |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
167 | print(" (default: {0})".format(macPythonExe)) |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
168 | print(" -c don't cleanup old installation first") |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
169 | print(" -v, --verbose print some more information") |
9576
be9f8e7e42e0
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9485
diff
changeset
|
170 | print(" -x don't perform dependency checks (use on your own risk)") |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
171 | print(" -z don't compile the installed python files") |
7333 | 172 | print(" --yes answer 'yes' to all questions") |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
173 | print() |
9356
803a7a85b071
Changed the install script to only install the qt6-applications package if requested explicitly (--with-tools).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9347
diff
changeset
|
174 | if sys.platform.startswith(("win", "cygwin")): |
803a7a85b071
Changed the install script to only install the qt6-applications package if requested explicitly (--with-tools).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9347
diff
changeset
|
175 | print(" --clean-desktop delete desktop links before installation") |
803a7a85b071
Changed the install script to only install the qt6-applications package if requested explicitly (--with-tools).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9347
diff
changeset
|
176 | print(" --no-info don't create the install info file") |
9622
9a5a3ed7bd68
Corrected a typo in the install.py help text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
177 | print(" --with-tools install qt6-applications") |
9356
803a7a85b071
Changed the install script to only install the qt6-applications package if requested explicitly (--with-tools).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9347
diff
changeset
|
178 | print() |
9576
be9f8e7e42e0
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9485
diff
changeset
|
179 | print("The file given to the -f option must be valid Python code defining a") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
180 | print( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
181 | "dictionary called 'cfg' with the keys 'ericDir', 'ericPixDir'," |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
182 | " 'ericIconDir'," |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
183 | ) |
8820
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
184 | print("'ericDTDDir', 'ericCSSDir', 'ericStylesDir', 'ericThemesDir',") |
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
185 | print(" 'ericDocDir', ericExamplesDir',") |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
186 | print("'ericTranslationsDir', 'ericTemplatesDir', 'ericCodeTemplatesDir',") |
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
187 | print("'ericOthersDir','bindir', 'mdir' and 'apidir.") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
188 | print( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
189 | "These define the directories for the installation of the various" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
190 | " parts of eric." |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
191 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | |
390
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
193 | exit(rcode) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | def initGlobals(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | """ |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
198 | Module function to set the values of globals that need more than a |
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
199 | simple assignment. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | """ |
9420
92810aebc909
Changed the code to use sysconfig.get_path("scripts") wherever possible.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9402
diff
changeset
|
201 | global platBinDir, modDir, pyModDir, apisDir |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
202 | |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
203 | if sys.platform.startswith(("win", "cygwin")): |
9420
92810aebc909
Changed the code to use sysconfig.get_path("scripts") wherever possible.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9402
diff
changeset
|
204 | platBinDir = sysconfig.get_path("scripts") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
205 | else: |
9420
92810aebc909
Changed the code to use sysconfig.get_path("scripts") wherever possible.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9402
diff
changeset
|
206 | # install the eric scripts along the python executable |
92810aebc909
Changed the code to use sysconfig.get_path("scripts") wherever possible.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9402
diff
changeset
|
207 | platBinDir = sysconfig.get_path("scripts") |
92810aebc909
Changed the code to use sysconfig.get_path("scripts") wherever possible.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9402
diff
changeset
|
208 | if not os.access(platBinDir, os.W_OK): |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
209 | # install them in the user's bin directory |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
210 | platBinDir = os.path.expanduser("~/bin") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
212 | modDir = sysconfig.get_path("platlib") |
10091
ac6edcfe7831
Corrected the install and uninstall scripts to cope use the user site-packages if a global install without admin rights is done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10090
diff
changeset
|
213 | if not os.access(modDir, os.W_OK): |
ac6edcfe7831
Corrected the install and uninstall scripts to cope use the user site-packages if a global install without admin rights is done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10090
diff
changeset
|
214 | # can't write to the standard path, use the 'user' path instead |
ac6edcfe7831
Corrected the install and uninstall scripts to cope use the user site-packages if a global install without admin rights is done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10090
diff
changeset
|
215 | if sys.platform.startswith(("win", "cygwin")): |
ac6edcfe7831
Corrected the install and uninstall scripts to cope use the user site-packages if a global install without admin rights is done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10090
diff
changeset
|
216 | scheme = "nt_user" |
ac6edcfe7831
Corrected the install and uninstall scripts to cope use the user site-packages if a global install without admin rights is done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10090
diff
changeset
|
217 | elif sys.platform == "darwin": |
ac6edcfe7831
Corrected the install and uninstall scripts to cope use the user site-packages if a global install without admin rights is done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10090
diff
changeset
|
218 | scheme = "osx_framework_user" |
ac6edcfe7831
Corrected the install and uninstall scripts to cope use the user site-packages if a global install without admin rights is done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10090
diff
changeset
|
219 | else: |
ac6edcfe7831
Corrected the install and uninstall scripts to cope use the user site-packages if a global install without admin rights is done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10090
diff
changeset
|
220 | scheme = "posix_user" |
ac6edcfe7831
Corrected the install and uninstall scripts to cope use the user site-packages if a global install without admin rights is done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10090
diff
changeset
|
221 | modDir = sysconfig.get_path("platlib", scheme) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
222 | pyModDir = modDir |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
223 | |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
224 | pyqtDataDir = os.path.join(modDir, "PyQt6") |
2608
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2586
diff
changeset
|
225 | if os.path.exists(os.path.join(pyqtDataDir, "qsci")): |
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2586
diff
changeset
|
226 | # it's the installer |
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2586
diff
changeset
|
227 | qtDataDir = pyqtDataDir |
8640
b4e75efa081d
Corrected the APIs installation path in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8634
diff
changeset
|
228 | elif os.path.exists(os.path.join(pyqtDataDir, "Qt6", "qsci")): |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
229 | # it's the wheel |
8640
b4e75efa081d
Corrected the APIs installation path in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8634
diff
changeset
|
230 | qtDataDir = os.path.join(pyqtDataDir, "Qt6") |
2608
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2586
diff
changeset
|
231 | else: |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
232 | # determine dynamically |
2608
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2586
diff
changeset
|
233 | try: |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
234 | from PyQt6.QtCore import QLibraryInfo # noqa: I101, I102 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
235 | |
8615
d43e7eb22319
Fixed some issues related to Qt enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8611
diff
changeset
|
236 | qtDataDir = QLibraryInfo.path(QLibraryInfo.LibraryPath.DataPath) |
2608
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2586
diff
changeset
|
237 | except ImportError: |
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2586
diff
changeset
|
238 | qtDataDir = None |
8214
51f0d3e047ec
install script: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
239 | apisDir = os.path.join(qtDataDir, "qsci", "api") if qtDataDir else None |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
241 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
242 | def copyToFile(name, text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | Copy a string to a file. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | @param name the name of the file. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | @param text the contents to copy to the file. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | """ |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
249 | with open(name, "w") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
250 | f.write(text) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
253 | def copyDesktopFile(src, dst): |
3931
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
254 | """ |
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
255 | Modify a desktop file and write it to its destination. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
256 | |
3931
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
257 | @param src source file name (string) |
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
258 | @param dst destination file name (string) |
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
259 | """ |
6275
8ce9f9c467ec
Fixed some install script issues related to defining the bin dir via -b switch.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6216
diff
changeset
|
260 | global cfg, platBinDir |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
261 | |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
262 | with open(src, "r", encoding="utf-8") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
263 | text = f.read() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
264 | |
6275
8ce9f9c467ec
Fixed some install script issues related to defining the bin dir via -b switch.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6216
diff
changeset
|
265 | text = text.replace("@BINDIR@", platBinDir) |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
266 | text = text.replace("@MARKER@", "") |
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
267 | text = text.replace("@PY_MARKER@", "") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
268 | |
9347
da982d5b0718
Improved the install script to create some more non-existing directories and deal with permission errors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9328
diff
changeset
|
269 | dstPath = os.path.dirname(dst) |
da982d5b0718
Improved the install script to create some more non-existing directories and deal with permission errors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9328
diff
changeset
|
270 | if not os.path.isdir(dstPath): |
da982d5b0718
Improved the install script to create some more non-existing directories and deal with permission errors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9328
diff
changeset
|
271 | os.makedirs(dstPath) |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
272 | with open(dst, "w", encoding="utf-8") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
273 | f.write(text) |
3931
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
274 | os.chmod(dst, 0o644) |
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
275 | |
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
276 | |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
277 | def copyAppStreamFile(src, dst): |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
278 | """ |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
279 | Modify an appstream file and write it to its destination. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
280 | |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
281 | @param src source file name (string) |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
282 | @param dst destination file name (string) |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
283 | """ |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
284 | if os.path.exists(os.path.join("eric", "src", "eric7", "UI", "Info.py")): |
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
285 | # Installing from installer archive |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
286 | from eric.src.eric7.UI.Info import Version # noqa: I101, I102 |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
287 | elif os.path.exists(os.path.join("src", "eric7", "UI", "Info.py")): |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
288 | # Installing from source tree |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
289 | from src.eric7.UI.Info import Version # noqa: I101, I102 |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
290 | else: |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
291 | Version = "Unknown" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
292 | |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
293 | with open(src, "r", encoding="utf-8") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
294 | text = f.read() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
295 | |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
296 | text = ( |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
297 | text.replace("@MARKER@", "") |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
298 | .replace("@VERSION@", Version.split(None, 1)[0]) |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
299 | .replace("@DATE@", time.strftime("%Y-%m-%d")) |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
300 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
301 | |
9347
da982d5b0718
Improved the install script to create some more non-existing directories and deal with permission errors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9328
diff
changeset
|
302 | dstPath = os.path.dirname(dst) |
da982d5b0718
Improved the install script to create some more non-existing directories and deal with permission errors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9328
diff
changeset
|
303 | if not os.path.isdir(dstPath): |
da982d5b0718
Improved the install script to create some more non-existing directories and deal with permission errors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9328
diff
changeset
|
304 | os.makedirs(dstPath) |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
305 | with open(dst, "w", encoding="utf-8") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
306 | f.write(text) |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
307 | os.chmod(dst, 0o644) |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
308 | |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
309 | |
6495
6e73d31af3af
Changed the extension of the generated script files for Windows from '.bat' to '.cmd'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6476
diff
changeset
|
310 | def wrapperNames(dname, wfile): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
311 | """ |
6495
6e73d31af3af
Changed the extension of the generated script files for Windows from '.bat' to '.cmd'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6476
diff
changeset
|
312 | Create the platform specific names for the wrapper script. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
313 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
314 | @param dname name of the directory to place the wrapper into |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
315 | @param wfile basename (without extension) of the wrapper script |
6495
6e73d31af3af
Changed the extension of the generated script files for Windows from '.bat' to '.cmd'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6476
diff
changeset
|
316 | @return the names of the wrapper scripts |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
317 | """ |
8260
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
318 | wnames = ( |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
319 | (dname + "\\" + wfile + ".cmd", dname + "\\" + wfile + ".bat") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
320 | if sys.platform.startswith(("win", "cygwin")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
321 | else (dname + "/" + wfile,) |
8260
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
322 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | |
6495
6e73d31af3af
Changed the extension of the generated script files for Windows from '.bat' to '.cmd'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6476
diff
changeset
|
324 | return wnames |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
327 | def createPyWrapper(pydir, wfile, saveDir, isGuiScript=True): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | Create an executable wrapper for a Python script. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | |
899
4687532058ba
Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
896
diff
changeset
|
331 | @param pydir the name of the directory where the Python script will |
3612
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
332 | eventually be installed (string) |
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
333 | @param wfile the basename of the wrapper (string) |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
334 | @param saveDir directory to save the file into (string) |
902
c06241839b12
Fixed a source docu string in the new installer script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
900
diff
changeset
|
335 | @param isGuiScript flag indicating a wrapper script for a GUI |
c06241839b12
Fixed a source docu string in the new installer script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
900
diff
changeset
|
336 | application (boolean) |
3612
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
337 | @return the platform specific name of the wrapper (string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
338 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
339 | # all kinds of Windows systems |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
340 | if sys.platform.startswith(("win", "cygwin")): |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
341 | wname = wfile + ".cmd" |
899
4687532058ba
Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
896
diff
changeset
|
342 | if isGuiScript: |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
343 | wrapper = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
344 | """@echo off\n""" |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
345 | '''start "" "{2}\\pythonw.exe"''' |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
346 | ''' "{0}\\{1}.pyw"''' |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
347 | """ %1 %2 %3 %4 %5 %6 %7 %8 %9\n""".format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
348 | pydir, wfile, os.path.dirname(sys.executable) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
349 | ) |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
350 | ) |
899
4687532058ba
Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
896
diff
changeset
|
351 | else: |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
352 | wrapper = ( |
7302
875a9a29c38f
install: fixed an issue installing eric into a venv on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7288
diff
changeset
|
353 | '''@"{0}" "{1}\\{2}.py"''' |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
354 | """ %1 %2 %3 %4 %5 %6 %7 %8 %9\n""".format(sys.executable, pydir, wfile) |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
355 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
356 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
357 | # Mac OS X |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
358 | elif sys.platform == "darwin": |
3612
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
359 | major = sys.version_info.major |
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
360 | pyexec = "{0}/bin/pythonw{1}".format(sys.exec_prefix, major) |
2618
bc7339209500
Fixed an issue in the install script related to the usage of a virtual environment on Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2608
diff
changeset
|
361 | if not os.path.exists(pyexec): |
3612
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
362 | pyexec = "{0}/bin/python{1}".format(sys.exec_prefix, major) |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
363 | wname = wfile |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
364 | wrapper = ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
365 | """#!/bin/sh\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
366 | """\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
367 | """exec "{0}" "{1}/{2}.py" "$@"\n""".format(pyexec, pydir, wfile) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
368 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
369 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
370 | # *nix systems |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
371 | else: |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
372 | wname = wfile |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
373 | wrapper = ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
374 | """#!/bin/sh\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
375 | """\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
376 | """exec "{0}" "{1}/{2}.py" "$@"\n""".format(sys.executable, pydir, wfile) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
377 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
378 | |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
379 | wname = os.path.join(saveDir, wname) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | copyToFile(wname, wrapper) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
381 | os.chmod(wname, 0o755) # secok |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | return wname |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | |
5651
982465f8389c
Fixed a few code style issues related to the usage of mutable types for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5628
diff
changeset
|
386 | def copyTree(src, dst, filters, excludeDirs=None, excludePatterns=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | Copy Python, translation, documentation, wizards configuration, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | designer template files and DTDs of a directory tree. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
390 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | @param src name of the source directory |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
392 | @param dst name of the destination directory |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
393 | @param filters list of filter pattern determining the files to be copied |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
394 | @param excludeDirs list of (sub)directories to exclude from copying |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7894
diff
changeset
|
395 | @param excludePatterns list of filter pattern determining the files to |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
396 | be skipped |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | """ |
5651
982465f8389c
Fixed a few code style issues related to the usage of mutable types for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5628
diff
changeset
|
398 | if excludeDirs is None: |
982465f8389c
Fixed a few code style issues related to the usage of mutable types for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5628
diff
changeset
|
399 | excludeDirs = [] |
982465f8389c
Fixed a few code style issues related to the usage of mutable types for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5628
diff
changeset
|
400 | if excludePatterns is None: |
982465f8389c
Fixed a few code style issues related to the usage of mutable types for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5628
diff
changeset
|
401 | excludePatterns = [] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | names = os.listdir(src) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
404 | except OSError: |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
405 | # ignore missing directories (most probably the i18n directory) |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
406 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
407 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | for name in names: |
1115
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
409 | skipIt = False |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
410 | for excludePattern in excludePatterns: |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
411 | if fnmatch.fnmatch(name, excludePattern): |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
412 | skipIt = True |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | break |
1115
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
414 | if not skipIt: |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
415 | srcname = os.path.join(src, name) |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
416 | dstname = os.path.join(dst, name) |
5597
3d88d53f8c2b
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5588
diff
changeset
|
417 | for fileFilter in filters: |
3d88d53f8c2b
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5588
diff
changeset
|
418 | if fnmatch.fnmatch(srcname, fileFilter): |
1115
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
419 | if not os.path.isdir(dst): |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
420 | os.makedirs(dst) |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
421 | shutil.copy2(srcname, dstname) |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
422 | os.chmod(dstname, 0o644) |
1115
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
423 | break |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
424 | else: |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3613
diff
changeset
|
425 | if os.path.isdir(srcname) and srcname not in excludeDirs: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
426 | copyTree(srcname, dstname, filters, excludePatterns=excludePatterns) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | def createGlobalPluginsDir(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | Create the global plugins directory, if it doesn't exist. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | global cfg, distDir |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
434 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
435 | pdir = os.path.join(cfg["mdir"], "eric7plugins") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | fname = os.path.join(pdir, "__init__.py") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | if not os.path.exists(fname): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | if not os.path.exists(pdir): |
3507
b09e10d4f343
Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3468
diff
changeset
|
439 | os.mkdir(pdir, 0o755) |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
440 | with open(fname, "w") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
441 | f.write( |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
442 | '''# -*- coding: utf-8 -*- |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | Package containing the global plugins. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
447 | ''' |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
448 | ) |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
449 | os.chmod(fname, 0o644) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | |
3593
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
452 | def cleanupSource(dirName): |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
453 | """ |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
454 | Cleanup the sources directory to get rid of leftover files |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
455 | and directories. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
456 | |
3593
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
457 | @param dirName name of the directory to prune (string) |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
458 | """ |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
459 | # step 1: delete all Ui_*.py files without a corresponding |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
460 | # *.ui file |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
461 | dirListing = os.listdir(dirName) |
3597
137370f7114b
Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3596
diff
changeset
|
462 | for formName, sourceName in [ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
463 | (f.replace("Ui_", "").replace(".py", ".ui"), f) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
464 | for f in dirListing |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
465 | if fnmatch.fnmatch(f, "Ui_*.py") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
466 | ]: |
3594
778ae276540f
Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3593
diff
changeset
|
467 | if not os.path.exists(os.path.join(dirName, formName)): |
3593
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
468 | os.remove(os.path.join(dirName, sourceName)) |
3594
778ae276540f
Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3593
diff
changeset
|
469 | if os.path.exists(os.path.join(dirName, sourceName + "c")): |
3593
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
470 | os.remove(os.path.join(dirName, sourceName + "c")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
471 | |
5055
7db1b9496e52
Some enhancements to the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4915
diff
changeset
|
472 | # step 2: delete the __pycache__ directory and all remaining *.pyc files |
3594
778ae276540f
Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3593
diff
changeset
|
473 | if os.path.exists(os.path.join(dirName, "__pycache__")): |
3593
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
474 | shutil.rmtree(os.path.join(dirName, "__pycache__")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
475 | for name in [f for f in os.listdir(dirName) if fnmatch.fnmatch(f, "*.pyc")]: |
3612
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
476 | os.remove(os.path.join(dirName, name)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
477 | |
6637
54a92e8dca00
install: extended the source cleanup function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6636
diff
changeset
|
478 | # step 3: delete *.orig files |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
479 | for name in [f for f in os.listdir(dirName) if fnmatch.fnmatch(f, "*.orig")]: |
6637
54a92e8dca00
install: extended the source cleanup function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6636
diff
changeset
|
480 | os.remove(os.path.join(dirName, name)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
481 | |
6637
54a92e8dca00
install: extended the source cleanup function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6636
diff
changeset
|
482 | # step 4: descent into subdirectories and delete them if empty |
3593
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
483 | for name in os.listdir(dirName): |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
484 | name = os.path.join(dirName, name) |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
485 | if os.path.isdir(name): |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
486 | cleanupSource(name) |
3595
a8433c7a0d8c
Fixed another issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3594
diff
changeset
|
487 | if len(os.listdir(name)) == 0: |
a8433c7a0d8c
Fixed another issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3594
diff
changeset
|
488 | os.rmdir(name) |
3593
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
489 | |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
490 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
491 | def cleanUp(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
492 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
493 | Uninstall the old eric files. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
494 | """ |
9420
92810aebc909
Changed the code to use sysconfig.get_path("scripts") wherever possible.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9402
diff
changeset
|
495 | global platBinDir |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
496 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
497 | try: |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
498 | from eric7.Globals import getConfig # noqa: I101 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
499 | except ImportError: |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
500 | # eric wasn't installed previously |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
501 | return |
7211
1c97f3142fa8
install/uninstall: implemented code to cope with the situation that the names contained in the eric6config.py file were generated with a non-utf8 encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7203
diff
changeset
|
502 | except SyntaxError: |
1c97f3142fa8
install/uninstall: implemented code to cope with the situation that the names contained in the eric6config.py file were generated with a non-utf8 encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7203
diff
changeset
|
503 | # an incomplete or old config file was found |
1c97f3142fa8
install/uninstall: implemented code to cope with the situation that the names contained in the eric6config.py file were generated with a non-utf8 encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7203
diff
changeset
|
504 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
505 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | global pyModDir, progLanguages |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
507 | |
146
afeb742e7148
Added installation of a .desktop file for Linux systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
133
diff
changeset
|
508 | # Remove the menu entry for Linux systems |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
509 | if sys.platform.startswith("linux"): |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
510 | cleanUpLinuxSpecifics() |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
511 | # Remove the Desktop and Start Menu entries for Windows systems |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
512 | elif sys.platform.startswith(("win", "cygwin")): |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
513 | cleanUpWindowsLinks() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
514 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | # Remove the wrapper scripts |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | rem_wnames = [ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
517 | "eric7_api", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
518 | "eric7_browser", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
519 | "eric7_compare", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
520 | "eric7_configure", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
521 | "eric7_diff", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
522 | "eric7_doc", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
523 | "eric7_editor", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
524 | "eric7_hexeditor", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
525 | "eric7_iconeditor", |
9377 | 526 | "eric7_ide", |
9697
cdaa3cc805f7
Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9694
diff
changeset
|
527 | "eric7_pdf", |
10084
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10065
diff
changeset
|
528 | "eric7_pip", |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
529 | "eric7_plugininstall", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
530 | "eric7_pluginrepository", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
531 | "eric7_pluginuninstall", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
532 | "eric7_qregularexpression", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
533 | "eric7_re", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
534 | "eric7_shell", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
535 | "eric7_snap", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
536 | "eric7_sqlbrowser", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
537 | "eric7_testing", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
538 | "eric7_tray", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
539 | "eric7_trpreviewer", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
540 | "eric7_uipreviewer", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
541 | "eric7_virtualenv", |
9066
a219ade50f7c
Performed some refactoring to avoid possible name clashes on case-insensitive systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9034
diff
changeset
|
542 | # obsolete scripts below |
a219ade50f7c
Performed some refactoring to avoid possible name clashes on case-insensitive systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9034
diff
changeset
|
543 | "eric7_unittest", |
9377 | 544 | "eric7", |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
545 | ] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
546 | |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
547 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
548 | dirs = [platBinDir, getConfig("bindir")] |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
549 | for rem_wname in rem_wnames: |
4456
9a2304647d95
Changed installation destination on Windows to be the Scripts subdirectory of the Python installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4455
diff
changeset
|
550 | for d in dirs: |
6495
6e73d31af3af
Changed the extension of the generated script files for Windows from '.bat' to '.cmd'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6476
diff
changeset
|
551 | for rwname in wrapperNames(d, rem_wname): |
6e73d31af3af
Changed the extension of the generated script files for Windows from '.bat' to '.cmd'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6476
diff
changeset
|
552 | if os.path.exists(rwname): |
6e73d31af3af
Changed the extension of the generated script files for Windows from '.bat' to '.cmd'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6476
diff
changeset
|
553 | os.remove(rwname) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
554 | |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
555 | # Cleanup our config file(s) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
556 | for name in ["eric7config.py", "eric7config.pyc", "eric7.pth"]: |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
557 | e6cfile = os.path.join(pyModDir, name) |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
558 | if os.path.exists(e6cfile): |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
559 | os.remove(e6cfile) |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
560 | e6cfile = os.path.join(pyModDir, "__pycache__", name) |
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
561 | path, ext = os.path.splitext(e6cfile) |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
562 | for f in glob.glob("{0}.*{1}".format(path, ext)): |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
563 | os.remove(f) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
564 | |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
565 | # Cleanup the install directories |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
566 | for name in [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
567 | "ericExamplesDir", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
568 | "ericDocDir", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
569 | "ericDTDDir", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
570 | "ericCSSDir", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
571 | "ericIconDir", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
572 | "ericPixDir", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
573 | "ericTemplatesDir", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
574 | "ericCodeTemplatesDir", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
575 | "ericOthersDir", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
576 | "ericStylesDir", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
577 | "ericThemesDir", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
578 | "ericDir", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
579 | ]: |
8821
0485c183b718
Ignore unknown configuration keys during cleanup of install.py and uninstall.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8820
diff
changeset
|
580 | with contextlib.suppress(AttributeError): |
0485c183b718
Ignore unknown configuration keys during cleanup of install.py and uninstall.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8820
diff
changeset
|
581 | if os.path.exists(getConfig(name)): |
0485c183b718
Ignore unknown configuration keys during cleanup of install.py and uninstall.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8820
diff
changeset
|
582 | shutil.rmtree(getConfig(name), True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
583 | |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
584 | # Cleanup translations |
1387
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
585 | for name in glob.glob( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
586 | os.path.join(getConfig("ericTranslationsDir"), "eric7_*.qm") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
587 | ): |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
588 | if os.path.exists(name): |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
589 | os.remove(name) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
590 | |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
591 | # Cleanup API files |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
592 | with contextlib.suppress(AttributeError): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
593 | apidir = getConfig("apidir") |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
594 | for progLanguage in progLanguages: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
595 | for name in getConfig("apis"): |
9361
718bc86e1c3f
Changed the handling of 'installed API files' a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9356
diff
changeset
|
596 | # step 1: programming language as given |
718bc86e1c3f
Changed the handling of 'installed API files' a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9356
diff
changeset
|
597 | apiname = os.path.join(apidir, progLanguage, name) |
718bc86e1c3f
Changed the handling of 'installed API files' a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9356
diff
changeset
|
598 | if os.path.exists(apiname): |
718bc86e1c3f
Changed the handling of 'installed API files' a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9356
diff
changeset
|
599 | os.remove(apiname) |
718bc86e1c3f
Changed the handling of 'installed API files' a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9356
diff
changeset
|
600 | # step 2: programming language as lowercase |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
601 | apiname = os.path.join(apidir, progLanguage.lower(), name) |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
602 | if os.path.exists(apiname): |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
603 | os.remove(apiname) |
1387
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
604 | for apiname in glob.glob( |
9361
718bc86e1c3f
Changed the handling of 'installed API files' a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9356
diff
changeset
|
605 | os.path.join(apidir, progLanguage, "*.bas") |
718bc86e1c3f
Changed the handling of 'installed API files' a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9356
diff
changeset
|
606 | ) + glob.glob(os.path.join(apidir, progLanguage.lower(), "*.bas")): |
9380
3d662dda80e8
Fixed some issues installing eric7 on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9378
diff
changeset
|
607 | if os.path.exists(apiname): |
3d662dda80e8
Fixed some issues installing eric7 on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9378
diff
changeset
|
608 | os.remove(apiname) |
9361
718bc86e1c3f
Changed the handling of 'installed API files' a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9356
diff
changeset
|
609 | |
718bc86e1c3f
Changed the handling of 'installed API files' a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9356
diff
changeset
|
610 | # remove empty directories |
718bc86e1c3f
Changed the handling of 'installed API files' a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9356
diff
changeset
|
611 | with contextlib.suppress(FileNotFoundError, OSError): |
718bc86e1c3f
Changed the handling of 'installed API files' a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9356
diff
changeset
|
612 | os.rmdir(os.path.join(apidir, progLanguage)) |
718bc86e1c3f
Changed the handling of 'installed API files' a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9356
diff
changeset
|
613 | with contextlib.suppress(FileNotFoundError, OSError): |
718bc86e1c3f
Changed the handling of 'installed API files' a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9356
diff
changeset
|
614 | os.rmdir(os.path.join(apidir, progLanguage.lower())) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
615 | |
1387
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
616 | if sys.platform == "darwin": |
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
617 | # delete the Mac app bundle |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
618 | cleanUpMacAppBundle() |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
619 | except OSError as msg: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
620 | sys.stderr.write("Error: {0}\nTry install with admin rights.\n".format(msg)) |
1385
9eaf0cda4fb4
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1381
diff
changeset
|
621 | exit(7) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
622 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
623 | |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
624 | def cleanUpLinuxSpecifics(): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
625 | """ |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
626 | Clean up Linux specific files. |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
627 | """ |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
628 | if os.getuid() == 0: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
629 | for name in [ |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
630 | "/usr/share/appdata/eric7.appdata.xml", |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
631 | "/usr/share/metainfo/eric7.appdata.xml", |
9381
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
632 | "/usr/share/applications/eric7_browser.desktop", |
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
633 | "/usr/share/applications/eric7_ide.desktop", |
8254
259484b0fc75
install.py, uninstall.py: changed the Linux path where our icons get installed
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
634 | "/usr/share/icons/eric.png", |
9381
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
635 | "/usr/share/icons/ericWeb.png", |
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
636 | "/usr/share/pixmaps/eric.png", |
8634
2bbfaad44cbd
Activated some code related to Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8615
diff
changeset
|
637 | "/usr/share/pixmaps/ericWeb.png", |
9381
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
638 | # obsolete entries below |
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
639 | "/usr/share/applications/eric7.desktop", |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
640 | ]: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
641 | if os.path.exists(name): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
642 | os.remove(name) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
643 | elif os.getuid() >= 1000: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
644 | # it is assumed that user ids start at 1000 |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
645 | for name in [ |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
646 | "~/.local/share/appdata/eric7.appdata.xml", |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
647 | "~/.local/share/metainfo/eric7.appdata.xml", |
9381
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
648 | "~/.local/share/applications/eric7_browser.desktop", |
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
649 | "~/.local/share/applications/eric7_ide.desktop", |
8254
259484b0fc75
install.py, uninstall.py: changed the Linux path where our icons get installed
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
650 | "~/.local/share/icons/eric.png", |
9381
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
651 | "~/.local/share/icons/ericWeb.png", |
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
652 | "~/.local/share/pixmaps/eric.png", |
8634
2bbfaad44cbd
Activated some code related to Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8615
diff
changeset
|
653 | "~/.local/share/pixmaps/ericWeb.png", |
9381
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
654 | # obsolete entries below |
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
655 | "~/.local/share/applications/eric7.desktop", |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
656 | ]: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
657 | path = os.path.expanduser(name) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
658 | if os.path.exists(path): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
659 | os.remove(path) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
660 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
661 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
662 | def cleanUpMacAppBundle(): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
663 | """ |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
664 | Uninstall the macOS application bundle. |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
665 | """ |
9448
ea215f7afab3
Fixed an issue importing the eric7config module.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9425
diff
changeset
|
666 | from eric7.Globals import getConfig |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
667 | |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
668 | try: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
669 | macAppBundlePath = getConfig("macAppBundlePath") |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
670 | macAppBundleName = getConfig("macAppBundleName") |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
671 | except AttributeError: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
672 | macAppBundlePath = defaultMacAppBundlePath |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
673 | macAppBundleName = defaultMacAppBundleName |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
674 | for bundlePath in [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
675 | os.path.join(defaultMacAppBundlePath, macAppBundleName), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
676 | os.path.join(macAppBundlePath, macAppBundleName), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
677 | ]: |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
678 | if os.path.exists(bundlePath): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
679 | shutil.rmtree(bundlePath) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
680 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
681 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
682 | def cleanUpWindowsLinks(): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
683 | """ |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
684 | Clean up the Desktop and Start Menu entries for Windows. |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
685 | """ |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
686 | global doCleanDesktopLinks, forceCleanDesktopLinks |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
687 | |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
688 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
689 | from pywintypes import com_error # __IGNORE_WARNING__ |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
690 | except ImportError: |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
691 | # links were not created by install.py |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
692 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
693 | |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
694 | regPath = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
695 | "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
696 | + "\\User Shell Folders" |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
697 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
698 | |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
699 | if doCleanDesktopLinks or forceCleanDesktopLinks: |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
700 | # 1. cleanup desktop links |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
701 | regName = "Desktop" |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
702 | desktopEntry = getWinregEntry(regName, regPath) |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
703 | if desktopEntry: |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
704 | desktopFolder = os.path.normpath(os.path.expandvars(desktopEntry)) |
9380
3d662dda80e8
Fixed some issues installing eric7 on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9378
diff
changeset
|
705 | for linkName in windowsDesktopNames(clean=True): |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
706 | linkPath = os.path.join(desktopFolder, linkName) |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
707 | if os.path.exists(linkPath): |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
708 | try: |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
709 | os.remove(linkPath) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
710 | except OSError: |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
711 | # maybe restrictions prohibited link removal |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
712 | print("Could not remove '{0}'.".format(linkPath)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
713 | |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
714 | # 2. cleanup start menu entry |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
715 | regName = "Programs" |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
716 | programsEntry = getWinregEntry(regName, regPath) |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
717 | if programsEntry: |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
718 | programsFolder = os.path.normpath(os.path.expandvars(programsEntry)) |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
719 | eric7EntryPath = os.path.join(programsFolder, windowsProgramsEntry()) |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
720 | if os.path.exists(eric7EntryPath): |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
721 | try: |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
722 | shutil.rmtree(eric7EntryPath) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
723 | except OSError: |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
724 | # maybe restrictions prohibited link removal |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
725 | print("Could not remove '{0}'.".format(eric7EntryPath)) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
726 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
727 | |
2177
a59ffbc5fe4c
Fixed an error in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2160
diff
changeset
|
728 | def shutilCopy(src, dst, perm=0o644): |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
729 | """ |
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
730 | Wrapper function around shutil.copy() to ensure the permissions. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
731 | |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
732 | @param src source file name (string) |
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
733 | @param dst destination file name or directory name (string) |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7894
diff
changeset
|
734 | @param perm permissions to be set (integer) |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
735 | """ |
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
736 | shutil.copy(src, dst) |
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
737 | if os.path.isdir(dst): |
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
738 | dst = os.path.join(dst, os.path.basename(src)) |
2177
a59ffbc5fe4c
Fixed an error in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2160
diff
changeset
|
739 | os.chmod(dst, perm) |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
740 | |
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
741 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
742 | def installEric(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
743 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
744 | Actually perform the installation steps. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
745 | |
2383
e999256385bd
Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents:
2312
diff
changeset
|
746 | @return result code (integer) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
747 | """ |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
748 | global distDir, doCleanup, cfg, progLanguages, sourceDir, configName |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
749 | global installApis |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
750 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
751 | # Create the platform specific wrappers. |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
752 | scriptsDir = "install_scripts" |
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
753 | if not os.path.isdir(scriptsDir): |
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
754 | os.mkdir(scriptsDir) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
755 | wnames = [] |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
756 | for name in ["eric7_api", "eric7_doc"]: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
757 | wnames.append(createPyWrapper(cfg["ericDir"], name, scriptsDir, False)) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
758 | for name in [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
759 | "eric7_browser", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
760 | "eric7_compare", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
761 | "eric7_configure", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
762 | "eric7_diff", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
763 | "eric7_editor", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
764 | "eric7_hexeditor", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
765 | "eric7_iconeditor", |
9377 | 766 | "eric7_ide", |
9697
cdaa3cc805f7
Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9694
diff
changeset
|
767 | "eric7_pdf", |
10084
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10065
diff
changeset
|
768 | "eric7_pip", |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
769 | "eric7_plugininstall", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
770 | "eric7_pluginrepository", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
771 | "eric7_pluginuninstall", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
772 | "eric7_qregularexpression", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
773 | "eric7_re", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
774 | "eric7_shell", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
775 | "eric7_snap", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
776 | "eric7_sqlbrowser", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
777 | "eric7_tray", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
778 | "eric7_trpreviewer", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
779 | "eric7_uipreviewer", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
780 | "eric7_testing", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
781 | "eric7_virtualenv", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
782 | ]: |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
783 | wnames.append(createPyWrapper(cfg["ericDir"], name, scriptsDir)) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
784 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
785 | # set install prefix, if not None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
786 | if distDir: |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
787 | for key in list(cfg.keys()): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
788 | cfg[key] = os.path.normpath(os.path.join(distDir, cfg[key].lstrip(os.sep))) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
789 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
790 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
791 | # Install the files |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
792 | # make the install directories |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8128
diff
changeset
|
793 | for key in cfg: |
3948
6c3720179d6b
Extended the install script to improve cooperation with packagers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3943
diff
changeset
|
794 | if cfg[key] and not os.path.isdir(cfg[key]): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
795 | os.makedirs(cfg[key]) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
796 | |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
797 | # copy the eric config file |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
798 | if distDir: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
799 | shutilCopy(configName, cfg["mdir"]) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
800 | if os.path.exists(configName + "c"): |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
801 | shutilCopy(configName + "c", cfg["mdir"]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
802 | else: |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
803 | shutilCopy(configName, modDir) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
804 | if os.path.exists(configName + "c"): |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
805 | shutilCopy(configName + "c", modDir) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
806 | |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
807 | # copy the various parts of eric |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
808 | copyTree( |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
809 | eric7SourceDir, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
810 | cfg["ericDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
811 | ["*.py", "*.pyc", "*.pyo", "*.pyw"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
812 | excludePatterns=["eric7config.py*"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
813 | ) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
814 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
815 | os.path.join(eric7SourceDir, "Plugins"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
816 | os.path.join(cfg["ericDir"], "Plugins"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
817 | ["*.svgz", "*.svg", "*.png", "*.style", "*.tmpl", "*.txt"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
818 | ) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
819 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
820 | os.path.join(eric7SourceDir, "Documentation"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
821 | cfg["ericDocDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
822 | ["*.html", "*.qch"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
823 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
824 | copyTree(os.path.join(eric7SourceDir, "CSSs"), cfg["ericCSSDir"], ["*.css"]) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
825 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
826 | os.path.join(eric7SourceDir, "Styles"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
827 | cfg["ericStylesDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
828 | ["*.qss", "*.ehj"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
829 | ) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
830 | copyTree( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
831 | os.path.join(eric7SourceDir, "Themes"), cfg["ericThemesDir"], ["*.ethj"] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
832 | ) |
8820
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
833 | copyTree( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
834 | os.path.join(eric7SourceDir, "i18n"), cfg["ericTranslationsDir"], ["*.qm"] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
835 | ) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
836 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
837 | os.path.join(eric7SourceDir, "icons"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
838 | cfg["ericIconDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
839 | ["*.svgz", "*.svg", "*.png", "LICENSE*.*", "readme.txt"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
840 | ) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
841 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
842 | os.path.join(eric7SourceDir, "pixmaps"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
843 | cfg["ericPixDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
844 | ["*.svgz", "*.svg", "*.png", "*.xpm", "*.ico", "*.gif"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
845 | ) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
846 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
847 | os.path.join(eric7SourceDir, "DesignerTemplates"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
848 | cfg["ericTemplatesDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
849 | ["*.tmpl"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
850 | ) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
851 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
852 | os.path.join(eric7SourceDir, "CodeTemplates"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
853 | cfg["ericCodeTemplatesDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
854 | ["*.tmpl"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
855 | ) |
8776
07b8c13b0607
Updated the setup and install script for the updated coverage package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8754
diff
changeset
|
856 | copyTree( |
07b8c13b0607
Updated the setup and install script for the updated coverage package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8754
diff
changeset
|
857 | os.path.join(eric7SourceDir, "DebugClients", "Python", "coverage"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
858 | os.path.join(cfg["ericDir"], "DebugClients", "Python", "coverage"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
859 | ["*.js", "*.html", "*.png", "*.css", "*.scss", "*.txt", "*.rst"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
860 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
861 | |
7717
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
862 | # copy some data files needed at various places |
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
863 | copyTree( |
9127
22e94bac751a
Modified the install script to ensure the trove license list file is installed locally.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9117
diff
changeset
|
864 | os.path.join(eric7SourceDir, "data"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
865 | os.path.join(cfg["ericDir"], "data"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
866 | ["*.txt"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
867 | ) |
9127
22e94bac751a
Modified the install script to ensure the trove license list file is installed locally.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9117
diff
changeset
|
868 | copyTree( |
8354
12ebd3934fef
Renamed 'E5Utilities' to 'EricUtilities' and 'E5Network' to 'EricNetwork'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8343
diff
changeset
|
869 | os.path.join(eric7SourceDir, "EricNetwork", "data"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
870 | os.path.join(cfg["ericDir"], "EricNetwork", "data"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
871 | ["*.dat", "*.txt"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
872 | ) |
7717
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
873 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
874 | os.path.join(eric7SourceDir, "IconEditor", "cursors"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
875 | os.path.join(cfg["ericDir"], "IconEditor", "cursors"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
876 | ["*.xpm"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
877 | ) |
7717
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
878 | copyTree( |
9917
0160b2816f84
Corrected the install script to install the UF2 families file as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9819
diff
changeset
|
879 | os.path.join(eric7SourceDir, "MicroPython", "Tools"), |
0160b2816f84
Corrected the install script to install the UF2 families file as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9819
diff
changeset
|
880 | os.path.join(cfg["ericDir"], "MicroPython", "Tools"), |
0160b2816f84
Corrected the install script to install the UF2 families file as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9819
diff
changeset
|
881 | ["*.json"], |
0160b2816f84
Corrected the install script to install the UF2 families file as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9819
diff
changeset
|
882 | ) |
0160b2816f84
Corrected the install script to install the UF2 families file as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9819
diff
changeset
|
883 | copyTree( |
10090 | 884 | os.path.join(eric7SourceDir, "MicroPython", "BluetoothDialogs", "data"), |
885 | os.path.join(cfg["ericDir"], "MicroPython", "BluetoothDialogs", "data"), | |
886 | ["*.yaml"], | |
887 | ) | |
888 | copyTree( | |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
889 | os.path.join(eric7SourceDir, "UI", "data"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
890 | os.path.join(cfg["ericDir"], "UI", "data"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
891 | ["*.css"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
892 | ) |
8566
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
893 | copyTree( |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
894 | os.path.join(eric7SourceDir, "WebBrowser"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
895 | os.path.join(cfg["ericDir"], "WebBrowser"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
896 | ["*.xbel", "*.xml", "*.html", "*.png", "*.gif", "*.js"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
897 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
898 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
899 | # copy the wrappers |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
900 | for wname in wnames: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
901 | shutilCopy(wname, cfg["bindir"], perm=0o755) |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
902 | os.remove(wname) |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
903 | shutil.rmtree(scriptsDir) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
904 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
905 | # copy the license file |
9674
43dd357b3bff
Modified the pyproject.toml file to include a reference to the license file and changed its extension to be .txt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
906 | shutilCopy(os.path.join(sourceDir, "docs", "LICENSE.txt"), cfg["ericDir"]) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
907 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
908 | # create the global plugins directory |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
909 | createGlobalPluginsDir() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
910 | |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
911 | except OSError as msg: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
912 | sys.stderr.write("Error: {0}\nTry install with admin rights.\n".format(msg)) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
913 | return 7 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
914 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
915 | # copy some text files to the doc area |
9680
4acdf7c7101d
Corrected an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9679
diff
changeset
|
916 | for name in ["LICENSE.txt", "THANKS", "changelog.md", "ThirdParty.md"]: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
917 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
918 | shutilCopy(os.path.join(sourceDir, "docs", name), cfg["ericDocDir"]) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
919 | except OSError: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
920 | print( |
9722
63135ab601e7
Corrected some code formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9697
diff
changeset
|
921 | "\nCould not install '{0}'.".format( |
63135ab601e7
Corrected some code formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9697
diff
changeset
|
922 | os.path.join(sourceDir, "docs", name) |
63135ab601e7
Corrected some code formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9697
diff
changeset
|
923 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
924 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
925 | for name in glob.glob(os.path.join(sourceDir, "docs", "README*.*")): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
926 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
927 | shutilCopy(name, cfg["ericDocDir"]) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
928 | except OSError: |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
929 | print("\nCould not install '{0}'.".format(name)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
930 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
931 | # copy some more stuff |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
932 | for name in ("default.ekj", "default_Mac.ekj", "default.e4k", "default_Mac.e4k"): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
933 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
934 | shutilCopy(os.path.join(sourceDir, "others", name), cfg["ericOthersDir"]) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
935 | except OSError: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
936 | print( |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
937 | "\nCould not install '{0}'.".format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
938 | os.path.join(sourceDir, "others", name) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
939 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
940 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
941 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
942 | # install the API file |
3943
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
943 | if installApis: |
9366
57980203d6f8
Improved the install script with respect to API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9361
diff
changeset
|
944 | if os.access(cfg["apidir"], os.W_OK): |
57980203d6f8
Improved the install script with respect to API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9361
diff
changeset
|
945 | for progLanguage in progLanguages: |
57980203d6f8
Improved the install script with respect to API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9361
diff
changeset
|
946 | apidir = os.path.join(cfg["apidir"], progLanguage) |
9347
da982d5b0718
Improved the install script to create some more non-existing directories and deal with permission errors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9328
diff
changeset
|
947 | if not os.path.exists(apidir): |
da982d5b0718
Improved the install script to create some more non-existing directories and deal with permission errors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9328
diff
changeset
|
948 | os.makedirs(apidir) |
9366
57980203d6f8
Improved the install script with respect to API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9361
diff
changeset
|
949 | for apiName in glob.glob( |
57980203d6f8
Improved the install script with respect to API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9361
diff
changeset
|
950 | os.path.join(eric7SourceDir, "APIs", progLanguage, "*.api") |
57980203d6f8
Improved the install script with respect to API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9361
diff
changeset
|
951 | ): |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
952 | shutilCopy(apiName, apidir) |
9366
57980203d6f8
Improved the install script with respect to API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9361
diff
changeset
|
953 | for apiName in glob.glob( |
57980203d6f8
Improved the install script with respect to API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9361
diff
changeset
|
954 | os.path.join(eric7SourceDir, "APIs", progLanguage, "*.bas") |
57980203d6f8
Improved the install script with respect to API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9361
diff
changeset
|
955 | ): |
3943
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
956 | shutilCopy(apiName, apidir) |
9366
57980203d6f8
Improved the install script with respect to API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9361
diff
changeset
|
957 | else: |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
958 | print("\nThe API directory '{0}' is not writable.".format(cfg["apidir"])) |
9366
57980203d6f8
Improved the install script with respect to API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9361
diff
changeset
|
959 | print("Use the API files provided by the 'API Files' plug-in.") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
960 | |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
961 | # Create menu entry for Linux systems |
146
afeb742e7148
Added installation of a .desktop file for Linux systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
133
diff
changeset
|
962 | if sys.platform.startswith("linux"): |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
963 | createLinuxSpecifics() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
964 | |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
965 | # Create Desktop and Start Menu entries for Windows systems |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
966 | elif sys.platform.startswith(("win", "cygwin")): |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
967 | createWindowsLinks() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
968 | |
1390
f4a7915db1e6
Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1389
diff
changeset
|
969 | # Create a Mac application bundle |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
970 | elif sys.platform == "darwin": |
10065
de4ae767b0e3
Corrected and checked some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10046
diff
changeset
|
971 | createMacAppBundle() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
972 | |
2383
e999256385bd
Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents:
2312
diff
changeset
|
973 | return 0 |
1387
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
974 | |
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
975 | |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
976 | def createLinuxSpecifics(): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
977 | """ |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
978 | Install Linux specific files. |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
979 | """ |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
980 | global distDir, sourceDir |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
981 | |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
982 | dataSourceDir = os.path.join(eric7SourceDir, "data", "linux") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
983 | |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
984 | if distDir: |
8254
259484b0fc75
install.py, uninstall.py: changed the Linux path where our icons get installed
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
985 | dst = os.path.normpath(os.path.join(distDir, "usr/share/icons")) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
986 | if not os.path.exists(dst): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
987 | os.makedirs(dst) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
988 | shutilCopy( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
989 | os.path.join(eric7SourceDir, "pixmaps", "eric_icon.png"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
990 | os.path.join(dst, "eric.png"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
991 | ) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
992 | shutilCopy( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
993 | os.path.join(eric7SourceDir, "pixmaps", "ericWeb48_icon.png"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
994 | os.path.join(dst, "ericWeb.png"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
995 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
996 | |
8660
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
997 | dst = os.path.normpath( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
998 | os.path.join(distDir, "usr/share/icons/hicolor/48x48/apps") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
999 | ) |
8660
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
1000 | if not os.path.exists(dst): |
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
1001 | os.makedirs(dst) |
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
1002 | shutilCopy( |
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
1003 | os.path.join(eric7SourceDir, "pixmaps", "eric48_icon.png"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1004 | os.path.join(dst, "eric.png"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1005 | ) |
8660
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
1006 | shutilCopy( |
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
1007 | os.path.join(eric7SourceDir, "pixmaps", "ericWeb48_icon.png"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1008 | os.path.join(dst, "ericWeb.png"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1009 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1010 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1011 | dst = os.path.normpath(os.path.join(distDir, "usr/share/applications")) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1012 | if not os.path.exists(dst): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1013 | os.makedirs(dst) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1014 | copyDesktopFile( |
9381
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
1015 | os.path.join(dataSourceDir, "eric7_ide.desktop.in"), |
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
1016 | os.path.join(dst, "eric7_ide.desktop"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1017 | ) |
8634
2bbfaad44cbd
Activated some code related to Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8615
diff
changeset
|
1018 | copyDesktopFile( |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
1019 | os.path.join(dataSourceDir, "eric7_browser.desktop.in"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1020 | os.path.join(dst, "eric7_browser.desktop"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1021 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1022 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1023 | dst = os.path.normpath(os.path.join(distDir, "usr/share/metainfo")) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1024 | if not os.path.exists(dst): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1025 | os.makedirs(dst) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1026 | copyAppStreamFile( |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
1027 | os.path.join(dataSourceDir, "eric7.appdata.xml.in"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1028 | os.path.join(dst, "eric7.appdata.xml"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1029 | ) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1030 | elif os.getuid() == 0: |
7519
0e93f5167e71
install.py: fixed an issue caused by renaming the old 'default' icon directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7453
diff
changeset
|
1031 | shutilCopy( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
1032 | os.path.join(eric7SourceDir, "pixmaps", "eric_icon.png"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1033 | "/usr/share/icons/eric.png", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1034 | ) |
8660
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
1035 | shutilCopy( |
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
1036 | os.path.join(eric7SourceDir, "pixmaps", "eric48_icon.png"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1037 | "/usr/share/icons/hicolor/48x48/apps/eric.png", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1038 | ) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1039 | copyDesktopFile( |
9381
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
1040 | os.path.join(dataSourceDir, "eric7_ide.desktop.in"), |
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
1041 | "/usr/share/applications/eric7_ide.desktop", |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1042 | ) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1043 | if os.path.exists("/usr/share/metainfo"): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1044 | copyAppStreamFile( |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
1045 | os.path.join(dataSourceDir, "eric7.appdata.xml.in"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1046 | "/usr/share/metainfo/eric7.appdata.xml", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1047 | ) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1048 | elif os.path.exists("/usr/share/appdata"): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1049 | copyAppStreamFile( |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
1050 | os.path.join(dataSourceDir, "eric7.appdata.xml.in"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1051 | "/usr/share/appdata/eric7.appdata.xml", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1052 | ) |
7519
0e93f5167e71
install.py: fixed an issue caused by renaming the old 'default' icon directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7453
diff
changeset
|
1053 | shutilCopy( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
1054 | os.path.join(eric7SourceDir, "pixmaps", "ericWeb48_icon.png"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1055 | "/usr/share/icons/ericWeb.png", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1056 | ) |
8660
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
1057 | shutilCopy( |
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
1058 | os.path.join(eric7SourceDir, "pixmaps", "ericWeb48_icon.png"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1059 | "/usr/share/icons/hicolor/48x48/apps/ericWeb.png", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1060 | ) |
8634
2bbfaad44cbd
Activated some code related to Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8615
diff
changeset
|
1061 | copyDesktopFile( |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
1062 | os.path.join(dataSourceDir, "eric7_browser.desktop.in"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1063 | "/usr/share/applications/eric7_browser.desktop", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1064 | ) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1065 | elif os.getuid() >= 1000: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1066 | # it is assumed, that user ids start at 1000 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1067 | localPath = os.path.join(os.path.expanduser("~"), ".local", "share") |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1068 | # create directories first |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1069 | for directory in [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1070 | os.path.join(localPath, name) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1071 | for name in ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1072 | "icons", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1073 | "icons/hicolor/48x48/apps", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1074 | "applications", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1075 | "metainfo", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1076 | "appdata", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1077 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1078 | ]: |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1079 | if not os.path.isdir(directory): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1080 | os.makedirs(directory) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1081 | # now copy the files |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1082 | shutilCopy( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
1083 | os.path.join(eric7SourceDir, "pixmaps", "eric_icon.png"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1084 | os.path.join(localPath, "icons", "eric.png"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1085 | ) |
8660
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
1086 | shutilCopy( |
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
1087 | os.path.join(eric7SourceDir, "pixmaps", "eric48_icon.png"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1088 | os.path.join(localPath, "icons/hicolor/48x48/apps", "eric.png"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1089 | ) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1090 | copyDesktopFile( |
9381
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
1091 | os.path.join(dataSourceDir, "eric7_ide.desktop.in"), |
3c9192161833
Adjusted the Linux specific meta files to the eric7_ide change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9380
diff
changeset
|
1092 | os.path.join(localPath, "applications", "eric7_ide.desktop"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1093 | ) |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1094 | copyAppStreamFile( |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
1095 | os.path.join(dataSourceDir, "eric7.appdata.xml.in"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1096 | os.path.join(localPath, "metainfo", "eric7.appdata.xml"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1097 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1098 | copyAppStreamFile( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1099 | os.path.join(dataSourceDir, "eric7.appdata.xml.in"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1100 | os.path.join(localPath, "appdata", "eric7.appdata.xml"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1101 | ) |
8660
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
1102 | shutilCopy( |
1848e8e4b380
Improved installation procedure to also create application icons on ChromeOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8656
diff
changeset
|
1103 | os.path.join(eric7SourceDir, "pixmaps", "ericWeb48_icon.png"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1104 | os.path.join(localPath, "icons", "ericWeb.png"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1105 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1106 | shutilCopy( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1107 | os.path.join(eric7SourceDir, "pixmaps", "ericWeb48_icon.png"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1108 | os.path.join(localPath, "icons/hicolor/48x48/apps", "ericWeb.png"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1109 | ) |
8634
2bbfaad44cbd
Activated some code related to Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8615
diff
changeset
|
1110 | copyDesktopFile( |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
1111 | os.path.join(dataSourceDir, "eric7_browser.desktop.in"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1112 | os.path.join(localPath, "applications", "eric7_browser.desktop"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1113 | ) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1114 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1115 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1116 | def createWindowsLinks(): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1117 | """ |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1118 | Create Desktop and Start Menu links. |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1119 | """ |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1120 | try: |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1121 | # check, if pywin32 is available |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1122 | from win32com.client import Dispatch # __IGNORE_WARNING__ |
10122
f9b87800ecf2
Corrected some code formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10119
diff
changeset
|
1123 | except (ImportError, ModuleNotFoundError): # noqa: M514 |
6592
bba271a63b81
install: added capability to install the pywin32 package upon request in order to create shortcut links.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
1124 | installed = pipInstall( |
bba271a63b81
install: added capability to install the pywin32 package upon request in order to create shortcut links.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
1125 | "pywin32", |
8258
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8254
diff
changeset
|
1126 | "\nThe Python package 'pywin32' could not be imported.", |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1127 | force=False, |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1128 | ) |
6594
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1129 | if installed: |
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1130 | # create the links via an external script to get around some |
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1131 | # startup magic done by pywin32.pth |
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1132 | args = [ |
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1133 | sys.executable, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1134 | os.path.join(os.path.dirname(__file__), "create_windows_links.py"), |
6594
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1135 | ] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1136 | subprocess.run(args) # secok |
6594
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1137 | else: |
6592
bba271a63b81
install: added capability to install the pywin32 package upon request in order to create shortcut links.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
1138 | print( |
bba271a63b81
install: added capability to install the pywin32 package upon request in order to create shortcut links.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
1139 | "\nThe Python package 'pywin32' is not installed. Desktop and" |
bba271a63b81
install: added capability to install the pywin32 package upon request in order to create shortcut links.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
1140 | " Start Menu entries will not be created." |
bba271a63b81
install: added capability to install the pywin32 package upon request in order to create shortcut links.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
1141 | ) |
6594
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1142 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1143 | |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1144 | regPath = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1145 | "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1146 | + "\\User Shell Folders" |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1147 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1148 | |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1149 | # 1. create desktop shortcuts |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1150 | regName = "Desktop" |
7566
7845da7a7ec2
install.py: added fault handler for desktop shortcut creation on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7519
diff
changeset
|
1151 | desktopEntry = getWinregEntry(regName, regPath) |
7845da7a7ec2
install.py: added fault handler for desktop shortcut creation on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7519
diff
changeset
|
1152 | if desktopEntry: |
7845da7a7ec2
install.py: added fault handler for desktop shortcut creation on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7519
diff
changeset
|
1153 | desktopFolder = os.path.normpath(os.path.expandvars(desktopEntry)) |
7845da7a7ec2
install.py: added fault handler for desktop shortcut creation on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7519
diff
changeset
|
1154 | for linkName, targetPath, iconPath in windowsDesktopEntries(): |
7845da7a7ec2
install.py: added fault handler for desktop shortcut creation on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7519
diff
changeset
|
1155 | linkPath = os.path.join(desktopFolder, linkName) |
7845da7a7ec2
install.py: added fault handler for desktop shortcut creation on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7519
diff
changeset
|
1156 | createWindowsShortcut(linkPath, targetPath, iconPath) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1157 | |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1158 | # 2. create start menu entry and shortcuts |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1159 | regName = "Programs" |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1160 | programsEntry = getWinregEntry(regName, regPath) |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1161 | if programsEntry: |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1162 | programsFolder = os.path.normpath(os.path.expandvars(programsEntry)) |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
1163 | eric7EntryPath = os.path.join(programsFolder, windowsProgramsEntry()) |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
1164 | if not os.path.exists(eric7EntryPath): |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1165 | try: |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
1166 | os.makedirs(eric7EntryPath) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
1167 | except OSError: |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1168 | # maybe restrictions prohibited link creation |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1169 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1170 | |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1171 | for linkName, targetPath, iconPath in windowsDesktopEntries(): |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
1172 | linkPath = os.path.join(eric7EntryPath, linkName) |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1173 | createWindowsShortcut(linkPath, targetPath, iconPath) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1174 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1175 | |
10065
de4ae767b0e3
Corrected and checked some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10046
diff
changeset
|
1176 | def createMacAppBundle(): |
1387
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
1177 | """ |
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
1178 | Create a Mac application bundle. |
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
1179 | """ |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1180 | global cfg, macAppBundleName, macPythonExe, macAppBundlePath |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1181 | |
7141
a479c75c6643
install.py: fixed an issue causing installation to fail in certain situations on macOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7121
diff
changeset
|
1182 | directories = { |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1183 | "contents": "{0}/{1}/Contents/".format(macAppBundlePath, macAppBundleName), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1184 | "exe": "{0}/{1}/Contents/MacOS".format(macAppBundlePath, macAppBundleName), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1185 | "icns": "{0}/{1}/Contents/Resources".format(macAppBundlePath, macAppBundleName), |
3507
b09e10d4f343
Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3468
diff
changeset
|
1186 | } |
7227
5ba312e6599a
install.py: fixed an issue causing installation on macOS to fail.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7220
diff
changeset
|
1187 | for directory in directories.values(): |
7141
a479c75c6643
install.py: fixed an issue causing installation to fail in certain situations on macOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7121
diff
changeset
|
1188 | if not os.path.exists(directory): |
a479c75c6643
install.py: fixed an issue causing installation to fail in certain situations on macOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7121
diff
changeset
|
1189 | os.makedirs(directory) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1190 | |
7584
328d92d8db48
install: fixed an issue causing a faulty application bundle being created for macOS installations when installing into a Python virtual environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7566
diff
changeset
|
1191 | if macPythonExe == defaultMacPythonExe and macPythonExe: |
7141
a479c75c6643
install.py: fixed an issue causing installation to fail in certain situations on macOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7121
diff
changeset
|
1192 | starter = os.path.join(directories["exe"], "eric") |
2308
f83826045e51
Change install.py for Mac again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2307
diff
changeset
|
1193 | os.symlink(macPythonExe, starter) |
f83826045e51
Change install.py for Mac again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2307
diff
changeset
|
1194 | else: |
3612
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
1195 | starter = "python{0}".format(sys.version_info.major) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1196 | |
9377 | 1197 | wname = os.path.join(directories["exe"], "eric7_ide") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1198 | |
4374
627e3d0b4ba1
Changed the installer to create a Mac app bundle script containg a DYLD_FRAMEWORK_PATH line as recommended by PyQt for Qt 5.5.0 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4307
diff
changeset
|
1199 | # determine entry for DYLD_FRAMEWORK_PATH |
627e3d0b4ba1
Changed the installer to create a Mac app bundle script containg a DYLD_FRAMEWORK_PATH line as recommended by PyQt for Qt 5.5.0 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4307
diff
changeset
|
1200 | dyldLine = "" |
627e3d0b4ba1
Changed the installer to create a Mac app bundle script containg a DYLD_FRAMEWORK_PATH line as recommended by PyQt for Qt 5.5.0 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4307
diff
changeset
|
1201 | try: |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
1202 | from PyQt6.QtCore import QLibraryInfo # noqa: I101, I102 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1203 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1204 | qtLibraryDir = QLibraryInfo.path(QLibraryInfo.LibraryPath.LibrariesPath) |
4374
627e3d0b4ba1
Changed the installer to create a Mac app bundle script containg a DYLD_FRAMEWORK_PATH line as recommended by PyQt for Qt 5.5.0 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4307
diff
changeset
|
1205 | except ImportError: |
627e3d0b4ba1
Changed the installer to create a Mac app bundle script containg a DYLD_FRAMEWORK_PATH line as recommended by PyQt for Qt 5.5.0 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4307
diff
changeset
|
1206 | qtLibraryDir = "" |
627e3d0b4ba1
Changed the installer to create a Mac app bundle script containg a DYLD_FRAMEWORK_PATH line as recommended by PyQt for Qt 5.5.0 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4307
diff
changeset
|
1207 | if qtLibraryDir: |
627e3d0b4ba1
Changed the installer to create a Mac app bundle script containg a DYLD_FRAMEWORK_PATH line as recommended by PyQt for Qt 5.5.0 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4307
diff
changeset
|
1208 | dyldLine = "DYLD_FRAMEWORK_PATH={0}\n".format(qtLibraryDir) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1209 | |
4374
627e3d0b4ba1
Changed the installer to create a Mac app bundle script containg a DYLD_FRAMEWORK_PATH line as recommended by PyQt for Qt 5.5.0 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4307
diff
changeset
|
1210 | # determine entry for PATH |
627e3d0b4ba1
Changed the installer to create a Mac app bundle script containg a DYLD_FRAMEWORK_PATH line as recommended by PyQt for Qt 5.5.0 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4307
diff
changeset
|
1211 | pathLine = "" |
1390
f4a7915db1e6
Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1389
diff
changeset
|
1212 | path = os.getenv("PATH", "") |
f4a7915db1e6
Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1389
diff
changeset
|
1213 | if path: |
f4a7915db1e6
Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1389
diff
changeset
|
1214 | pybin = os.path.join(sys.exec_prefix, "bin") |
f4a7915db1e6
Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1389
diff
changeset
|
1215 | pathlist = path.split(os.pathsep) |
4911
652cb0520e9a
Improved the Mac app bundle creation function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4889
diff
changeset
|
1216 | pathlist_n = [pybin] |
652cb0520e9a
Improved the Mac app bundle creation function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4889
diff
changeset
|
1217 | for path_ in pathlist: |
652cb0520e9a
Improved the Mac app bundle creation function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4889
diff
changeset
|
1218 | if path_ and path_ not in pathlist_n: |
652cb0520e9a
Improved the Mac app bundle creation function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4889
diff
changeset
|
1219 | pathlist_n.append(path_) |
652cb0520e9a
Improved the Mac app bundle creation function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4889
diff
changeset
|
1220 | pathLine = "PATH={0}\n".format(os.pathsep.join(pathlist_n)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1221 | |
4911
652cb0520e9a
Improved the Mac app bundle creation function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4889
diff
changeset
|
1222 | # create the wrapper script |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1223 | wrapper = ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1224 | """#!/bin/sh\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1225 | """\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1226 | """{0}""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1227 | """{1}""" |
9402
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
1228 | """exec "{2}" "-m" "eric7" "$@"\n""".format(pathLine, dyldLine, starter) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1229 | ) |
1390
f4a7915db1e6
Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1389
diff
changeset
|
1230 | copyToFile(wname, wrapper) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1231 | os.chmod(wname, 0o755) # secok |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1232 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1233 | shutilCopy( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1234 | os.path.join(eric7SourceDir, "pixmaps", "eric_2.icns"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1235 | os.path.join(directories["icns"], "eric.icns"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1236 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1237 | |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
1238 | if os.path.exists(os.path.join("eric", "eric7", "UI", "Info.py")): |
6664
50c9c1c9cf30
install.py: extended and corrected the macOS application bundle generation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6663
diff
changeset
|
1239 | # Installing from archive |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
1240 | from eric.eric7.UI.Info import CopyrightShort, Version # noqa: I101, I102 |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
1241 | elif os.path.exists(os.path.join("eric7", "UI", "Info.py")): |
6664
50c9c1c9cf30
install.py: extended and corrected the macOS application bundle generation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6663
diff
changeset
|
1242 | # Installing from source tree |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
1243 | from eric7.UI.Info import CopyrightShort, Version # noqa: I101 |
6664
50c9c1c9cf30
install.py: extended and corrected the macOS application bundle generation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6663
diff
changeset
|
1244 | else: |
50c9c1c9cf30
install.py: extended and corrected the macOS application bundle generation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6663
diff
changeset
|
1245 | Version = "Unknown" |
9653
e67609152c5e
Updated copyright for 2023.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9632
diff
changeset
|
1246 | CopyrightShort = "(c) 2002 - 2023 Detlev Offenbach" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1247 | |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
1248 | copyToFile( |
7141
a479c75c6643
install.py: fixed an issue causing installation to fail in certain situations on macOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7121
diff
changeset
|
1249 | os.path.join(directories["contents"], "Info.plist"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1250 | """<?xml version="1.0" encoding="UTF-8"?>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1251 | """<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1252 | """ "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1253 | """<plist version="1.0">\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1254 | """<dict>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1255 | """ <key>CFBundleExecutable</key>\n""" |
9377 | 1256 | """ <string>eric7_ide</string>\n""" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1257 | """ <key>CFBundleIconFile</key>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1258 | """ <string>eric.icns</string>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1259 | """ <key>CFBundleInfoDictionaryVersion</key>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1260 | """ <string>{1}</string>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1261 | """ <key>CFBundleName</key>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1262 | """ <string>{0}</string>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1263 | """ <key>CFBundleDisplayName</key>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1264 | """ <string>{0}</string>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1265 | """ <key>CFBundlePackageType</key>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1266 | """ <string>APPL</string>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1267 | """ <key>CFBundleSignature</key>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1268 | """ <string>ERIC-IDE</string>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1269 | """ <key>CFBundleVersion</key>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1270 | """ <string>{1}</string>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1271 | """ <key>CFBundleGetInfoString</key>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1272 | """ <string>{1}, {2}</string>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1273 | """ <key>CFBundleIdentifier</key>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1274 | """ <string>org.python-projects.eric-ide</string>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1275 | """ <key>NSRequiresAquaSystemAppearance</key>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1276 | """ <string>false</string>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1277 | """ <key>LSEnvironment</key>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1278 | """ <dict>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1279 | """ <key>LANG</key>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1280 | """ <string>en_US.UTF-8</string>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1281 | """ <key>LC_ALL</key>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1282 | """ <string>en_US.UTF-8</string>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1283 | """ <key>LC_CTYPE</key>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1284 | """ <string>en_US.UTF-8</string>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1285 | """ </dict>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1286 | """</dict>\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1287 | """</plist>\n""".format( |
6664
50c9c1c9cf30
install.py: extended and corrected the macOS application bundle generation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6663
diff
changeset
|
1288 | macAppBundleName.replace(".app", ""), |
50c9c1c9cf30
install.py: extended and corrected the macOS application bundle generation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6663
diff
changeset
|
1289 | Version.split(None, 1)[0], |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1290 | CopyrightShort, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1291 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1292 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1293 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1294 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1295 | def createInstallConfig(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1296 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1297 | Create the installation config dictionary. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1298 | """ |
3948
6c3720179d6b
Extended the install script to improve cooperation with packagers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3943
diff
changeset
|
1299 | global modDir, platBinDir, cfg, apisDir, installApis |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1300 | |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
1301 | ericdir = os.path.join(modDir, "eric7") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1302 | cfg = { |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1303 | "ericDir": ericdir, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1304 | "ericPixDir": os.path.join(ericdir, "pixmaps"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1305 | "ericIconDir": os.path.join(ericdir, "icons"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1306 | "ericDTDDir": os.path.join(ericdir, "DTDs"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1307 | "ericCSSDir": os.path.join(ericdir, "CSSs"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1308 | "ericStylesDir": os.path.join(ericdir, "Styles"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1309 | "ericThemesDir": os.path.join(ericdir, "Themes"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1310 | "ericDocDir": os.path.join(ericdir, "Documentation"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1311 | "ericExamplesDir": os.path.join(ericdir, "Examples"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1312 | "ericTranslationsDir": os.path.join(ericdir, "i18n"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1313 | "ericTemplatesDir": os.path.join(ericdir, "DesignerTemplates"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1314 | "ericCodeTemplatesDir": os.path.join(ericdir, "CodeTemplates"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1315 | "ericOthersDir": ericdir, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1316 | "bindir": platBinDir, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1317 | "mdir": modDir, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1318 | } |
3948
6c3720179d6b
Extended the install script to improve cooperation with packagers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3943
diff
changeset
|
1319 | if installApis: |
6c3720179d6b
Extended the install script to improve cooperation with packagers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3943
diff
changeset
|
1320 | if apisDir: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1321 | cfg["apidir"] = apisDir |
3948
6c3720179d6b
Extended the install script to improve cooperation with packagers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3943
diff
changeset
|
1322 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1323 | cfg["apidir"] = os.path.join(ericdir, "api") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1324 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1325 | cfg["apidir"] = "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1326 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1327 | |
8820
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
1328 | configLength = 16 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1329 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
1330 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1331 | def createConfig(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1332 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1333 | Create a config file with the respective config entries. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1334 | """ |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
1335 | global cfg, macAppBundlePath, configName |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1336 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1337 | apis = [] |
3948
6c3720179d6b
Extended the install script to improve cooperation with packagers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3943
diff
changeset
|
1338 | if installApis: |
6c3720179d6b
Extended the install script to improve cooperation with packagers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3943
diff
changeset
|
1339 | for progLanguage in progLanguages: |
6960
1d4e02425869
install.py: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6956
diff
changeset
|
1340 | for apiName in sorted( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1341 | glob.glob(os.path.join(eric7SourceDir, "APIs", progLanguage, "*.api")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1342 | ): |
40
c2e5472b112c
Changed some code to adjust eric5 to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
21
diff
changeset
|
1343 | apis.append(os.path.basename(apiName)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1344 | |
8260
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
1345 | macConfig = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1346 | ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1347 | """ 'macAppBundlePath': r'{0}',\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1348 | """ 'macAppBundleName': r'{1}',\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1349 | ).format(macAppBundlePath, macAppBundleName) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1350 | if sys.platform == "darwin" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1351 | else "" |
8260
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
1352 | ) |
3036
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1353 | config = ( |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1354 | """# -*- coding: utf-8 -*-\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1355 | """#\n""" |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1356 | """# This module contains the configuration of the individual eric""" |
3036
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1357 | """ installation\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1358 | """#\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1359 | """\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1360 | """_pkg_config = {{\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1361 | """ 'ericDir': r'{0}',\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1362 | """ 'ericPixDir': r'{1}',\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1363 | """ 'ericIconDir': r'{2}',\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1364 | """ 'ericDTDDir': r'{3}',\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1365 | """ 'ericCSSDir': r'{4}',\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1366 | """ 'ericStylesDir': r'{5}',\n""" |
8820
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
1367 | """ 'ericThemesDir': r'{6}',\n""" |
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
1368 | """ 'ericDocDir': r'{7}',\n""" |
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
1369 | """ 'ericExamplesDir': r'{8}',\n""" |
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
1370 | """ 'ericTranslationsDir': r'{9}',\n""" |
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
1371 | """ 'ericTemplatesDir': r'{10}',\n""" |
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
1372 | """ 'ericCodeTemplatesDir': r'{11}',\n""" |
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
1373 | """ 'ericOthersDir': r'{12}',\n""" |
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
1374 | """ 'bindir': r'{13}',\n""" |
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
1375 | """ 'mdir': r'{14}',\n""" |
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
1376 | """ 'apidir': r'{15}',\n""" |
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
1377 | """ 'apis': {16},\n""" |
149f941d072e
Finished implementing a manager for color themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8776
diff
changeset
|
1378 | """{17}""" |
3036
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1379 | """}}\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1380 | """\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1381 | """def getConfig(name):\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1382 | """ '''\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1383 | """ Module function to get a configuration value.\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1384 | """\n""" |
5628
3a1bef0560b1
Corrected some left overs of a failed installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1385 | """ @param name name of the configuration value""" |
3a1bef0560b1
Corrected some left overs of a failed installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1386 | """ @type str\n""" |
3a1bef0560b1
Corrected some left overs of a failed installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1387 | """ @exception AttributeError raised to indicate an invalid""" |
3a1bef0560b1
Corrected some left overs of a failed installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1388 | """ config entry\n""" |
3036
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1389 | """ '''\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1390 | """ try:\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1391 | """ return _pkg_config[name]\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1392 | """ except KeyError:\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1393 | """ pass\n""" |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1394 | """\n""" |
5628
3a1bef0560b1
Corrected some left overs of a failed installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1395 | """ raise AttributeError(\n""" |
3a1bef0560b1
Corrected some left overs of a failed installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1396 | """ '"{{0}}" is not a valid configuration value'""" |
3a1bef0560b1
Corrected some left overs of a failed installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1397 | """.format(name))\n""" |
3507
b09e10d4f343
Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3468
diff
changeset
|
1398 | ).format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1399 | cfg["ericDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1400 | cfg["ericPixDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1401 | cfg["ericIconDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1402 | cfg["ericDTDDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1403 | cfg["ericCSSDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1404 | cfg["ericStylesDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1405 | cfg["ericThemesDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1406 | cfg["ericDocDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1407 | cfg["ericExamplesDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1408 | cfg["ericTranslationsDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1409 | cfg["ericTemplatesDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1410 | cfg["ericCodeTemplatesDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1411 | cfg["ericOthersDir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1412 | cfg["bindir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1413 | cfg["mdir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1414 | cfg["apidir"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1415 | sorted(apis), |
7804
1cbc27e34ec6
Implementing code to record and/or guess some information about the installation process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7799
diff
changeset
|
1416 | macConfig, |
3507
b09e10d4f343
Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3468
diff
changeset
|
1417 | ) |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
1418 | copyToFile(configName, config) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1419 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
1420 | |
7804
1cbc27e34ec6
Implementing code to record and/or guess some information about the installation process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7799
diff
changeset
|
1421 | def createInstallInfo(): |
1cbc27e34ec6
Implementing code to record and/or guess some information about the installation process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7799
diff
changeset
|
1422 | """ |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1423 | Record information about the way eric was installed. |
7804
1cbc27e34ec6
Implementing code to record and/or guess some information about the installation process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7799
diff
changeset
|
1424 | """ |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1425 | global createInstallInfoFile, installInfo, installCwd, cfg |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1426 | |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1427 | if createInstallInfoFile: |
10192
f457742dd3d6
Modified the datetime.datetime methods to include the 'tz' argument.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10177
diff
changeset
|
1428 | installDateTime = datetime.datetime.now(tz=datetime.timezone.utc) |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1429 | try: |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1430 | installInfo["sudo"] = os.getuid() == 0 |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1431 | except AttributeError: |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1432 | installInfo["sudo"] = False |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1433 | installInfo["user"] = getpass.getuser() |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1434 | installInfo["exe"] = sys.executable |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1435 | installInfo["argv"] = " ".join(shlex.quote(a) for a in sys.argv[:]) |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1436 | installInfo["install_cwd"] = installCwd |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1437 | installInfo["eric"] = cfg["ericDir"] |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1438 | installInfo["virtualenv"] = installInfo["eric"].startswith( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1439 | os.path.expanduser("~") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1440 | ) |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1441 | installInfo["installed"] = True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1442 | installInfo["installed_on"] = installDateTime.strftime("%Y-%m-%d %H:%M:%S") |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1443 | installInfo["guessed"] = False |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1444 | installInfo["edited"] = False |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1445 | installInfo["pip"] = False |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1446 | installInfo["remarks"] = "" |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1447 | installInfo["install_cwd_edited"] = False |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1448 | installInfo["exe_edited"] = False |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1449 | installInfo["argv_edited"] = False |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
1450 | installInfo["eric_edited"] = False |
7804
1cbc27e34ec6
Implementing code to record and/or guess some information about the installation process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7799
diff
changeset
|
1451 | |
7823
9a4e93471a06
install.py: fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7821
diff
changeset
|
1452 | |
8258
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8254
diff
changeset
|
1453 | def pipInstall(packageName, message, force=True): |
6211
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1454 | """ |
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1455 | Install the given package via pip. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1456 | |
6211
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1457 | @param packageName name of the package to be installed |
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1458 | @type str |
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1459 | @param message message to be shown to the user |
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1460 | @type str |
8258
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8254
diff
changeset
|
1461 | @param force flag indicating to perform the installation |
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8254
diff
changeset
|
1462 | without asking the user |
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8254
diff
changeset
|
1463 | @type bool |
6211
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1464 | @return flag indicating a successful installation |
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1465 | @rtype bool |
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1466 | """ |
7333 | 1467 | global yes2All |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1468 | |
6211
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1469 | ok = False |
8258
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8254
diff
changeset
|
1470 | if yes2All or force: |
7333 | 1471 | answer = "y" |
1472 | else: | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1473 | print( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1474 | "{0}\nShall '{1}' be installed using pip? (Y/n)".format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1475 | message, packageName |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1476 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1477 | end=" ", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1478 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1479 | answer = input() # secok |
6211
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1480 | if answer in ("", "Y", "y"): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1481 | exitCode = subprocess.run( # secok |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1482 | [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1483 | sys.executable, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1484 | "-m", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1485 | "pip", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1486 | "install", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1487 | "--prefer-binary", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1488 | "--upgrade", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1489 | packageName, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1490 | ] |
8966
c6f67dbc6ee7
Changed calls to subprocess.call() and subprocess.check_output() to use subprocess.run().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8918
diff
changeset
|
1491 | ).returncode |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1492 | ok = exitCode == 0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1493 | |
6211
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1494 | return ok |
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1495 | |
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1496 | |
7453
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1497 | def isPipOutdated(): |
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1498 | """ |
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1499 | Check, if pip is outdated. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1500 | |
7453
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1501 | @return flag indicating an outdated pip |
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1502 | @rtype bool |
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1503 | """ |
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1504 | try: |
9278
36448ca469c2
Simplified some code iaw. recommendations of the extended style checker and reformatted the code with black.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9261
diff
changeset
|
1505 | pipOut = ( |
36448ca469c2
Simplified some code iaw. recommendations of the extended style checker and reformatted the code with black.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9261
diff
changeset
|
1506 | subprocess.run( # secok |
36448ca469c2
Simplified some code iaw. recommendations of the extended style checker and reformatted the code with black.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9261
diff
changeset
|
1507 | [sys.executable, "-m", "pip", "list", "--outdated", "--format=json"], |
36448ca469c2
Simplified some code iaw. recommendations of the extended style checker and reformatted the code with black.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9261
diff
changeset
|
1508 | check=True, |
36448ca469c2
Simplified some code iaw. recommendations of the extended style checker and reformatted the code with black.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9261
diff
changeset
|
1509 | capture_output=True, |
36448ca469c2
Simplified some code iaw. recommendations of the extended style checker and reformatted the code with black.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9261
diff
changeset
|
1510 | text=True, |
36448ca469c2
Simplified some code iaw. recommendations of the extended style checker and reformatted the code with black.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9261
diff
changeset
|
1511 | ) |
36448ca469c2
Simplified some code iaw. recommendations of the extended style checker and reformatted the code with black.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9261
diff
changeset
|
1512 | .stdout.strip() |
36448ca469c2
Simplified some code iaw. recommendations of the extended style checker and reformatted the code with black.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9261
diff
changeset
|
1513 | .splitlines()[0] |
36448ca469c2
Simplified some code iaw. recommendations of the extended style checker and reformatted the code with black.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9261
diff
changeset
|
1514 | ) |
9261
66cc5e304450
Corrected another issue related to pip outputting additional data after the JSON line for 'pip list'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9231
diff
changeset
|
1515 | # only the first line contains the JSON data |
7453
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1516 | except (OSError, subprocess.CalledProcessError): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1517 | pipOut = "[]" # default empty list |
7453
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1518 | try: |
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1519 | jsonList = json.loads(pipOut) |
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1520 | except Exception: |
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1521 | jsonList = [] |
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1522 | for package in jsonList: |
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1523 | if isinstance(package, dict) and package["name"] == "pip": |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1524 | print( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1525 | "'pip' is outdated (installed {0}, available {1})".format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1526 | package["version"], package["latest_version"] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1527 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1528 | ) |
7453
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1529 | return True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1530 | |
7453
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1531 | return False |
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1532 | |
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1533 | |
7448
29b54296cf8c
install script: added option to update pip before testing the version of the prerequisite tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1534 | def updatePip(): |
29b54296cf8c
install script: added option to update pip before testing the version of the prerequisite tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1535 | """ |
29b54296cf8c
install script: added option to update pip before testing the version of the prerequisite tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1536 | Update the installed pip package. |
29b54296cf8c
install script: added option to update pip before testing the version of the prerequisite tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1537 | """ |
29b54296cf8c
install script: added option to update pip before testing the version of the prerequisite tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1538 | global yes2All |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1539 | |
7448
29b54296cf8c
install script: added option to update pip before testing the version of the prerequisite tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1540 | if yes2All: |
29b54296cf8c
install script: added option to update pip before testing the version of the prerequisite tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1541 | answer = "y" |
29b54296cf8c
install script: added option to update pip before testing the version of the prerequisite tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1542 | else: |
29b54296cf8c
install script: added option to update pip before testing the version of the prerequisite tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1543 | print("Shall 'pip' be updated (recommended)? (Y/n)", end=" ") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1544 | answer = input() # secok |
7448
29b54296cf8c
install script: added option to update pip before testing the version of the prerequisite tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1545 | if answer in ("", "Y", "y"): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1546 | subprocess.run( # secok |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1547 | [sys.executable, "-m", "pip", "install", "--upgrade", "pip"] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1548 | ) |
7448
29b54296cf8c
install script: added option to update pip before testing the version of the prerequisite tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1549 | |
29b54296cf8c
install script: added option to update pip before testing the version of the prerequisite tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1550 | |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1551 | def versionToStr(version): |
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1552 | """ |
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1553 | Function to convert a version number into a version string. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1554 | |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1555 | @param version version number to convert |
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1556 | @type int |
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1557 | @return version string |
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1558 | @rtype str |
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1559 | """ |
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1560 | parts = [] |
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1561 | while version: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1562 | parts.append(version & 0xFF) |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1563 | version >>= 8 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1564 | return ".".join(str(p) for p in reversed(parts)) |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1565 | |
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1566 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
1567 | def doDependancyChecks(): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1568 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1569 | Perform some dependency checks. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1570 | """ |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1571 | global verbose |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1572 | |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1573 | requiredVersions = { |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1574 | "pyqt6": 0x60200, # v6.2.0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1575 | "pyqt6-charts": 0x60200, # v6.2.0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1576 | "pyqt6-webengine": 0x60200, # v6.2.0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1577 | "pyqt6-qscintilla": 0x20D00, # v2.13.0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1578 | "sip": 0x60100, # v6.1.0 |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1579 | } |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1580 | |
7812
44004f273a7b
install script: changed code to not ask to installe prerequisites if it is run as root user (= UID 0)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7809
diff
changeset
|
1581 | try: |
8261
0c2aa0ad149f
install script: little change for macOS installations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8260
diff
changeset
|
1582 | isSudo = os.getuid() == 0 and sys.platform != "darwin" |
0c2aa0ad149f
install script: little change for macOS installations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8260
diff
changeset
|
1583 | # disregard sudo installs on macOS |
7812
44004f273a7b
install script: changed code to not ask to installe prerequisites if it is run as root user (= UID 0)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7809
diff
changeset
|
1584 | except AttributeError: |
44004f273a7b
install script: changed code to not ask to installe prerequisites if it is run as root user (= UID 0)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7809
diff
changeset
|
1585 | isSudo = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1586 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1587 | print("Checking dependencies") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1588 | |
7448
29b54296cf8c
install script: added option to update pip before testing the version of the prerequisite tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1589 | # update pip first even if we don't need to install anything |
7812
44004f273a7b
install script: changed code to not ask to installe prerequisites if it is run as root user (= UID 0)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7809
diff
changeset
|
1590 | if not isSudo and isPipOutdated(): |
7453
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1591 | updatePip() |
54431a52b7f2
install.py: refined the pip update process
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7448
diff
changeset
|
1592 | print("\n") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1593 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1594 | # perform dependency checks |
10162
e7040c88b39e
Made some modification in preparation for Python 3.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10122
diff
changeset
|
1595 | if sys.version_info < (3, 8, 0) or sys.version_info >= (3, 13, 0): |
e7040c88b39e
Made some modification in preparation for Python 3.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10122
diff
changeset
|
1596 | print("Sorry, you must have Python 3.8.0 or higher, but less 3.13.0.") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1597 | print("Yours is {0}.".format(".".join(str(v) for v in sys.version_info[:3]))) |
390
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
1598 | exit(5) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1599 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1600 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1601 | import xml.etree # __IGNORE_WARNING__ |
6360
73033fa6a99c
Fixed some pyflakes warnings detected by the upgraded version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6347
diff
changeset
|
1602 | except ImportError: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1603 | print("Your Python installation is missing the XML module.") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1604 | print("Please install it and try again.") |
1525
1c7bd9144f43
Updated the install script to check for the presence of the xml.etree package, which is sometimes included in a separate installation package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1605 | exit(5) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1606 | |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
1607 | print("PyQt & Qt") |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
1608 | print("---------") |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1609 | try: |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
1610 | from PyQt6.QtCore import qVersion # noqa: I101, I102 |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1611 | except ImportError as err: |
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1612 | msg = "'PyQt6' could not be detected.{0}".format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1613 | "\nError: {0}".format(err) if verbose else "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1614 | ) |
7812
44004f273a7b
install script: changed code to not ask to installe prerequisites if it is run as root user (= UID 0)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7809
diff
changeset
|
1615 | installed = not isSudo and pipInstall( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1616 | "PyQt6>={0}".format(versionToStr(requiredVersions["pyqt6"])), msg |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1617 | ) |
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1618 | if installed: |
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1619 | # try to import it again |
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1620 | try: |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
1621 | from PyQt6.QtCore import qVersion # noqa: I101, I102 |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1622 | except ImportError as msg: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1623 | print("Sorry, please install PyQt6.") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1624 | print("Error: {0}".format(msg)) |
6211
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1625 | exit(1) |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1626 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1627 | print("Sorry, please install PyQt6.") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1628 | print("Error: {0}".format(msg)) |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1629 | exit(1) |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1630 | print("Found PyQt6") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1631 | |
837
10547522aa98
Added a check for QtHelp to the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
796
diff
changeset
|
1632 | try: |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1633 | pyuic = "pyuic6" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1634 | from PyQt6 import uic # __IGNORE_WARNING__ |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1635 | except ImportError as err: |
4800
9b30c587513c
Added a check for pyuic to the install script to prevent errors later on in the installation, if it is not installed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4673
diff
changeset
|
1636 | print("Sorry, {0} is not installed.".format(pyuic)) |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1637 | if verbose: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1638 | print("Error: {0}".format(err)) |
4800
9b30c587513c
Added a check for pyuic to the install script to prevent errors later on in the installation, if it is not installed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4673
diff
changeset
|
1639 | exit(1) |
9b30c587513c
Added a check for pyuic to the install script to prevent errors later on in the installation, if it is not installed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4673
diff
changeset
|
1640 | print("Found {0}".format(pyuic)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1641 | |
8566
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
1642 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1643 | from PyQt6 import QtWebEngineWidgets # __IGNORE_WARNING__ |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1644 | except ImportError as err: |
8634
2bbfaad44cbd
Activated some code related to Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8615
diff
changeset
|
1645 | if isSudo: |
2bbfaad44cbd
Activated some code related to Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8615
diff
changeset
|
1646 | print("Optional 'PyQt6-WebEngine' could not be detected.") |
2bbfaad44cbd
Activated some code related to Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8615
diff
changeset
|
1647 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1648 | msg = "Optional 'PyQt6-WebEngine' could not be detected.{0}".format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1649 | "\nError: {0}".format(err) if verbose else "" |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1650 | ) |
8634
2bbfaad44cbd
Activated some code related to Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8615
diff
changeset
|
1651 | pipInstall( |
8739
55e07d9608f0
Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8721
diff
changeset
|
1652 | "PyQt6-WebEngine>={0}".format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1653 | versionToStr(requiredVersions["pyqt6-webengine"]) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1654 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1655 | msg, |
8634
2bbfaad44cbd
Activated some code related to Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8615
diff
changeset
|
1656 | ) |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
1657 | print("Found PyQt6-WebEngine") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1658 | |
4800
9b30c587513c
Added a check for pyuic to the install script to prevent errors later on in the installation, if it is not installed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4673
diff
changeset
|
1659 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1660 | from PyQt6 import QtCharts # __IGNORE_WARNING__ |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1661 | except ImportError as err: |
7812
44004f273a7b
install script: changed code to not ask to installe prerequisites if it is run as root user (= UID 0)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7809
diff
changeset
|
1662 | if isSudo: |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1663 | print("Optional 'PyQt6-Charts' could not be detected.") |
7812
44004f273a7b
install script: changed code to not ask to installe prerequisites if it is run as root user (= UID 0)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7809
diff
changeset
|
1664 | else: |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1665 | msg = "Optional 'PyQt6-Charts' could not be detected.{0}".format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1666 | "\nError: {0}".format(err) if verbose else "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1667 | ) |
7812
44004f273a7b
install script: changed code to not ask to installe prerequisites if it is run as root user (= UID 0)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7809
diff
changeset
|
1668 | pipInstall( |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1669 | "PyQt6-Charts>={0}".format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1670 | versionToStr(requiredVersions["pyqt6-charts"]) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1671 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1672 | msg, |
7812
44004f273a7b
install script: changed code to not ask to installe prerequisites if it is run as root user (= UID 0)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7809
diff
changeset
|
1673 | ) |
8343
242d5dae2937
Corrected some place to import QtCharts instead of QtChart.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8339
diff
changeset
|
1674 | print("Found PyQt6-Charts") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1675 | |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1676 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1677 | from PyQt6 import Qsci # __IGNORE_WARNING__ |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1678 | except ImportError as err: |
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1679 | msg = "'PyQt6-QScintilla' could not be detected.{0}".format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1680 | "\nError: {0}".format(err) if verbose else "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1681 | ) |
7812
44004f273a7b
install script: changed code to not ask to installe prerequisites if it is run as root user (= UID 0)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7809
diff
changeset
|
1682 | installed = not isSudo and pipInstall( |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1683 | "PyQt6-QScintilla>={0}".format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1684 | versionToStr(requiredVersions["pyqt6-qscintilla"]) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1685 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1686 | msg, |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1687 | ) |
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1688 | if installed: |
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1689 | # try to import it again |
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1690 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1691 | from PyQt6 import Qsci # __IGNORE_WARNING__ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1692 | |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1693 | message = None |
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1694 | except ImportError as msg: |
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1695 | message = str(msg) |
6211
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1696 | else: |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1697 | message = "PyQt6-QScintilla could not be installed." |
6211
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1698 | if message: |
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1699 | print("Sorry, please install QScintilla2 and") |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1700 | print("its PyQt6 wrapper.") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1701 | print("Error: {0}".format(message)) |
6211
4f0e08c95ca9
install script: extended the install script by code to install PyQt5 and/or QScintilla via pip.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6208
diff
changeset
|
1702 | exit(1) |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1703 | print("Found PyQt6-QScintilla") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1704 | |
9314
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1705 | pyqt6BaseModulesList = [ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1706 | "PyQt6.QtGui", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1707 | "PyQt6.QtNetwork", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1708 | "PyQt6.QtPrintSupport", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1709 | "PyQt6.QtSql", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1710 | "PyQt6.QtSvg", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1711 | "PyQt6.QtSvgWidgets", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1712 | "PyQt6.QtWidgets", |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
1713 | ] |
9314
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1714 | requiredModulesList = { |
8128
8f012c58f27e
Changed setup.py and the install script to include the dependency to PyYAML and toml packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8127
diff
changeset
|
1715 | # key is pip project name |
8f012c58f27e
Changed setup.py and the install script to include the dependency to PyYAML and toml packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8127
diff
changeset
|
1716 | # value is tuple of package name, pip install constraint |
9107
8e9525a780ae
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9066
diff
changeset
|
1717 | "tomlkit": ("tomlkit", ""), |
8258
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8254
diff
changeset
|
1718 | "asttokens": ("asttokens", ""), |
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8254
diff
changeset
|
1719 | "EditorConfig": ("editorconfig", ""), |
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8254
diff
changeset
|
1720 | "Pygments": ("pygments", ""), |
8593
1d66b6af60ed
Jedi: integrated the Assistant Jedi plugin as a fixed part of eric.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8566
diff
changeset
|
1721 | "parso": ("parso", ""), |
1d66b6af60ed
Jedi: integrated the Assistant Jedi plugin as a fixed part of eric.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8566
diff
changeset
|
1722 | "jedi": ("jedi", ""), |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8966
diff
changeset
|
1723 | "packaging": ("packaging", ""), |
9117
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9108
diff
changeset
|
1724 | "cyclonedx-python-lib": ("cyclonedx", ""), |
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9108
diff
changeset
|
1725 | "cyclonedx-bom": ("cyclonedx_py", ""), |
9175
21e2be5f0b41
Changed code to use the 'trove-classifiers' package instead of a local text file copy or a download from PyPI.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9143
diff
changeset
|
1726 | "trove-classifiers": ("trove_classifiers", ""), |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1727 | "black": ("black", ">=22.6.0"), |
9453
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9448
diff
changeset
|
1728 | "isort": ("isort", ">=5.10.0"), |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
1729 | "coverage": ("coverage", ">=6.5.0"), |
9744
92fbd6bdba84
Changed code converting a version string into a version tuple to use the 'semver' package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9732
diff
changeset
|
1730 | "semver": ("semver", ""), |
10177
27a6e35c64ed
Changed the included 'pipdeptree' to an external dependency.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10162
diff
changeset
|
1731 | "pipdeptree": ("pipdeptree", ""), |
8128
8f012c58f27e
Changed setup.py and the install script to include the dependency to PyYAML and toml packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8127
diff
changeset
|
1732 | } |
9314
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1733 | optionalModulesList = { |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1734 | # key is pip project name |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1735 | # value is tuple of package name, pip install constraint |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1736 | "docutils": ("docutils", ""), |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1737 | "Markdown": ("markdown", ""), |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1738 | "pyyaml": ("yaml", ""), |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1739 | "chardet": ("chardet", ""), |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1740 | "pyenchant": ("enchant", ""), |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1741 | "wheel": ("wheel", ""), |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1742 | } |
9356
803a7a85b071
Changed the install script to only install the qt6-applications package if requested explicitly (--with-tools).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9347
diff
changeset
|
1743 | if withPyqt6Tools: |
8548
c87eb20797b7
Activated support for the 'qt6-applications' project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8522
diff
changeset
|
1744 | optionalModulesList["qt6-applications"] = ("qt6_applications", "") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1745 | |
9314
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1746 | # check mandatory PyQt6 modules |
3681
3a79355b9ca5
Fixed a bugs in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3678
diff
changeset
|
1747 | modulesOK = True |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
1748 | for pyqt6BaseModule in sorted(pyqt6BaseModulesList): |
9314
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1749 | name = pyqt6BaseModule.split(".")[1] |
2312
976dcb82c3e9
Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2308
diff
changeset
|
1750 | try: |
9485
0f3620304d7a
Changed code to use 'iimportlib.import_module()' instead of '__import__()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
1751 | importlib.import_module(pyqt6BaseModule) |
2312
976dcb82c3e9
Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2308
diff
changeset
|
1752 | print("Found", name) |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1753 | except ImportError as err: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1754 | print("Sorry, please install {0}.".format(name)) |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1755 | if verbose: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1756 | print("Error: {0}".format(err)) |
2312
976dcb82c3e9
Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2308
diff
changeset
|
1757 | modulesOK = False |
976dcb82c3e9
Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2308
diff
changeset
|
1758 | if not modulesOK: |
976dcb82c3e9
Extended the dependancy check of the install script because some distributions have Qt4 (or Qt5) cut into a bunch of little pieces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2308
diff
changeset
|
1759 | exit(1) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1760 | |
9314
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1761 | # check required modules |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
1762 | print("\nRequired Packages") |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
1763 | print("-----------------") |
9314
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1764 | requiredMissing = False |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
1765 | for requiredPackage in sorted(requiredModulesList): |
9314
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1766 | try: |
9485
0f3620304d7a
Changed code to use 'iimportlib.import_module()' instead of '__import__()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
1767 | importlib.import_module(requiredModulesList[requiredPackage][0]) |
9314
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1768 | print("Found", requiredPackage) |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1769 | except ImportError as err: |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1770 | if isSudo: |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1771 | print("Required '{0}' could not be detected.".format(requiredPackage)) |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1772 | requiredMissing = True |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1773 | else: |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1774 | msg = "Required '{0}' could not be detected.{1}".format( |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1775 | requiredPackage, "\nError: {0}".format(err) if verbose else "" |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1776 | ) |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1777 | pipInstall( |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1778 | requiredPackage + requiredModulesList[requiredPackage][1], |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1779 | msg, |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1780 | force=True, |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1781 | ) |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1782 | if requiredMissing: |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1783 | print("Some required packages are missing and could not be installed.") |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1784 | print("Install them manually with:") |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1785 | print(" {0} install-dependencies.py --required".format(sys.executable)) |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1786 | |
7745
43888e12e481
install.py: added code section to check for and install optional packages (like pyqt5-tools).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7740
diff
changeset
|
1787 | # check optional modules |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
1788 | print("\nOptional Packages") |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
1789 | print("-----------------") |
9314
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1790 | optionalMissing = False |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
1791 | for optPackage in sorted(optionalModulesList): |
7745
43888e12e481
install.py: added code section to check for and install optional packages (like pyqt5-tools).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7740
diff
changeset
|
1792 | try: |
9485
0f3620304d7a
Changed code to use 'iimportlib.import_module()' instead of '__import__()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
1793 | importlib.import_module(optionalModulesList[optPackage][0]) |
7745
43888e12e481
install.py: added code section to check for and install optional packages (like pyqt5-tools).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7740
diff
changeset
|
1794 | print("Found", optPackage) |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1795 | except ImportError as err: |
7812
44004f273a7b
install script: changed code to not ask to installe prerequisites if it is run as root user (= UID 0)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7809
diff
changeset
|
1796 | if isSudo: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1797 | print("Optional '{0}' could not be detected.".format(optPackage)) |
9314
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1798 | optionalMissing = True |
7812
44004f273a7b
install script: changed code to not ask to installe prerequisites if it is run as root user (= UID 0)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7809
diff
changeset
|
1799 | else: |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1800 | msg = "Optional '{0}' could not be detected.{1}".format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1801 | optPackage, "\nError: {0}".format(err) if verbose else "" |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
1802 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1803 | pipInstall(optPackage + optionalModulesList[optPackage][1], msg) |
9314
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1804 | if optionalMissing: |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1805 | print("Some optional packages are missing and could not be installed.") |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1806 | print("Install them manually with:") |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1807 | print(" {0} install-dependencies.py --optional".format(sys.executable)) |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1808 | |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1809 | if requiredMissing and optionalMissing: |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1810 | print("Alternatively you may install all of them with:") |
7ba79b00ea96
install scripts
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9278
diff
changeset
|
1811 | print(" {0} install-dependencies.py --all".format(sys.executable)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1812 | |
1914
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
1813 | # determine the platform dependent black list |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
1814 | if sys.platform.startswith(("win", "cygwin")): |
1914
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
1815 | PlatformBlackLists = PlatformsBlackLists["windows"] |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
1816 | elif sys.platform.startswith("linux"): |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
1817 | PlatformBlackLists = PlatformsBlackLists["linux"] |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
1818 | else: |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
1819 | PlatformBlackLists = PlatformsBlackLists["mac"] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1820 | |
8386
41a27cbdb5c1
install.py: modified the version display slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
1821 | print("\nVersion Information") |
41a27cbdb5c1
install.py: modified the version display slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
1822 | print("-------------------") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1823 | |
8754
e7d63a5a2ae9
Corrected the last change a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8753
diff
changeset
|
1824 | print("Python: {0:d}.{1:d}.{2:d}".format(*sys.version_info[:3])) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1825 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1826 | # check version of Qt |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1827 | # =================== |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1828 | qtMajor = int(qVersion().split(".")[0]) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1829 | qtMinor = int(qVersion().split(".")[1]) |
8386
41a27cbdb5c1
install.py: modified the version display slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
1830 | print("Qt6: {0}".format(qVersion().strip())) |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1831 | if qtMajor == 6 and qtMinor < 1: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1832 | print("Sorry, you must have Qt version 6.1.0 or better.") |
390
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
1833 | exit(2) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1834 | |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1835 | # check version of sip |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1836 | # ==================== |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
1837 | with contextlib.suppress(ImportError, AttributeError): |
6364
6a496f0886ad
Prepared the "import sip" statements for PyQt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6360
diff
changeset
|
1838 | try: |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
1839 | from PyQt6 import sip # noqa: I101, I102 |
6364
6a496f0886ad
Prepared the "import sip" statements for PyQt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6360
diff
changeset
|
1840 | except ImportError: |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
1841 | import sip # noqa: I101, I102 |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1842 | print("sip:", sip.SIP_VERSION_STR.strip()) |
4889
10cec9d5aa91
Fixed an issue in the install script caused by the new PyQt naming scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4830
diff
changeset
|
1843 | # always assume, that snapshots or dev versions are new enough |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1844 | if "snapshot" not in sip.SIP_VERSION_STR and "dev" not in sip.SIP_VERSION_STR: |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1845 | if sip.SIP_VERSION < requiredVersions["sip"]: |
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1846 | print( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1847 | "Sorry, you must have sip {0} or higher or" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1848 | " a recent development release.".format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1849 | versionToStr(requiredVersions["sip"]) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1850 | ) |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1851 | ) |
3628
deb5973080a9
Added code to prevent possible segfaults when closing down.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3621
diff
changeset
|
1852 | exit(3) |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1853 | # check for blacklisted versions |
1914
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
1854 | for vers in BlackLists["sip"] + PlatformBlackLists["sip"]: |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1855 | if vers == sip.SIP_VERSION: |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
1856 | print( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1857 | "Sorry, sip version {0} is not compatible with eric.".format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1858 | versionToStr(vers) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1859 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1860 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1861 | print("Please install another version.") |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1862 | exit(3) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1863 | |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1864 | # check version of PyQt6 |
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1865 | # ====================== |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
1866 | from PyQt6.QtCore import PYQT_VERSION, PYQT_VERSION_STR # noqa: I101, I102 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1867 | |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1868 | print("PyQt6:", PYQT_VERSION_STR.strip()) |
4889
10cec9d5aa91
Fixed an issue in the install script caused by the new PyQt naming scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4830
diff
changeset
|
1869 | # always assume, that snapshots or dev versions are new enough |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1870 | if "snapshot" not in PYQT_VERSION_STR and "dev" not in PYQT_VERSION_STR: |
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1871 | if PYQT_VERSION < requiredVersions["pyqt6"]: |
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1872 | print( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1873 | "Sorry, you must have PyQt {0} or better or" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1874 | " a recent development release.".format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1875 | versionToStr(requiredVersions["pyqt6"]) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1876 | ) |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1877 | ) |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1878 | exit(4) |
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1879 | # check for blacklisted versions |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1880 | for vers in BlackLists["PyQt6"] + PlatformBlackLists["PyQt6"]: |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1881 | if vers == PYQT_VERSION: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1882 | print( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1883 | "Sorry, PyQt version {0} is not compatible with eric.".format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1884 | versionToStr(vers) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1885 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1886 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1887 | print("Please install another version.") |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1888 | exit(4) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1889 | |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1890 | # check version of QScintilla |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1891 | # =========================== |
10046
35b27af462ef
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10042
diff
changeset
|
1892 | from PyQt6.Qsci import ( # noqa: I101, I102 |
35b27af462ef
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10042
diff
changeset
|
1893 | QSCINTILLA_VERSION, |
35b27af462ef
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10042
diff
changeset
|
1894 | QSCINTILLA_VERSION_STR, |
35b27af462ef
Code Style Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10042
diff
changeset
|
1895 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1896 | |
8386
41a27cbdb5c1
install.py: modified the version display slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8366
diff
changeset
|
1897 | print("PyQt6-QScintilla:", QSCINTILLA_VERSION_STR.strip()) |
4889
10cec9d5aa91
Fixed an issue in the install script caused by the new PyQt naming scheme.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4830
diff
changeset
|
1898 | # always assume, that snapshots or dev versions are new enough |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1899 | if "snapshot" not in QSCINTILLA_VERSION_STR and "dev" not in QSCINTILLA_VERSION_STR: |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1900 | if QSCINTILLA_VERSION < requiredVersions["pyqt6-qscintilla"]: |
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1901 | print( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1902 | "Sorry, you must have PyQt6-QScintilla {0} or higher or" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1903 | " a recent development release.".format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1904 | versionToStr(requiredVersions["pyqt6-qscintilla"]) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1905 | ) |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1906 | ) |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1907 | exit(5) |
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1908 | # check for blacklisted versions |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1909 | for vers in BlackLists["QScintilla2"] + PlatformBlackLists["QScintilla2"]: |
8440
f71f33c0d47a
Streamline the install script a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8430
diff
changeset
|
1910 | if vers == QSCINTILLA_VERSION: |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
1911 | print( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1912 | "Sorry, QScintilla2 version {0} is not compatible with" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1913 | " eric.".format(versionToStr(vers)) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1914 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1915 | print("Please install another version.") |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1916 | exit(5) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1917 | |
7329
72f3c9fdefeb
Added some code to show the version info for PyQtChart and PyQtWebEngine, if this is available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7302
diff
changeset
|
1918 | # print version info for additional modules |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
1919 | with contextlib.suppress(NameError, AttributeError): |
8343
242d5dae2937
Corrected some place to import QtCharts instead of QtChart.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8339
diff
changeset
|
1920 | print("PyQt6-Charts:", QtCharts.PYQT_CHART_VERSION_STR) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1921 | |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
1922 | with contextlib.suppress(ImportError, AttributeError): |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
1923 | from PyQt6 import QtWebEngineCore # noqa: I101, I102 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1924 | |
8553
10d31e5ce9e5
First batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8548
diff
changeset
|
1925 | print("PyQt6-WebEngine:", QtWebEngineCore.PYQT_WEBENGINE_VERSION_STR) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1926 | |
8388
f864abd11a5b
install.py: beautified the output a little bit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8387
diff
changeset
|
1927 | print() |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
1928 | print("All dependencies ok.") |
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
1929 | print() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1930 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
1931 | |
4435
9f6555d3c3c0
Fixed some code style issues and removed code no longer needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4380
diff
changeset
|
1932 | def __pyName(py_dir, py_file): |
9f6555d3c3c0
Fixed some code style issues and removed code no longer needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4380
diff
changeset
|
1933 | """ |
9f6555d3c3c0
Fixed some code style issues and removed code no longer needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4380
diff
changeset
|
1934 | Local function to create the Python source file name for the compiled |
9f6555d3c3c0
Fixed some code style issues and removed code no longer needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4380
diff
changeset
|
1935 | .ui file. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1936 | |
4435
9f6555d3c3c0
Fixed some code style issues and removed code no longer needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4380
diff
changeset
|
1937 | @param py_dir suggested name of the directory (string) |
9f6555d3c3c0
Fixed some code style issues and removed code no longer needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4380
diff
changeset
|
1938 | @param py_file suggested name for the compile source file (string) |
9f6555d3c3c0
Fixed some code style issues and removed code no longer needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4380
diff
changeset
|
1939 | @return tuple of directory name (string) and source file name (string) |
9f6555d3c3c0
Fixed some code style issues and removed code no longer needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4380
diff
changeset
|
1940 | """ |
9f6555d3c3c0
Fixed some code style issues and removed code no longer needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4380
diff
changeset
|
1941 | return py_dir, "Ui_{0}".format(py_file) |
9f6555d3c3c0
Fixed some code style issues and removed code no longer needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4380
diff
changeset
|
1942 | |
9f6555d3c3c0
Fixed some code style issues and removed code no longer needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4380
diff
changeset
|
1943 | |
9986 | 1944 | def __compileOneUi(ui_path, mapFunc=None): |
1945 | """ | |
1946 | Function to compile a single form file to Python code. | |
1947 | ||
1948 | @param ui_path path of the Qt form file | |
1949 | @type str | |
1950 | @param mapFunc function to change directory and/or name of the resulting Python file | |
1951 | (defaults to None) | |
1952 | @type func (optional) | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1953 | """ |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
1954 | from PyQt6.uic import compileUi # noqa: I102 |
9986 | 1955 | |
1956 | py_dir, py_file = os.path.split(ui_path[:-3] + ".py") | |
1957 | ||
1958 | # Allow the caller to change the name of the .py file or generate | |
1959 | # it in a different directory. | |
1960 | if mapFunc is not None: | |
1961 | py_dir, py_file = mapFunc(py_dir, py_file) | |
1962 | ||
1963 | # Make sure the destination directory exists. | |
1964 | os.makedirs(py_dir, exist_ok=True) | |
1965 | ||
1966 | py_path = os.path.join(py_dir, py_file) | |
1967 | ||
1968 | with open(py_path, "w", encoding="utf-8") as py_file: | |
1969 | compileUi(ui_path, py_file, execute=False, indent=4) | |
1970 | ||
1971 | ||
1972 | def compileUiDir(root, recurse=False, mapFunc=None, workers=1): | |
4435
9f6555d3c3c0
Fixed some code style issues and removed code no longer needed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4380
diff
changeset
|
1973 | """ |
9986 | 1974 | Function to compile all Qt form files of a directory or directory tree |
1975 | to Python code. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
1976 | |
9986 | 1977 | @param root directory to scan for Qt form files (i.e. files ending with '.ui' |
1978 | @type str | |
1979 | @param recurse flag indicating to recurse into sub-directories (defaults to False) | |
1980 | @type bool (optional) | |
1981 | @param mapFunc function to change directory and/or name of the resulting Python file | |
1982 | (defaults to None) | |
1983 | @type func (optional) | |
1984 | @param workers number of worker processes to be used to compile (defaults to 1) | |
1985 | @type int (optional) | |
1986 | """ | |
1987 | if recurse: | |
1988 | ui_files = [] | |
1989 | for rootDir, _, files in os.walk(root): | |
1990 | ui_files.extend( | |
1991 | os.path.join(rootDir, ui) for ui in files if ui.endswith(".ui") | |
1992 | ) | |
1993 | else: | |
1994 | ui_files = [ | |
1995 | os.path.join(root, ui) | |
1996 | for ui in os.listdir(root) | |
1997 | if os.path.isfile(os.path.join(root, ui) and ui.endswith(".ui")) | |
1998 | ] | |
1999 | ||
2000 | ProcessPoolExecutor = None | |
2001 | if workers != 1: | |
2002 | try: | |
2003 | from concurrent.futures import ProcessPoolExecutor # __IGNORE_WARNING__ | |
2004 | except NotImplementedError: | |
2005 | workers = 1 | |
2006 | ||
2007 | if workers != 1 and ProcessPoolExecutor is not None: | |
2008 | # If workers == 0, let ProcessPoolExecutor determine worker count. | |
2009 | workers = workers or None | |
2010 | with ProcessPoolExecutor(max_workers=workers) as executor: | |
2011 | executor.map( | |
2012 | partial(__compileOneUi, mapFunc=mapFunc), | |
2013 | ui_files, | |
2014 | ) | |
2015 | else: | |
2016 | for ui_file in ui_files: | |
2017 | __compileOneUi(ui_file, mapFunc=mapFunc) | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2018 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
2019 | |
4238
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2020 | def prepareInfoFile(fileName): |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2021 | """ |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2022 | Function to prepare an Info.py file when installing from source. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2023 | |
4238
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2024 | @param fileName name of the Python file containing the info (string) |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2025 | """ |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2026 | if not fileName: |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2027 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2028 | |
8240
93b8a353c4bf
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8214
diff
changeset
|
2029 | with contextlib.suppress(OSError): |
4307
6a8ec996a49c
Little enhancement of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4239
diff
changeset
|
2030 | os.rename(fileName, fileName + ".orig") |
8522
4f263b89a293
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8501
diff
changeset
|
2031 | localHg = ( |
9420
92810aebc909
Changed the code to use sysconfig.get_path("scripts") wherever possible.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9402
diff
changeset
|
2032 | os.path.join(sysconfig.get_path("scripts"), "hg.exe") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2033 | if sys.platform.startswith(("win", "cygwin")) |
9420
92810aebc909
Changed the code to use sysconfig.get_path("scripts") wherever possible.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9402
diff
changeset
|
2034 | else os.path.join(sysconfig.get_path("scripts"), "hg") |
8522
4f263b89a293
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8501
diff
changeset
|
2035 | ) |
8475
f1f7646e8e24
Updated the install script to use a environment specific mercurial if that is available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8458
diff
changeset
|
2036 | for hg in (localHg, "hg"): |
f1f7646e8e24
Updated the install script to use a environment specific mercurial if that is available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8458
diff
changeset
|
2037 | with contextlib.suppress(OSError, subprocess.CalledProcessError): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2038 | hgOut = subprocess.run( # secok |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2039 | [hg, "identify", "-i"], check=True, capture_output=True, text=True |
8966
c6f67dbc6ee7
Changed calls to subprocess.call() and subprocess.check_output() to use subprocess.run().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8918
diff
changeset
|
2040 | ).stdout |
8475
f1f7646e8e24
Updated the install script to use a environment specific mercurial if that is available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8458
diff
changeset
|
2041 | if hgOut: |
f1f7646e8e24
Updated the install script to use a environment specific mercurial if that is available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8458
diff
changeset
|
2042 | break |
f1f7646e8e24
Updated the install script to use a environment specific mercurial if that is available.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8458
diff
changeset
|
2043 | else: |
4238
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2044 | hgOut = "" |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2045 | if hgOut: |
4239
4883661fc427
Little improvement to the recent install.py change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4238
diff
changeset
|
2046 | hgOut = hgOut.strip() |
4238
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2047 | if hgOut.endswith("+"): |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2048 | hgOut = hgOut[:-1] |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
2049 | with open(fileName + ".orig", "r", encoding="utf-8") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
2050 | text = f.read() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2051 | text = text.replace("@@REVISION@@", hgOut).replace( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2052 | "@@VERSION@@", "rev_" + hgOut |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
2053 | ) |
4238
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2054 | copyToFile(fileName, text) |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2055 | else: |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2056 | shutil.copy(fileName + ".orig", fileName) |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2057 | |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2058 | |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2059 | def getWinregEntry(name, path): |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2060 | """ |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2061 | Function to get an entry from the Windows Registry. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2062 | |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2063 | @param name variable name |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2064 | @type str |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2065 | @param path registry path of the variable |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2066 | @type str |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2067 | @return value of requested registry variable |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2068 | @rtype any |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2069 | """ |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2070 | try: |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
2071 | import winreg # noqa: I101, I103 |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2072 | except ImportError: |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
2073 | return None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2074 | |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2075 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2076 | registryKey = winreg.OpenKey(winreg.HKEY_CURRENT_USER, path, 0, winreg.KEY_READ) |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2077 | value, _ = winreg.QueryValueEx(registryKey, name) |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2078 | winreg.CloseKey(registryKey) |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2079 | return value |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2080 | except WindowsError: |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2081 | return None |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2082 | |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2083 | |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2084 | def createWindowsShortcut(linkPath, targetPath, iconPath): |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2085 | """ |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2086 | Create Windows shortcut. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2087 | |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2088 | @param linkPath path of the shortcut file |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2089 | @type str |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2090 | @param targetPath path the shortcut shall point to |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2091 | @type str |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2092 | @param iconPath path of the icon file |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2093 | @type str |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2094 | """ |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
2095 | from pywintypes import com_error # noqa: I102 |
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
2096 | from win32com.client import Dispatch # noqa: I102 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2097 | |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
2098 | with contextlib.suppress(com_error): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2099 | shell = Dispatch("WScript.Shell") |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2100 | shortcut = shell.CreateShortCut(linkPath) |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2101 | shortcut.Targetpath = targetPath |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2102 | shortcut.WorkingDirectory = os.path.dirname(targetPath) |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2103 | shortcut.IconLocation = iconPath |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2104 | shortcut.save() |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2105 | |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2106 | |
9380
3d662dda80e8
Fixed some issues installing eric7 on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9378
diff
changeset
|
2107 | def windowsDesktopNames(clean=False): |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2108 | """ |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2109 | Function to generate the link names for the Windows Desktop. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2110 | |
9380
3d662dda80e8
Fixed some issues installing eric7 on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9378
diff
changeset
|
2111 | @param clean flag indicating to get the desktop names for a cleanup operation |
3d662dda80e8
Fixed some issues installing eric7 on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9378
diff
changeset
|
2112 | @type bool |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2113 | @return list of desktop link names |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2114 | @rtype list of str |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2115 | """ |
9380
3d662dda80e8
Fixed some issues installing eric7 on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9378
diff
changeset
|
2116 | return [e[0] for e in windowsDesktopEntries(clean=clean)] |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2117 | |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2118 | |
9380
3d662dda80e8
Fixed some issues installing eric7 on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9378
diff
changeset
|
2119 | def windowsDesktopEntries(clean=False): |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2120 | """ |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2121 | Function to generate data for the Windows Desktop links. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2122 | |
9380
3d662dda80e8
Fixed some issues installing eric7 on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9378
diff
changeset
|
2123 | @param clean flag indicating to get the desktop entries for a cleanup operation |
3d662dda80e8
Fixed some issues installing eric7 on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9378
diff
changeset
|
2124 | @type bool |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2125 | @return list of tuples containing the desktop link name, |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2126 | the link target and the icon target |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2127 | @rtype list of tuples of (str, str, str) |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2128 | """ |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
2129 | global cfg |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2130 | |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2131 | majorVersion, minorVersion = sys.version_info[:2] |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2132 | entriesTemplates = [ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2133 | ( |
9377 | 2134 | "eric7 IDE (Python {0}.{1}).lnk", |
2135 | os.path.join(cfg["bindir"], "eric7_ide.cmd"), | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2136 | os.path.join(cfg["ericPixDir"], "eric7.ico"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2137 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2138 | ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2139 | "eric7 Browser (Python {0}.{1}).lnk", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2140 | os.path.join(cfg["bindir"], "eric7_browser.cmd"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2141 | os.path.join(cfg["ericPixDir"], "ericWeb48.ico"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2142 | ), |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2143 | ] |
9402
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2144 | |
9380
3d662dda80e8
Fixed some issues installing eric7 on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9378
diff
changeset
|
2145 | if clean: |
3d662dda80e8
Fixed some issues installing eric7 on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9378
diff
changeset
|
2146 | # clean obsolete entries as well |
9402
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2147 | entriesTemplates.extend( |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2148 | [ |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2149 | ( |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2150 | "eric7 (Python {0}.{1}).lnk", |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2151 | os.path.join(cfg["bindir"], "eric7_ide.cmd"), |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2152 | os.path.join(cfg["ericPixDir"], "eric7.ico"), |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2153 | ), |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2154 | ] |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2155 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2156 | |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2157 | return [ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2158 | (e[0].format(majorVersion, minorVersion), e[1], e[2]) for e in entriesTemplates |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
2159 | ] |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2160 | |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2161 | |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2162 | def windowsProgramsEntry(): |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2163 | """ |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2164 | Function to generate the name of the Start Menu top entry. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2165 | |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2166 | @return name of the Start Menu top entry |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2167 | @rtype str |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2168 | """ |
7203
2079ccbfa335
install, uninstall scripts: re-added the removal of the obsolete eric6_webbrowser stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
2169 | majorVersion, minorVersion = sys.version_info[:2] |
9380
3d662dda80e8
Fixed some issues installing eric7 on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9378
diff
changeset
|
2170 | return "eric7 (Python {0}.{1})".format(majorVersion, minorVersion) |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2171 | |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2172 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2173 | def main(argv): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2174 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2175 | The main function of the script. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2176 | |
6594
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
2177 | @param argv list of command line arguments |
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
2178 | @type list of str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2179 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2180 | # Parse the command line. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2181 | global progName, modDir, doCleanup, doCompile, distDir, cfg, apisDir |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
2182 | global sourceDir, eric7SourceDir, configName |
3507
b09e10d4f343
Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3468
diff
changeset
|
2183 | global macAppBundlePath, macAppBundleName, macPythonExe |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
2184 | global installApis, doCleanDesktopLinks, yes2All |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
2185 | global createInstallInfoFile, installCwd |
9356
803a7a85b071
Changed the install script to only install the qt6-applications package if requested explicitly (--with-tools).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9347
diff
changeset
|
2186 | global withPyqt6Tools |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
2187 | global verbose |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2188 | |
10119
64147a7e6393
Removed support for Python 3.7 because that is EOL.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10118
diff
changeset
|
2189 | if sys.version_info < (3, 8, 0) or sys.version_info > (3, 99, 99): |
64147a7e6393
Removed support for Python 3.7 because that is EOL.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10118
diff
changeset
|
2190 | print("Sorry, eric requires at least Python 3.8 for running.") |
2690
8ca13f15e1f2
Added a check to the install script to guard against an execution with a Python2 interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2634
diff
changeset
|
2191 | exit(5) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2192 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2193 | progName = os.path.basename(argv[0]) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2194 | |
7813
5d0dbec7b815
Main Window: added code to update the saved install information after an update.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7812
diff
changeset
|
2195 | installCwd = os.getcwd() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2196 | |
1662
dadf3f4ee800
Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1658
diff
changeset
|
2197 | if os.path.dirname(argv[0]): |
1965
96f5a76e1845
Fixed some PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1914
diff
changeset
|
2198 | os.chdir(os.path.dirname(argv[0])) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2199 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2200 | initGlobals() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2201 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2202 | try: |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
2203 | if sys.platform.startswith(("win", "cygwin")): |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
2204 | optlist, args = getopt.getopt( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2205 | argv[1:], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2206 | "chvxza:b:d:f:", |
9402
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2207 | [ |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2208 | "clean-desktop", |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2209 | "help", |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2210 | "no-apis", |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2211 | "no-info", |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2212 | "verbose", |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2213 | "with-tools", |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2214 | "yes", |
f5d9aa5c62db
Reformatted the code with the black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9401
diff
changeset
|
2215 | ], |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2216 | ) |
2306
0f020f39977b
Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2275
diff
changeset
|
2217 | elif sys.platform == "darwin": |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
2218 | optlist, args = getopt.getopt( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2219 | argv[1:], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2220 | "chvxza:b:d:f:i:m:n:p:", |
9378
ac7786c2109f
Corrected command line parsing of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9377
diff
changeset
|
2221 | ["help", "no-apis", "no-info", "with-tools", "verbose", "yes"], |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2222 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2223 | else: |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
2224 | optlist, args = getopt.getopt( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2225 | argv[1:], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2226 | "chvxza:b:d:f:i:", |
9378
ac7786c2109f
Corrected command line parsing of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9377
diff
changeset
|
2227 | ["help", "no-apis", "no-info", "with-tools", "verbose", "yes"], |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2228 | ) |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
2229 | except getopt.GetoptError as err: |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
2230 | print(err) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2231 | usage() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2232 | |
2586
d6daabefb7a6
Reverted some of the install.py changes for Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2583
diff
changeset
|
2233 | global platBinDir |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2234 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2235 | depChecks = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2236 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2237 | for opt, arg in optlist: |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
2238 | if opt in ["-h", "--help"]: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2239 | usage(0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2240 | elif opt == "-a": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2241 | apisDir = arg |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2242 | elif opt == "-b": |
2586
d6daabefb7a6
Reverted some of the install.py changes for Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2583
diff
changeset
|
2243 | platBinDir = arg |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2244 | elif opt == "-d": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2245 | modDir = arg |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2246 | elif opt == "-i": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2247 | distDir = os.path.normpath(arg) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2248 | elif opt == "-x": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2249 | depChecks = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2250 | elif opt == "-c": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2251 | doCleanup = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2252 | elif opt == "-z": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2253 | doCompile = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2254 | elif opt == "-f": |
8214
51f0d3e047ec
install script: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
2255 | with open(arg) as f: |
51f0d3e047ec
install script: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
2256 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2257 | exec(compile(f.read(), arg, "exec"), globals()) |
8214
51f0d3e047ec
install script: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
2258 | # secok |
51f0d3e047ec
install script: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
2259 | if len(cfg) != configLength: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2260 | print( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2261 | "The configuration dictionary in '{0}' is" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2262 | " incorrect. Aborting".format(arg) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2263 | ) |
8214
51f0d3e047ec
install script: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
2264 | exit(6) |
9679
22314ef6d754
Changed the install script to output a descriptive message when an invalid configuration file is given using the -f option.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
2265 | except Exception as exc: |
22314ef6d754
Changed the install script to output a descriptive message when an invalid configuration file is given using the -f option.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
2266 | print( |
22314ef6d754
Changed the install script to output a descriptive message when an invalid configuration file is given using the -f option.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
2267 | "The configuration file '{0}' is not valid Python source." |
22314ef6d754
Changed the install script to output a descriptive message when an invalid configuration file is given using the -f option.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
2268 | " It will be ignored. Installation will be performed with" |
22314ef6d754
Changed the install script to output a descriptive message when an invalid configuration file is given using the -f option.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
2269 | " defaults.".format(arg) |
22314ef6d754
Changed the install script to output a descriptive message when an invalid configuration file is given using the -f option.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
2270 | ) |
22314ef6d754
Changed the install script to output a descriptive message when an invalid configuration file is given using the -f option.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
2271 | print("ERROR: {0}".format(str(exc))) |
8214
51f0d3e047ec
install script: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
2272 | cfg = {} |
2306
0f020f39977b
Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2275
diff
changeset
|
2273 | elif opt == "-m": |
0f020f39977b
Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2275
diff
changeset
|
2274 | macAppBundleName = arg |
3507
b09e10d4f343
Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3468
diff
changeset
|
2275 | elif opt == "-n": |
b09e10d4f343
Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3468
diff
changeset
|
2276 | macAppBundlePath = arg |
2306
0f020f39977b
Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2275
diff
changeset
|
2277 | elif opt == "-p": |
0f020f39977b
Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2275
diff
changeset
|
2278 | macPythonExe = arg |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
2279 | elif opt == "--no-apis": |
3943
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
2280 | installApis = False |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
2281 | elif opt == "--clean-desktop": |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
2282 | doCleanDesktopLinks = True |
7333 | 2283 | elif opt == "--yes": |
2284 | yes2All = True | |
9356
803a7a85b071
Changed the install script to only install the qt6-applications package if requested explicitly (--with-tools).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9347
diff
changeset
|
2285 | elif opt == "--with-tools": |
803a7a85b071
Changed the install script to only install the qt6-applications package if requested explicitly (--with-tools).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9347
diff
changeset
|
2286 | withPyqt6Tools = True |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
2287 | elif opt == "--no-info": |
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
2288 | createInstallInfoFile = False |
8656
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
2289 | elif opt in ["-v", "--verbose"]: |
8fbaa183c41e
Added the --verbose (-v) option to the install script to show a bit more output.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8654
diff
changeset
|
2290 | verbose = True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2291 | |
4238
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2292 | infoName = "" |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
2293 | installFromSource = not os.path.isdir(sourceDir) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2294 | |
6641
42de1c3e8777
install: moved the dependencies check earlier in the installiation order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6640
diff
changeset
|
2295 | # check dependencies |
42de1c3e8777
install: moved the dependencies check earlier in the installiation order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6640
diff
changeset
|
2296 | if depChecks: |
42de1c3e8777
install: moved the dependencies check earlier in the installiation order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6640
diff
changeset
|
2297 | doDependancyChecks() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2298 | |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
2299 | if installFromSource: |
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
2300 | sourceDir = os.path.abspath("..") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2301 | |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
2302 | eric7SourceDir = ( |
9231
d92a18dffa5e
Slight modificytion to the install script to handle cleanup a bit better.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
2303 | os.path.join(sourceDir, "src", "eric7") |
d92a18dffa5e
Slight modificytion to the install script to handle cleanup a bit better.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
2304 | if os.path.exists(os.path.join(sourceDir, "src", "eric7")) |
d92a18dffa5e
Slight modificytion to the install script to handle cleanup a bit better.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
2305 | else os.path.join(sourceDir, "eric7") |
9209
b99e7fd55fd3
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9175
diff
changeset
|
2306 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2307 | |
6638
df711aa509d3
install: moved the source cleanup routine to avoid deleting saved Info.py and eric6config.py files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6637
diff
changeset
|
2308 | # cleanup source if installing from source |
df711aa509d3
install: moved the source cleanup routine to avoid deleting saved Info.py and eric6config.py files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6637
diff
changeset
|
2309 | if installFromSource: |
9694
90a7081e2837
Updated the various scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
2310 | print("Cleaning up source ...", end="", flush=True) |
9231
d92a18dffa5e
Slight modificytion to the install script to handle cleanup a bit better.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
2311 | cleanupSource(sourceDir) |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
2312 | print(" Done") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2313 | |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
2314 | configName = os.path.join(eric7SourceDir, "eric7config.py") |
4238
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2315 | if os.path.exists(os.path.join(sourceDir, ".hg")): |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2316 | # we are installing from source with repo |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
2317 | infoName = os.path.join(eric7SourceDir, "UI", "Info.py") |
4238
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2318 | prepareInfoFile(infoName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2319 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2320 | if len(cfg) == 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2321 | createInstallConfig() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2322 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2323 | # get rid of development config file, if it exists |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
2324 | with contextlib.suppress(OSError): |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
2325 | if installFromSource: |
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
2326 | os.rename(configName, configName + ".orig") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2327 | configNameC = configName + "c" |
626
41e79c291eff
Fixed another bug in the modified install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
625
diff
changeset
|
2328 | if os.path.exists(configNameC): |
41e79c291eff
Fixed another bug in the modified install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
625
diff
changeset
|
2329 | os.remove(configNameC) |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
2330 | os.remove(configName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2331 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2332 | # cleanup old installation |
9694
90a7081e2837
Updated the various scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
2333 | print("Cleaning up old installation ...", end="", flush=True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2334 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2335 | if doCleanup: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2336 | if distDir: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2337 | shutil.rmtree(distDir, True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2338 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2339 | cleanUp() |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
2340 | except OSError as msg: |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
2341 | sys.stderr.write("\nError: {0}\nTry install as root.\n".format(msg)) |
2421
d3bf4def72d7
Correct the last change.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents:
2420
diff
changeset
|
2342 | exit(7) |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
2343 | print(" Done") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2344 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2345 | # Create a config file and delete the default one |
9694
90a7081e2837
Updated the various scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
2346 | print("Creating configuration file ...", end="", flush=True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2347 | createConfig() |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
2348 | print(" Done") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2349 | |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
2350 | # Create an install info file |
9694
90a7081e2837
Updated the various scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
2351 | print("Creating an install info file ...", end="", flush=True) |
7804
1cbc27e34ec6
Implementing code to record and/or guess some information about the installation process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7799
diff
changeset
|
2352 | createInstallInfo() |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
2353 | print(" Done") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2354 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2355 | # Compile .ui files |
9694
90a7081e2837
Updated the various scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
2356 | print("Compiling user interface files ...", end="", flush=True) |
2480
30477cebf808
Changed the install script to remove any Ui_*.py file that might exist before recreating them.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2428
diff
changeset
|
2357 | # step 1: remove old Ui_*.py files |
30477cebf808
Changed the install script to remove any Ui_*.py file that might exist before recreating them.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2428
diff
changeset
|
2358 | for root, _, files in os.walk(sourceDir): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2359 | for file in [f for f in files if fnmatch.fnmatch(f, "Ui_*.py")]: |
2480
30477cebf808
Changed the install script to remove any Ui_*.py file that might exist before recreating them.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2428
diff
changeset
|
2360 | os.remove(os.path.join(root, file)) |
30477cebf808
Changed the install script to remove any Ui_*.py file that might exist before recreating them.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2428
diff
changeset
|
2361 | # step 2: compile the forms |
9986 | 2362 | compileUiDir(eric7SourceDir, recurse=True, mapFunc=__pyName, workers=0) |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
2363 | print(" Done") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2364 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2365 | if doCompile: |
9694
90a7081e2837
Updated the various scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
2366 | print("Compiling source files ...", end="", flush=True) |
5180
9eba139a2756
Changed RegEx to be independent from Python version.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5145
diff
changeset
|
2367 | skipRe = re.compile(r"DebugClients[\\/]Python[\\/]") |
2680
110ac646a3a0
Fixes for TabNanny and some code cleanup. Source doku regenerated.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2677
diff
changeset
|
2368 | sys.stdout = io.StringIO() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2369 | if distDir: |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
2370 | compileall.compile_dir( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
2371 | eric7SourceDir, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2372 | ddir=os.path.join(distDir, modDir, cfg["ericDir"]), |
5055
7db1b9496e52
Some enhancements to the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4915
diff
changeset
|
2373 | rx=skipRe, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2374 | quiet=True, |
9732
3985549d7d36
Changed the install script to do parallel source code compilation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9727
diff
changeset
|
2375 | workers=0, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2376 | ) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
2377 | py_compile.compile( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2378 | configName, dfile=os.path.join(distDir, modDir, "eric7config.py") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2379 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2380 | else: |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
2381 | compileall.compile_dir( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
2382 | eric7SourceDir, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2383 | ddir=os.path.join(modDir, cfg["ericDir"]), |
5055
7db1b9496e52
Some enhancements to the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4915
diff
changeset
|
2384 | rx=skipRe, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2385 | quiet=True, |
9732
3985549d7d36
Changed the install script to do parallel source code compilation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9727
diff
changeset
|
2386 | workers=0, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2387 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2388 | py_compile.compile(configName, dfile=os.path.join(modDir, "eric7config.py")) |
2680
110ac646a3a0
Fixes for TabNanny and some code cleanup. Source doku regenerated.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2677
diff
changeset
|
2389 | sys.stdout = sys.__stdout__ |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
2390 | print(" Done") |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
2391 | |
9694
90a7081e2837
Updated the various scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
2392 | print("Installing eric ...", end="", flush=True) |
2383
e999256385bd
Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents:
2312
diff
changeset
|
2393 | res = installEric() |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9680
diff
changeset
|
2394 | print(" Done") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2395 | |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
2396 | if createInstallInfoFile: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2397 | with open( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2398 | os.path.join(cfg["ericDir"], installInfoName), "w" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2399 | ) as installInfoFile: |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
2400 | json.dump(installInfo, installInfoFile, indent=2) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2401 | |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
2402 | # do some cleanup |
8240
93b8a353c4bf
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8214
diff
changeset
|
2403 | with contextlib.suppress(OSError): |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
2404 | if installFromSource: |
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
2405 | os.remove(configName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2406 | configNameC = configName + "c" |
626
41e79c291eff
Fixed another bug in the modified install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
625
diff
changeset
|
2407 | if os.path.exists(configNameC): |
41e79c291eff
Fixed another bug in the modified install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
625
diff
changeset
|
2408 | os.remove(configNameC) |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
2409 | os.rename(configName + ".orig", configName) |
8240
93b8a353c4bf
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8214
diff
changeset
|
2410 | with contextlib.suppress(OSError): |
4238
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2411 | if installFromSource and infoName: |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2412 | os.remove(infoName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2413 | infoNameC = infoName + "c" |
4238
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2414 | if os.path.exists(infoNameC): |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2415 | os.remove(infoNameC) |
53bd830433dc
Changed the install script to include the Mercurial revision number when install from the sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4178
diff
changeset
|
2416 | os.rename(infoName + ".orig", infoName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2417 | |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
2418 | print("\nInstallation complete.") |
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
2419 | print() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2420 | |
2383
e999256385bd
Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents:
2312
diff
changeset
|
2421 | exit(res) |
8988
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
2422 | |
ffa38e0415df
Added a script to install all of eric's dependencies.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
2423 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2424 | if __name__ == "__main__": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2425 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2426 | main(sys.argv) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2427 | except SystemExit: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2428 | raise |
4563
881340f4bd0c
Fixed a few coding style issue related to 'blind except:' statements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4561
diff
changeset
|
2429 | except Exception: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2430 | print( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2431 | """An internal error occured. Please report all the output""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2432 | """ of the program,\nincluding the following traceback, to""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2433 | """ eric-bugs@eric-ide.python-projects.org.\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9218
diff
changeset
|
2434 | ) |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
2435 | raise |
4566
a2e8f3c420ec
Dealt with the M801 code style checker messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
2436 | |
a2e8f3c420ec
Dealt with the M801 code style checker messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
2437 | # |
10042
ca636e8d80fd
Applied the new "noqa:" to the install.py script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9986
diff
changeset
|
2438 | # eflag: noqa = M801 |