From 9e625c4821f4c63421b3d3747c0c4f358fef6c5f Mon Sep 17 00:00:00 2001
From: Douglas Anderson <danderson@ntia.doc.gov>
Date: Sun, 12 Feb 2017 15:52:19 -0800
Subject: python3: update non-GRC components to use python2 or python3

---
 gnuradio-runtime/python/pmt/pmt_to_python.py | 29 ++++++++++++++--------------
 1 file changed, 15 insertions(+), 14 deletions(-)

(limited to 'gnuradio-runtime/python/pmt/pmt_to_python.py')

diff --git a/gnuradio-runtime/python/pmt/pmt_to_python.py b/gnuradio-runtime/python/pmt/pmt_to_python.py
index f9000ec279..918e2f9872 100644
--- a/gnuradio-runtime/python/pmt/pmt_to_python.py
+++ b/gnuradio-runtime/python/pmt/pmt_to_python.py
@@ -17,8 +17,9 @@
 # the Free Software Foundation, Inc., 51 Franklin Street,
 # Boston, MA 02110-1301, USA.
 
-try: import pmt_swig as pmt
-except: import pmt
+from __future__ import unicode_literals
+
+from . import pmt_swig as pmt
 import numpy
 
 # SWIG isn't taking in the #define PMT_NIL;
@@ -34,7 +35,7 @@ def pmt_to_tuple(p):
     return tuple(elems)
 
 def pmt_from_tuple(p):
-    args = map(python_to_pmt, p)
+    args = list(map(python_to_pmt, p))
     return pmt.make_tuple(*args)
 
 def pmt_to_vector(p):
@@ -62,7 +63,7 @@ def pmt_to_dict(p):
 
 def pmt_from_dict(p):
     d = pmt.make_dict()
-    for k, v in p.iteritems():
+    for k, v in list(p.items()):
         #dict is immutable -> therefore pmt_dict_add returns the new dict
         d = pmt.dict_add(d, python_to_pmt(k), python_to_pmt(v))
     return d
@@ -88,27 +89,27 @@ uvector_mappings = dict([ (numpy_mappings[key][3], (numpy_mappings[key][2], key)
 def numpy_to_uvector(numpy_array):
     try:
         mapping = numpy_mappings[numpy_array.dtype]
-        pc = map(mapping[1], numpy.ravel(numpy_array))
+        pc = list(map(mapping[1], numpy.ravel(numpy_array)))
         return mapping[0](numpy_array.size, pc)
     except KeyError:
         raise ValueError("unsupported numpy array dtype for converstion to pmt %s"%(numpy_array.dtype))
 
 def uvector_to_numpy(uvector):
-	match = None
-	for test_func in uvector_mappings.keys():
-		if test_func(uvector):
-			match = uvector_mappings[test_func]
-			return numpy.array(match[0](uvector), dtype = match[1])
-	else:
-		raise ValueError("unsupported uvector data type for conversion to numpy array %s"%(uvector))
+        match = None
+        for test_func in list(uvector_mappings.keys()):
+                if test_func(uvector):
+                        match = uvector_mappings[test_func]
+                        return numpy.array(match[0](uvector), dtype = match[1])
+        else:
+                raise ValueError("unsupported uvector data type for conversion to numpy array %s"%(uvector))
 
 type_mappings = ( #python type, check pmt type, to python, from python
     (None, pmt.is_null, lambda x: None, lambda x: PMT_NIL),
     (bool, pmt.is_bool, pmt.to_bool, pmt.from_bool),
     (str, pmt.is_symbol, pmt.symbol_to_string, pmt.string_to_symbol),
-    (unicode, lambda x: False, None, lambda x: pmt.string_to_symbol(x.encode('utf-8'))),
+    (str, lambda x: False, None, lambda x: pmt.string_to_symbol(x.encode('utf-8'))),
     (int, pmt.is_integer, pmt.to_long, pmt.from_long),
-    (long, pmt.is_uint64, lambda x: long(pmt.to_uint64(x)), pmt.from_uint64),
+    (int, pmt.is_uint64, lambda x: int(pmt.to_uint64(x)), pmt.from_uint64),
     (float, pmt.is_real, pmt.to_double, pmt.from_double),
     (complex, pmt.is_complex, pmt.to_complex, pmt.from_complex),
     (tuple, pmt.is_tuple, pmt_to_tuple, pmt_from_tuple),
-- 
cgit v1.2.3