Do not fail if activity mime_type was already installed #1394
This commit is contained in:
parent
957c0b4c0f
commit
7a8dc0dd70
@ -345,7 +345,7 @@ class ActivityBundle(Bundle):
|
||||
os.makedirs(mime_pkg_dir)
|
||||
installed_mime_path = os.path.join(mime_pkg_dir,
|
||||
'%s.xml' % self._bundle_id)
|
||||
os.symlink(mime_path, installed_mime_path)
|
||||
self._symlink(mime_path, installed_mime_path)
|
||||
os.spawnlp(os.P_WAIT, 'update-mime-database',
|
||||
'update-mime-database', mime_dir)
|
||||
|
||||
@ -361,14 +361,24 @@ class ActivityBundle(Bundle):
|
||||
mime_type.replace('/', '-'))
|
||||
svg_file = mime_icon_base + '.svg'
|
||||
info_file = mime_icon_base + '.icon'
|
||||
if os.path.isfile(svg_file):
|
||||
os.symlink(svg_file,
|
||||
os.path.join(installed_icons_dir,
|
||||
os.path.basename(svg_file)))
|
||||
if os.path.isfile(info_file):
|
||||
os.symlink(info_file,
|
||||
os.path.join(installed_icons_dir,
|
||||
os.path.basename(info_file)))
|
||||
self._symlink(svg_file,
|
||||
os.path.join(installed_icons_dir,
|
||||
os.path.basename(svg_file)))
|
||||
self._symlink(info_file,
|
||||
os.path.join(installed_icons_dir,
|
||||
os.path.basename(info_file)))
|
||||
|
||||
def _symlink(self, src, dst):
|
||||
if not os.path.isfile(src):
|
||||
return
|
||||
if os.path.exists(dst) and not os.path.islink(dst):
|
||||
raise RuntimeError('Do not remove %s if it was not '
|
||||
'installed by sugar', dst)
|
||||
logging.debug('Link resource %s to %s', src, dst)
|
||||
if os.path.exists(dst):
|
||||
logging.debug('Rewrite %s', dst)
|
||||
os.unlink(dst)
|
||||
os.symlink(src, dst)
|
||||
|
||||
def uninstall(self, install_path, force=False):
|
||||
if os.path.islink(install_path):
|
||||
|
Loading…
Reference in New Issue
Block a user