Frontends: management of unlaunched SàT Backend (information message and exit)
DBus Bridge Frontend: added an exception to manage unlaunched SàT Backend (BridgeExceptionNoService) Quick App, jp: a message is print when the previous exception is launched
This commit is contained in:
parent
489cbcfebf
commit
d2ca8812df
3 changed files with 29 additions and 11 deletions
|
|
@ -55,7 +55,7 @@ from optparse import OptionParser
|
|||
import pdb
|
||||
from tools.jid import JID
|
||||
import gobject
|
||||
from sat_bridge_frontend.DBus import DBusBridgeFrontend
|
||||
from sat_bridge_frontend.DBus import DBusBridgeFrontend,BridgeExceptionNoService
|
||||
import tarfile
|
||||
try:
|
||||
from progressbar import ProgressBar, Percentage, Bar, ETA, FileTransferSpeed
|
||||
|
|
@ -69,7 +69,12 @@ except ImportError, e:
|
|||
|
||||
class JP():
|
||||
def __init__(self):
|
||||
self.bridge=DBusBridgeFrontend()
|
||||
try:
|
||||
self.bridge=DBusBridgeFrontend()
|
||||
except BridgeExceptionNoService:
|
||||
print(_(u"Can't connect to SàT backend, are you sure it's launched ?"))
|
||||
import sys
|
||||
sys.exit(1)
|
||||
self.transfert_id = None
|
||||
|
||||
def check_options(self):
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
from logging import debug, info, error
|
||||
from tools.jid import JID
|
||||
from sat_bridge_frontend.DBus import DBusBridgeFrontend
|
||||
from sat_bridge_frontend.DBus import DBusBridgeFrontend,BridgeExceptionNoService
|
||||
from optparse import OptionParser
|
||||
import pdb
|
||||
|
||||
|
|
@ -38,7 +38,12 @@ class QuickApp():
|
|||
self.check_options()
|
||||
|
||||
## bridge ##
|
||||
self.bridge=DBusBridgeFrontend()
|
||||
try:
|
||||
self.bridge=DBusBridgeFrontend()
|
||||
except BridgeExceptionNoService:
|
||||
print(_(u"Can't connect to SàT backend, are you sure it's launched ?"))
|
||||
import sys
|
||||
sys.exit(1)
|
||||
self.bridge.register("connected", self.connected)
|
||||
self.bridge.register("disconnected", self.disconnected)
|
||||
self.bridge.register("newContact", self.newContact)
|
||||
|
|
|
|||
|
|
@ -22,16 +22,24 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
from bridge_frontend import BridgeFrontend
|
||||
import dbus, dbus.glib
|
||||
|
||||
class BridgeExceptionNoService(Exception):
|
||||
pass
|
||||
|
||||
class DBusBridgeFrontend(BridgeFrontend):
|
||||
def __init__(self):
|
||||
self.sessions_bus = dbus.SessionBus()
|
||||
self.db_object = self.sessions_bus.get_object('org.goffi.SAT',
|
||||
'/org/goffi/SAT/bridge')
|
||||
self.db_comm_iface = dbus.Interface(self.db_object,
|
||||
dbus_interface='org.goffi.SAT.communication')
|
||||
self.db_req_iface = dbus.Interface(self.db_object,
|
||||
dbus_interface='org.goffi.SAT.request')
|
||||
try:
|
||||
self.sessions_bus = dbus.SessionBus()
|
||||
self.db_object = self.sessions_bus.get_object('org.goffi.SAT',
|
||||
'/org/goffi/SAT/bridge')
|
||||
self.db_comm_iface = dbus.Interface(self.db_object,
|
||||
dbus_interface='org.goffi.SAT.communication')
|
||||
self.db_req_iface = dbus.Interface(self.db_object,
|
||||
dbus_interface='org.goffi.SAT.request')
|
||||
except dbus.exceptions.DBusException,e:
|
||||
if e._dbus_error_name=='org.freedesktop.DBus.Error.ServiceUnknown':
|
||||
raise BridgeExceptionNoService
|
||||
else:
|
||||
raise e
|
||||
#props = self.db_comm_iface.getProperties()
|
||||
|
||||
def register(self, functionName, handler, iface="communication"):
|
||||
|
|
|
|||
Loading…
Reference in a new issue