1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (c) 2016 - 2023 Detlev Offenbach <detlev@die-offenbachs.de>
#
# This is the uninstall script for the eric debug client.
#
"""
Unnstallation script for the eric debug clients.
"""
import contextlib
import getopt
import os
import shutil
import sys
import sysconfig
# Define the globals.
progName = None
currDir = os.getcwd()
modDir = None
pyModDir = None
installPackage = "eric7"
def exit(rcode=0):
"""
Exit the install script.
@param rcode result code to report back (integer)
"""
global currDir
if sys.platform.startswith("win"):
with contextlib.suppress(EOFError):
input("Press enter to continue...") # secok
os.chdir(currDir)
sys.exit(rcode)
def usage(rcode=2):
"""
Display a usage message and exit.
@param rcode return code passed back to the calling process (integer)
"""
global progName
print("Usage:")
print(" {0} [-h]".format(progName))
print("where:")
print(" -h display this help message")
exit(rcode)
def initGlobals():
"""
Module function to set the values of globals that need more than a
simple assignment.
"""
global modDir, pyModDir
modDir = sysconfig.get_path("platlib")
pyModDir = modDir
def uninstallEricDebugClients():
"""
Uninstall the old eric debug client files.
"""
global pyModDir
try:
# Cleanup the install directories
dirname = os.path.join(pyModDir, installPackage)
if os.path.exists(dirname):
shutil.rmtree(dirname, True)
except OSError as msg:
sys.stderr.write("Error: {0}\nTry uninstall with admin rights.\n".format(msg))
exit(7)
def main(argv):
"""
The main function of the script.
@param argv the list of command line arguments.
"""
initGlobals()
# Parse the command line.
global progName
progName = os.path.basename(argv[0])
try:
optlist, args = getopt.getopt(argv[1:], "hy")
except getopt.GetoptError:
usage()
for opt, _arg in optlist:
if opt in ["-h", "--help"]:
usage(0)
print("\nUninstalling eric debug clients ...")
uninstallEricDebugClients()
print("\nUninstallation complete.")
print()
exit(0)
if __name__ == "__main__":
try:
main(sys.argv)
except SystemExit:
raise
except Exception:
print(
"""An internal error occured. Please report all the output"""
""" of the program,\nincluding the following traceback, to"""
""" eric-bugs@eric-ide.python-projects.org.\n"""
)
raise
#
# eflag: noqa = M801
|