Easy installer: No warranty message, create launcher, delete defaultprofile reference if not copying default profile
This commit is contained in:
parent
2c8f87a0c6
commit
66cb988cc0
1 changed files with 49 additions and 0 deletions
|
@ -1,5 +1,11 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
# This program is free software. It comes without any warranty, to
|
||||||
|
# the extent permitted by applicable law. You can redistribute it
|
||||||
|
# and/or modify it under the terms of the Do What The Fuck You Want
|
||||||
|
# To Public License, Version 2, as published by Sam Hocevar. See
|
||||||
|
# http://sam.zoy.org/wtfpl/COPYING for more details.
|
||||||
|
|
||||||
import os, sys, shutil
|
import os, sys, shutil
|
||||||
from stat import *
|
from stat import *
|
||||||
from string import Template
|
from string import Template
|
||||||
|
@ -72,6 +78,14 @@ Of course you are!!! ::::D"
|
||||||
gnome = False;break
|
gnome = False;break
|
||||||
else:
|
else:
|
||||||
print "herpaderp"
|
print "herpaderp"
|
||||||
|
while 1:
|
||||||
|
shortcut = raw_input("Create launcher in home directory? [Y/n]: ")
|
||||||
|
if shortcut.lower() == "y" or shortcut == "":
|
||||||
|
shortcut = True;break
|
||||||
|
elif shortcut.lower() == "n":
|
||||||
|
shortcut = False;break
|
||||||
|
else:
|
||||||
|
print "u jelly?"
|
||||||
|
|
||||||
# do some shitty install
|
# do some shitty install
|
||||||
try:
|
try:
|
||||||
|
@ -88,6 +102,23 @@ Of course you are!!! ::::D"
|
||||||
ignore = shutil.ignore_patterns('*.pyc')
|
ignore = shutil.ignore_patterns('*.pyc')
|
||||||
if not os.path.exists(instLoc):
|
if not os.path.exists(instLoc):
|
||||||
shutil.copytree(fileLoc, instLoc, ignore=ignore)
|
shutil.copytree(fileLoc, instLoc, ignore=ignore)
|
||||||
|
if os.path.exists(instLoc+"/pesterchum.js"):
|
||||||
|
f = open(instLoc+"/pesterchum.js")
|
||||||
|
js = f.read()
|
||||||
|
f.close()
|
||||||
|
defa = js.find("\"defaultprofile\"")
|
||||||
|
if defa != -1:
|
||||||
|
start = js.find("\"", js.find(":", defa+1))
|
||||||
|
end = js.find("\"", start+1)
|
||||||
|
party = js[start+1:end]
|
||||||
|
if not os.path.exists(instLoc+"/profiles") or \
|
||||||
|
party+".js" not in os.listdir(instLoc+"/profiles"):
|
||||||
|
print "Protecting you from stupidity..."
|
||||||
|
print " (aka. Deleting reference to non-existant default profile)"
|
||||||
|
#os.remove(instLoc+"/pesterchum.js")
|
||||||
|
f = open(instLoc+"/pesterchum.js", "w")
|
||||||
|
f.write(js[:defa-1]+js[js.find(",", end)+1:])
|
||||||
|
f.close()
|
||||||
else:
|
else:
|
||||||
if not os.path.exists(instLoc+"/logs") and os.path.exists(fileLoc+"/logs"):
|
if not os.path.exists(instLoc+"/logs") and os.path.exists(fileLoc+"/logs"):
|
||||||
shutil.copytree(fileLoc+"/logs", instLoc+"/logs", ignore=ignore)
|
shutil.copytree(fileLoc+"/logs", instLoc+"/logs", ignore=ignore)
|
||||||
|
@ -119,6 +150,16 @@ Of course you are!!! ::::D"
|
||||||
t = Template("[Desktop Entry]\nEncoding=UTF-8\nVersion=3.14.2\nName=Pesterchum\nComment=IM client based on Homestuck Pesterchum\nCategories=Network;InstantMessaging;\nExec=/usr/local/bin/pesterchum\nIcon=$loc/pesterchum.ico\nTerminal=false\nType=Application")
|
t = Template("[Desktop Entry]\nEncoding=UTF-8\nVersion=3.14.2\nName=Pesterchum\nComment=IM client based on Homestuck Pesterchum\nCategories=Network;InstantMessaging;\nExec=/usr/local/bin/pesterchum\nIcon=$loc/pesterchum.ico\nTerminal=false\nType=Application")
|
||||||
f = open("/usr/share/applications/pesterchum.desktop", "w")
|
f = open("/usr/share/applications/pesterchum.desktop", "w")
|
||||||
f.write(t.safe_substitute(loc=instLoc))
|
f.write(t.safe_substitute(loc=instLoc))
|
||||||
|
f.close()
|
||||||
|
# create shortcut launcher
|
||||||
|
if shortcut:
|
||||||
|
print "Creating launcher..."
|
||||||
|
t = Template("#!/usr/bin/env xdg-open\n[Desktop Entry]\nEncoding=UTF-8\nVersion=3.14.2\nName=Pesterchum\nComment=IM client based on Homestuck Pesterchum\nCategories=Network;InstantMessaging;\nExec=pesterchum\nIcon=$loc/pesterchum.ico\nTerminal=false\nType=Application")
|
||||||
|
f = open(_HOME+"/Pesterchum.desktop", "w")
|
||||||
|
f.write(t.safe_substitute(loc=instLoc))
|
||||||
|
f.close()
|
||||||
|
os.chown(_HOME+"/Pesterchum.desktop", _UID, _GID)
|
||||||
|
os.chmod(_HOME+"/Pesterchum.desktop", S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH)
|
||||||
else:
|
else:
|
||||||
print "Welcome to the Pesterchum 3.14 Easy Uninstaller (for Linux)!\n\
|
print "Welcome to the Pesterchum 3.14 Easy Uninstaller (for Linux)!\n\
|
||||||
Created by Kiooeht [evacipatedBox] May 28th-29th, 2011.\n\
|
Created by Kiooeht [evacipatedBox] May 28th-29th, 2011.\n\
|
||||||
|
@ -165,6 +206,14 @@ else:
|
||||||
if os.path.exists("/usr/share/applications/pesterchum.desktop"):
|
if os.path.exists("/usr/share/applications/pesterchum.desktop"):
|
||||||
print "Maiming menu item..."
|
print "Maiming menu item..."
|
||||||
os.remove("/usr/share/applications/pesterchum.desktop")
|
os.remove("/usr/share/applications/pesterchum.desktop")
|
||||||
|
if os.path.exists(_HOME+"/Pesterchum.desktop"):
|
||||||
|
print "Destroying launcher..."
|
||||||
|
os.remove(_HOME+"/Pesterchum.desktop")
|
||||||
|
elif os.path.exists(_HOME+"/Desktop/Pesterchum.desktop"):
|
||||||
|
print "Destroying launcher..."
|
||||||
|
os.remove(_HOME+"/Desktop/Pesterchum.desktop")
|
||||||
|
else:
|
||||||
|
print "Unable to find launcher, non destroyed"
|
||||||
break
|
break
|
||||||
elif remove.lower() == "n":
|
elif remove.lower() == "n":
|
||||||
print "Aborting uninstallation process"
|
print "Aborting uninstallation process"
|
||||||
|
|
Loading…
Reference in a new issue