%PDF- %PDF-
| Direktori : /data/old/usr/bin/ |
| Current File : //data/old/usr/bin/calibre-uninstall |
#!/usr/bin/python
from __future__ import print_function, unicode_literals
euid = 0
import os, subprocess, shutil
try:
raw_input
except NameError:
raw_input = input
if os.geteuid() != euid:
print ('The installer was last run as user id:', euid, 'To remove all files you must run the uninstaller as the same user')
if raw_input('Proceed anyway? [y/n]:').lower() != 'y':
raise SystemExit(1)
frozen_path = '/opt/calibre'
if not frozen_path or not os.path.exists(os.path.join(frozen_path, 'resources', 'calibre-mimetypes.xml')):
frozen_path = None
for f in []:
cmd = ['xdg-mime', 'uninstall', f]
print ('Removing mime resource:', os.path.basename(f))
ret = subprocess.call(cmd, shell=False)
if ret != 0:
print ('WARNING: Failed to remove mime resource', f)
for x in tuple(['/usr/bin/calibre-customize', '/usr/bin/ebook-viewer', '/usr/bin/calibre-debug', '/usr/bin/calibre-parallel', '/usr/bin/calibre', '/usr/bin/ebook-meta', '/usr/bin/lrfviewer', '/usr/bin/ebook-polish', '/usr/bin/web2disk', '/usr/bin/ebook-convert', '/usr/bin/ebook-device', '/usr/bin/calibre-smtp', '/usr/bin/calibredb', '/usr/bin/lrf2lrs', '/usr/bin/ebook-edit', '/usr/bin/calibre-server', '/usr/bin/fetch-ebook-metadata', '/usr/bin/lrs2lrf', '/usr/bin/markdown-calibre', '/usr/share/zsh/site-functions/_calibre', '/usr/share/bash-completion/completions/calibre']) + tuple([]) + (os.path.abspath(__file__), __file__, frozen_path):
if not x or not os.path.exists(x):
continue
print ('Removing', x)
try:
if os.path.isdir(x):
shutil.rmtree(x)
else:
os.unlink(x)
except Exception as e:
print ('Failed to delete', x)
print (' ', e)
icr = []
mimetype_icons = []
def remove_icon(context, name, size, update=False):
cmd = ['xdg-icon-resource', 'uninstall', '--context', context, '--size', size, name]
if not update:
cmd.insert(2, '--noupdate')
print ('Removing icon:', name, 'from context:', context, 'at size:', size)
ret = subprocess.call(cmd, shell=False)
if ret != 0:
print ('WARNING: Failed to remove icon', name)
for i, (context, name, size) in enumerate(icr):
if context == 'mimetypes':
mimetype_icons.append((name, size))
continue
remove_icon(context, name, size, update=i == len(icr) - 1)
mr = []
for f in mr:
cmd = ['xdg-desktop-menu', 'uninstall', f]
print ('Removing desktop file:', f)
ret = subprocess.call(cmd, shell=False)
if ret != 0:
print ('WARNING: Failed to remove menu item', f)
print ()
if mimetype_icons and raw_input('Remove the ebook format icons? [y/n]:').lower() in ['', 'y']:
for i, (name, size) in enumerate(mimetype_icons):
remove_icon('mimetypes', name, size, update=i == len(mimetype_icons) - 1)