From 39b74849d939456a0d1e4aa534e9f829e742ba63 Mon Sep 17 00:00:00 2001
From: Brennan Ashton <bashton@brennanashton.com>
Date: Wed, 14 Nov 2018 17:52:20 -0800
Subject: gr-runtime: Properly handle optional support for thrift RPC Transport

---
 .../python/gnuradio/ctrlport/GNURadioControlPortClient.py     | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

(limited to 'gnuradio-runtime/python/gnuradio/ctrlport/GNURadioControlPortClient.py')

diff --git a/gnuradio-runtime/python/gnuradio/ctrlport/GNURadioControlPortClient.py b/gnuradio-runtime/python/gnuradio/ctrlport/GNURadioControlPortClient.py
index 8b811ab9d9..8249d341ec 100644
--- a/gnuradio-runtime/python/gnuradio/ctrlport/GNURadioControlPortClient.py
+++ b/gnuradio-runtime/python/gnuradio/ctrlport/GNURadioControlPortClient.py
@@ -30,6 +30,15 @@ is currently the only supported transport.
 from __future__ import print_function
 from __future__ import unicode_literals
 
+from gnuradio.ctrlport.RPCConnection import RPCMethods
+try:
+    from gnuradio.ctrlport.RPCConnectionThrift import RPCConnectionThrift
+    from thrift.transport.TTransport import TTransportException
+except ImportError:
+    # Thrift support not provided we should remove it from RPCMethods
+    pass
+
+
 """
 GNURadioControlPortClient is the main class for creating a GNU Radio
 ControlPort client application for all transports.
@@ -112,9 +121,7 @@ class GNURadioControlPortClient(object):
 
         self.client = None
 
-        from gnuradio.ctrlport.RPCConnection import RPCMethods
         if rpcmethod in RPCMethods:
-            from gnuradio.ctrlport.RPCConnectionThrift import RPCConnectionThrift
             if rpcmethod == 'thrift':
                 #print("making RPCConnectionThrift")
                 self.client = RPCConnectionThrift(host, port)
-- 
cgit v1.2.3