Fri, 14 Jun 2024 10:57:32 +0200
Added scripts to install or uninstall the eric-ide server from sources.
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | #!/usr/bin/env python3 |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | # -*- coding: utf-8 -*- |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | |
10439
21c28b0f9e41
Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10420
diff
changeset
|
4 | # Copyright (c) 2016 - 2024 Detlev Offenbach <detlev@die-offenbachs.de> |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
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 the eric debug client. It may be used |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | # to just install the debug clients for remote debugging. |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | # |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | """ |
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
|
11 | Installation script for the eric debug clients. |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | """ |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
10300
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
14 | import argparse |
8501
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
15 | import compileall |
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
16 | import contextlib |
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
17 | import fnmatch |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
18 | import importlib |
7639
422fd05e9c91
Removed some more Python2 related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7637
diff
changeset
|
19 | import io |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
20 | import json |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | import os |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | import re |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | import shutil |
10170
6cf1ee737d8f
Corrected some more code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10119
diff
changeset
|
24 | import subprocess # secok |
8501
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
25 | import sys |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9328
diff
changeset
|
26 | import sysconfig |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | # Define the globals. |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | currDir = os.getcwd() |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | modDir = None |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | pyModDir = None |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | distDir = None |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
33 | installPackage = "eric7" |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | doCleanup = True |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | doCompile = True |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | 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:
8918
diff
changeset
|
37 | eric7SourceDir = "" |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | def exit(rcode=0): |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | """ |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | Exit the install script. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
43 | |
10420
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
44 | @param rcode result code to report back |
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
45 | @type int |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | """ |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | global currDir |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
48 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | if sys.platform.startswith("win"): |
9328
49a0a9cb2505
Fixed some code style issues detected by the new checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
50 | with contextlib.suppress(EOFError): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
51 | input("Press enter to continue...") # secok |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
52 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | os.chdir(currDir) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
54 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | sys.exit(rcode) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | def initGlobals(): |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | """ |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | Module function to set the values of globals that need more than a |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | simple assignment. |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | """ |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | global modDir, pyModDir |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
64 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
65 | 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:
9694
diff
changeset
|
66 | 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:
9694
diff
changeset
|
67 | # 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:
9694
diff
changeset
|
68 | 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:
9694
diff
changeset
|
69 | 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:
9694
diff
changeset
|
70 | 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:
9694
diff
changeset
|
71 | 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:
9694
diff
changeset
|
72 | 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:
9694
diff
changeset
|
73 | 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:
9694
diff
changeset
|
74 | modDir = sysconfig.get_path("platlib", scheme) |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | pyModDir = modDir |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | |
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:
5597
diff
changeset
|
78 | def copyTree(src, dst, filters, excludeDirs=None, excludePatterns=None): |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | """ |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | Copy files of a directory tree. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
81 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | @param src name of the source directory |
10420
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
83 | @type str |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | @param dst name of the destination directory |
10420
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
85 | @type str |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | @param filters list of filter pattern determining the files to be copied |
10420
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
87 | @type list of str |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | @param excludeDirs list of (sub)directories to exclude from copying |
10420
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
89 | @type list of str |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7894
diff
changeset
|
90 | @param excludePatterns list of filter pattern determining the files to |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | be skipped |
10420
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
92 | @type str |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | """ |
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:
5597
diff
changeset
|
94 | 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:
5597
diff
changeset
|
95 | 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:
5597
diff
changeset
|
96 | 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:
5597
diff
changeset
|
97 | excludePatterns = [] |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | try: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | names = os.listdir(src) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | except OSError: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | # ignore missing directories |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
103 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | for name in names: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | skipIt = False |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | for excludePattern in excludePatterns: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | if fnmatch.fnmatch(name, excludePattern): |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | skipIt = True |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | break |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | if not skipIt: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | srcname = os.path.join(src, name) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | 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:
5389
diff
changeset
|
113 | for fileFilter in filters: |
3d88d53f8c2b
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
114 | if fnmatch.fnmatch(srcname, fileFilter): |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | if not os.path.isdir(dst): |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | os.makedirs(dst) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | shutil.copy2(srcname, dstname) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | os.chmod(dstname, 0o644) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | break |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | else: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | 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:
9209
diff
changeset
|
122 | copyTree(srcname, dstname, filters, excludePatterns=excludePatterns) |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | def cleanupSource(dirName): |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | """ |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | Cleanup the sources directory to get rid of leftover files |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | and directories. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
129 | |
10420
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
130 | @param dirName name of the directory to prune |
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
131 | @type str |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | """ |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | # step 1: delete the __pycache__ directory and all *.pyc files |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | if os.path.exists(os.path.join(dirName, "__pycache__")): |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | shutil.rmtree(os.path.join(dirName, "__pycache__")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
136 | for name in [f for f in os.listdir(dirName) if fnmatch.fnmatch(f, "*.pyc")]: |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | os.remove(os.path.join(dirName, name)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
138 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | # step 2: descent into subdirectories and delete them if empty |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | for name in os.listdir(dirName): |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | name = os.path.join(dirName, name) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | if os.path.isdir(name): |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | cleanupSource(name) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | if len(os.listdir(name)) == 0: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | os.rmdir(name) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | def cleanUp(): |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | """ |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | Uninstall the old eric debug client files. |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | """ |
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:
8918
diff
changeset
|
152 | global pyModDir, installPackage |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
153 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | try: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | # Cleanup the install directories |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | dirname = os.path.join(pyModDir, installPackage) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | if os.path.exists(dirname): |
10403
ea3320d5e8e9
Changed code using "shutil.rmtree()" more readable by adding "ignore_errors=" where this parameter is non-default.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10300
diff
changeset
|
158 | shutil.rmtree(dirname, ignore_errors=True) |
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:
7639
diff
changeset
|
159 | except OSError as msg: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
160 | sys.stderr.write("Error: {0}\nTry install with admin rights.\n".format(msg)) |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | exit(7) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | def shutilCopy(src, dst, perm=0o644): |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | """ |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | 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:
9209
diff
changeset
|
167 | |
10420
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
168 | @param src source file name |
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
169 | @type str |
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
170 | @param dst destination file name or directory name |
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
171 | @type str |
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
172 | @param perm permissions to be set |
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
173 | @type int |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | """ |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | shutil.copy(src, dst) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | if os.path.isdir(dst): |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | dst = os.path.join(dst, os.path.basename(src)) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | os.chmod(dst, perm) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | def installEricDebugClients(): |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | """ |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | Actually perform the installation steps. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
184 | |
10420
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
185 | @return result code |
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
186 | @rtype int |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | """ |
10781
0e3d6e22efaf
Added scripts to install or uninstall the eric-ide server from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
188 | global distDir, sourceDir, modDir |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
189 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | # set install prefix, if not None |
8260
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
191 | targetDir = ( |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
192 | os.path.normpath(os.path.join(distDir, installPackage)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
193 | if distDir |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
194 | else os.path.join(modDir, installPackage) |
8260
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
195 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
196 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | try: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | # Install the files |
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
|
199 | # copy the various parts of eric debug clients |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | 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:
8918
diff
changeset
|
201 | os.path.join(eric7SourceDir, "DebugClients"), |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
202 | os.path.join(targetDir, "DebugClients"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
203 | ["*.py", "*.pyc", "*.pyo", "*.pyw"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
204 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
205 | |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
206 | # copy the top level package file |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
207 | shutilCopy(os.path.join(eric7SourceDir, "__init__.py"), targetDir) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
208 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
209 | # 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
|
210 | shutilCopy(os.path.join(sourceDir, "docs", "LICENSE.txt"), targetDir) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
211 | |
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:
7639
diff
changeset
|
212 | except OSError as msg: |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
213 | sys.stderr.write("\nError: {0}\nTry install with admin rights.\n".format(msg)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
214 | return 7 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
215 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | return 0 |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
217 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
218 | |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
219 | def pipInstall(packageName, message, force=True): |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
220 | """ |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
221 | Install the given package via pip. |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
222 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
223 | @param packageName name of the package to be installed |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
224 | @type str |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
225 | @param message message to be shown to the user |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
226 | @type str |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
227 | @param force flag indicating to perform the installation |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
228 | without asking the user |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
229 | @type bool |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
230 | @return flag indicating a successful installation |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
231 | @rtype bool |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
232 | """ |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
233 | ok = False |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
234 | if force: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
235 | answer = "y" |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
236 | else: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
237 | print( |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
238 | "{0}\nShall '{1}' be installed using pip? (Y/n)".format( |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
239 | message, packageName |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
240 | ), |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
241 | end=" ", |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
242 | ) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
243 | answer = input() # secok |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
244 | if answer in ("", "Y", "y"): |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
245 | exitCode = subprocess.run( # secok |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
246 | [ |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
247 | sys.executable, |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
248 | "-m", |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
249 | "pip", |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
250 | "install", |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
251 | "--prefer-binary", |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
252 | "--upgrade", |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
253 | packageName, |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
254 | ] |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
255 | ).returncode |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
256 | ok = exitCode == 0 |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
257 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
258 | return ok |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
259 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
260 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
261 | def isPipOutdated(): |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
262 | """ |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
263 | Check, if pip is outdated. |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
264 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
265 | @return flag indicating an outdated pip |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
266 | @rtype bool |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
267 | """ |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
268 | try: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
269 | pipOut = ( |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
270 | subprocess.run( # secok |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
271 | [sys.executable, "-m", "pip", "list", "--outdated", "--format=json"], |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
272 | check=True, |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
273 | capture_output=True, |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
274 | text=True, |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
275 | ) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
276 | .stdout.strip() |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
277 | .splitlines()[0] |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
278 | ) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
279 | # only the first line contains the JSON data |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
280 | except (OSError, subprocess.CalledProcessError): |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
281 | pipOut = "[]" # default empty list |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
282 | try: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
283 | jsonList = json.loads(pipOut) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
284 | except Exception: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
285 | jsonList = [] |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
286 | for package in jsonList: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
287 | if isinstance(package, dict) and package["name"] == "pip": |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
288 | print( |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
289 | "'pip' is outdated (installed {0}, available {1})".format( |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
290 | package["version"], package["latest_version"] |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
291 | ) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
292 | ) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
293 | return True |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
294 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
295 | return False |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
296 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
297 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
298 | def updatePip(): |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
299 | """ |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
300 | Update the installed pip package. |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
301 | """ |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
302 | global yes2All |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
303 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
304 | if yes2All: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
305 | answer = "y" |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
306 | else: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
307 | print("Shall 'pip' be updated (recommended)? (Y/n)", end=" ") |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
308 | answer = input() # secok |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
309 | if answer in ("", "Y", "y"): |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
310 | subprocess.run( # secok |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
311 | [sys.executable, "-m", "pip", "install", "--upgrade", "pip"] |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
312 | ) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
313 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
314 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
315 | def doDependancyChecks(): |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
316 | """ |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
317 | Perform some dependency checks. |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
318 | """ |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
319 | try: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
320 | isSudo = os.getuid() == 0 and sys.platform != "darwin" |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
321 | # disregard sudo installs on macOS |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
322 | except AttributeError: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
323 | isSudo = False |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
324 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
325 | print("Checking dependencies") |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
326 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
327 | # update pip first even if we don't need to install anything |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
328 | if not isSudo and isPipOutdated(): |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
329 | updatePip() |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
330 | print("\n") |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
331 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
332 | # perform dependency checks |
10300
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
333 | if sys.version_info < (3, 8, 0) or sys.version_info >= (3, 13, 0): |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
334 | print("Sorry, you must have Python 3.8.0 or higher, but less 3.13.0.") |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
335 | print("Yours is {0}.".format(".".join(str(v) for v in sys.version_info[:3]))) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
336 | exit(5) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
337 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
338 | requiredModulesList = { |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
339 | # key is pip project name |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
340 | # value is tuple of package name, pip install constraint |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
341 | "coverage": ("coverage", ">=6.5.0"), |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
342 | } |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
343 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
344 | # check required modules |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
345 | print("Required Packages") |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
346 | print("-----------------") |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
347 | requiredMissing = False |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
348 | for requiredPackage in sorted(requiredModulesList): |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
349 | try: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
350 | importlib.import_module(requiredModulesList[requiredPackage][0]) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
351 | print("Found", requiredPackage) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
352 | except ImportError as err: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
353 | if isSudo: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
354 | print("Required '{0}' could not be detected.".format(requiredPackage)) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
355 | requiredMissing = True |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
356 | else: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
357 | pipInstall( |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
358 | requiredPackage + requiredModulesList[requiredPackage][1], |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
359 | "Required '{0}' could not be detected.{1}".format( |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
360 | requiredPackage, "\nError: {0}".format(err) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
361 | ), |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
362 | force=True, |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
363 | ) |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
364 | if requiredMissing: |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
365 | print("Some required packages are missing and could not be installed.") |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
366 | print("Install them manually.") |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
367 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
368 | print() |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
369 | print("All dependencies ok.") |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
370 | print() |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
371 | |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
372 | |
10300
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
373 | def createArgumentParser(): |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
374 | """ |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
375 | Function to create an argument parser. |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
376 | |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
377 | @return created argument parser object |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
378 | @rtype argparse.ArgumentParser |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
379 | """ |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
380 | parser = argparse.ArgumentParser( |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
381 | description="Install eric7 debug clients from the source code tree." |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
382 | ) |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
383 | |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
384 | parser.add_argument( |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
385 | "-d", |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
386 | metavar="dir", |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
387 | default=modDir, |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
388 | help="directory where eric debug client files will be installed" |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
389 | " (default: {0})".format(modDir), |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
390 | ) |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
391 | if not sys.platform.startswith(("win", "cygwin")): |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
392 | parser.add_argument( |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
393 | "-i", |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
394 | metavar="dir", |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
395 | default=distDir, |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
396 | help="temporary install prefix (default: {0})".format(distDir), |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
397 | ) |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
398 | parser.add_argument( |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
399 | "-c", |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
400 | action="store_false", |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
401 | help="don't cleanup old installation first", |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
402 | ) |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
403 | parser.add_argument( |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
404 | "-z", |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
405 | action="store_false", |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
406 | help="don't compile the installed python files", |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
407 | ) |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
408 | |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
409 | return parser |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
410 | |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
411 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | def main(argv): |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | """ |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | The main function of the script. |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | |
10420
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
416 | @param argv the list of command line arguments |
5ac83a87954d
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10403
diff
changeset
|
417 | @type list of str |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | """ |
10300
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
419 | global modDir, doCleanup, doCompile, distDir |
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:
8918
diff
changeset
|
420 | global sourceDir, eric7SourceDir |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
421 | |
10119
64147a7e6393
Removed support for Python 3.7 because that is EOL.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10091
diff
changeset
|
422 | if sys.version_info < (3, 8, 0) or sys.version_info >= (4, 0, 0): |
64147a7e6393
Removed support for Python 3.7 because that is EOL.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10091
diff
changeset
|
423 | print("Sorry, the eric debugger requires Python 3.8 or better for running.") |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | exit(5) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
425 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
426 | if os.path.dirname(argv[0]): |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | os.chdir(os.path.dirname(argv[0])) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
428 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | initGlobals() |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | |
10300
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
431 | parser = createArgumentParser() |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
432 | args = parser.parse_args() |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | |
10300
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
434 | modDir = args.d |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
435 | doCleanup = args.c |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
436 | doCompile = args.z |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
437 | if not sys.platform.startswith(("win", "cygwin")) and args.i: |
60e8f2175b3b
Changed the install and uninstall scripts to use 'argparse' instead of 'getopt'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10170
diff
changeset
|
438 | distDir = os.path.normpath(args.i) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
439 | |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
440 | # check dependencies |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
441 | doDependancyChecks() |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
442 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | installFromSource = not os.path.isdir(sourceDir) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | if installFromSource: |
6959
dfb8a57de154
install-debugclients: fixed an issue causing cleanup to fail.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
445 | sourceDir = os.path.abspath("..") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
446 | |
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:
8918
diff
changeset
|
447 | eric7SourceDir = ( |
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:
8918
diff
changeset
|
448 | os.path.join(sourceDir, "eric7") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
449 | if os.path.exists(os.path.join(sourceDir, "eric7")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
450 | else os.path.join(sourceDir, "src", "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:
8918
diff
changeset
|
451 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
452 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
453 | # cleanup source if installing from source |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
454 | if installFromSource: |
9694
90a7081e2837
Updated the various scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
455 | print("Cleaning up source ...", end="", flush=True) |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8260
diff
changeset
|
456 | cleanupSource(os.path.join(eric7SourceDir, "DebugClients")) |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
457 | print(" Done") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
458 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | # cleanup old installation |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | try: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | if doCleanup: |
9694
90a7081e2837
Updated the various scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
462 | print("Cleaning up old installation ...", end="", flush=True) |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | if distDir: |
10403
ea3320d5e8e9
Changed code using "shutil.rmtree()" more readable by adding "ignore_errors=" where this parameter is non-default.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10300
diff
changeset
|
464 | shutil.rmtree(distDir, ignore_errors=True) |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
465 | else: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | cleanUp() |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
467 | print(" Done") |
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:
7639
diff
changeset
|
468 | except OSError as msg: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
469 | sys.stderr.write("Error: {0}\nTry install as root.\n".format(msg)) |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
470 | exit(7) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
471 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
472 | if doCompile: |
9694
90a7081e2837
Updated the various scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
473 | print("Compiling source files ...", end="", flush=True) |
5179
5f56410e7624
Combined version of the Python debugger.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5145
diff
changeset
|
474 | skipRe = re.compile(r"DebugClients[\\/]Python[\\/]") |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
475 | sys.stdout = io.StringIO() |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | if distDir: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
477 | compileall.compile_dir( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8260
diff
changeset
|
478 | os.path.join(eric7SourceDir, "DebugClients"), |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
479 | ddir=os.path.join(distDir, modDir, installPackage), |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
480 | rx=skipRe, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
481 | quiet=True, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
482 | ) |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
483 | else: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
484 | compileall.compile_dir( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8260
diff
changeset
|
485 | os.path.join(eric7SourceDir, "DebugClients"), |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
486 | ddir=os.path.join(modDir, installPackage), |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
487 | rx=skipRe, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
488 | quiet=True, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
489 | ) |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
490 | sys.stdout = sys.__stdout__ |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
491 | print(" Done") |
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
492 | |
9694
90a7081e2837
Updated the various scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
493 | print("Installing eric debug clients ...", end="", flush=True) |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
494 | res = installEricDebugClients() |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
495 | print(" Done") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
496 | |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9674
diff
changeset
|
497 | print("Installation complete.") |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
498 | print() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
499 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
500 | exit(res) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
501 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
502 | |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
503 | if __name__ == "__main__": |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
504 | try: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
505 | main(sys.argv) |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | except SystemExit: |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
507 | raise |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | except Exception: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
509 | print( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
510 | """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:
9209
diff
changeset
|
511 | """ of the program,\nincluding the following traceback, to""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
512 | """ eric-bugs@eric-ide.python-projects.org.\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
513 | ) |
5053
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | raise |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | # |
dac4920b55ad
Added scripts to just install the eric6 debug clients in an eric6DebugClients package
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
517 | # eflag: noqa = M801 |