Mercurial > sat_docs
view flatpak/sat_wrapper.py @ 142:2602c690806b
flatpak (sat_wrapper): don't use packages from $HOME in PYTHONPATH to avoid conflicts:
before this change, packages from ~/.local/lib/python2.7/site-packages when included, and
this could conflict with the ones from Flatpak, resulting in unwanted side effects (e.g.
OMEMO not available).
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 23 Jun 2019 19:45:37 +0200 |
parents | 274af514a5cf |
children |
line wrap: on
line source
#!/usr/bin/env python2 # -*- coding: utf-8 -*- """This script launch SàT backend if it's not before running command""" import os import sys import dbus import subprocess command = "##COMMAND##" const_INT_PREFIX = "org.salutatoi.SAT" const_OBJ_PATH = '/org/salutatoi/SAT/bridge' # we remove any path with "/home" from PYTHONPATH because we have # "--filesystem=home" permission and packages in .local/lib/python2.7/site-packages may # conflict with the ones from flatpak clean_pythonpath = ':'.join(p for p in sys.path if p and not p.startswith('/home')) os.environ['PYTHONPATH'] = clean_pythonpath os.environ['PYTHONNOUSERSITE'] = '1' try: sessions_bus = dbus.SessionBus() db_object = sessions_bus.get_object(const_INT_PREFIX, const_OBJ_PATH) except dbus.exceptions.DBusException as e: if e._dbus_error_name != 'org.freedesktop.DBus.Error.ServiceUnknown': raise e # backend not found, we need to launch it print("Launching SàT backend") subprocess.check_call("sat") os.execlp(command, command, *sys.argv[1:])