-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathremove-heroku-cli.py
executable file
·64 lines (47 loc) · 1.57 KB
/
remove-heroku-cli.py
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
#!/bin/python3
import subprocess
import os
import sys
USER = os.environ.get("SUDO_USER")
HOME = f'/home/{USER}'
RED = "\033[31m"
def remove_keys():
try:
list_keys_result = subprocess.check_output(
['apt-key list'], shell=True).decode(sys.stdout.encoding).split('\n')
for index, line in enumerate(list_keys_result):
if('heroku' in line):
previous_line = (list_keys_result[index - 1]).split(' ')
key = previous_line[-2] + previous_line[-1]
os.system(f'apt-key del {key}')
except:
print(f"\n{RED} Failed on remove Heroku keys! \n")
def remove_files():
try:
os.system('rm -rf /usr/bin/heroku')
os.system(f'rm -rf {HOME}/.cache/heroku')
os.system(f'rm -rf {HOME}/.local/share/heroku')
os.system('rm -rf /usr/lib/heroku')
os.system('rm -rf /usr/local/bin/heroku')
os.system('rm -rf /usr/local/lib/heroku')
os.system('rm -rf /usr/local/heroku')
os.system('rm -rf $XDG_DATA_HOME')
os.system('rm -rf $XDG_CACHE_HOME')
except:
print(f"\n{RED} Failed on remove files! \n")
def remove_from_apt():
try:
os.system('apt-get purge heroku -y')
os.system('rm -rf /etc/apt/sources.list.d/heroku.list')
except:
print(f"\n{RED} Failed on remove from apt! \n")
def main():
remove_files()
remove_from_apt()
remove_keys()
if __name__ == '__main__':
user_type = os.getuid()
if(user_type != 0):
print(f"\n{RED} Please Run as Root! \n")
sys.exit(1)
main()