@@ -, +, @@ --- src/visualizer/model/visual-simulator-impl.cc | 14 ++++++++++---- src/visualizer/visualizer/__init__.py | 2 +- src/visualizer/visualizer/base.py | 9 ++++----- src/visualizer/visualizer/core.py | 8 ++++---- src/visualizer/visualizer/hud.py | 2 +- src/visualizer/visualizer/ipython_view.py | 4 ++-- src/visualizer/visualizer/plugins/olsr.py | 2 +- src/visualizer/visualizer/svgitem.py | 4 ++-- 8 files changed, 25 insertions(+), 20 deletions(-) --- a/src/visualizer/model/visual-simulator-impl.cc +++ a/src/visualizer/model/visual-simulator-impl.cc @@ -112,11 +112,17 @@ VisualSimulatorImpl::IsFinished (void) const void VisualSimulatorImpl::Run (void) { - if (!Py_IsInitialized ()) + if (!Py_IsInitialized ()) { - const char *argv[] = { "python", NULL}; - Py_Initialize (); - PySys_SetArgv (1, (char**) argv); + #if PY_MAJOR_VERSION >= 3 + const wchar_t *argv[] = { L"python", NULL}; + Py_Initialize (); + PySys_SetArgv (1, (wchar_t**) argv); + #else + const char *argv[] = { "python", NULL}; + Py_Initialize (); + PySys_SetArgv (1, (char**) argv); + #endif PyRun_SimpleString ( "import visualizer\n" "visualizer.start();\n" --- a/src/visualizer/visualizer/__init__.py +++ a/src/visualizer/visualizer/__init__.py @@ -1,3 +1,3 @@ -from core import start, register_plugin, set_bounds, add_initialization_hook +from .core import start, register_plugin, set_bounds, add_initialization_hook --- a/src/visualizer/visualizer/base.py +++ a/src/visualizer/visualizer/base.py @@ -5,7 +5,6 @@ import ns.bridge import ns.internet import ns.mesh import ns.wimax -import ns.wimax import ns.lte from gi.repository import GObject @@ -126,15 +125,15 @@ def load_plugins(): continue try: plugin_module = __import__(name) - except ImportError, ex: - print >> sys.stderr, "Could not load plugin %r: %s" % (filename, str(ex)) + except ImportError as ex: + print("Could not load plugin %r: %s" % (filename, str(ex)), file=sys.stderr) continue try: plugin_func = plugin_module.register except AttributeError: - print >> sys.stderr, "Plugin %r has no 'register' function" % name + print("Plugin %r has no 'register' function" % name, file=sys.stderr) else: - #print >> sys.stderr, "Plugin %r registered" % name + #print("Plugin %r registered" % name, file=sys.stderr) register_plugin(plugin_func, name, plugin_module) sys.path = old_path --- a/src/visualizer/visualizer/core.py +++ a/src/visualizer/visualizer/core.py @@ -61,10 +61,10 @@ try: except ImportError: ipython_view = None -from base import InformationWindow, PyVizObject, Link, lookup_netdevice_traits, PIXELS_PER_METER -from base import transform_distance_simulation_to_canvas, transform_point_simulation_to_canvas -from base import transform_distance_canvas_to_simulation, transform_point_canvas_to_simulation -from base import load_plugins, register_plugin, plugins +from .base import InformationWindow, PyVizObject, Link, lookup_netdevice_traits, PIXELS_PER_METER +from .base import transform_distance_simulation_to_canvas, transform_point_simulation_to_canvas +from .base import transform_distance_canvas_to_simulation, transform_point_canvas_to_simulation +from .base import load_plugins, register_plugin, plugins PI_OVER_2 = math.pi/2 PI_TIMES_2 = math.pi*2 --- a/src/visualizer/visualizer/hud.py +++ a/src/visualizer/visualizer/hud.py @@ -1,5 +1,5 @@ -import core import math +from . import core from gi.repository import Pango from gi.repository import Gtk from gi.repository import GooCanvas --- a/src/visualizer/visualizer/ipython_view.py +++ a/src/visualizer/visualizer/ipython_view.py @@ -319,11 +319,11 @@ class IterableIPShell: @return none """ stat = 0 - if verbose or debug: print header+cmd + if verbose or debug: print(header+cmd) # flush stdout so we don't mangle python's buffering if not debug: input, output = os.popen4(cmd) - print output.read() + print(output.read()) output.close() input.close() --- a/src/visualizer/visualizer/plugins/olsr.py +++ a/src/visualizer/visualizer/plugins/olsr.py @@ -120,7 +120,7 @@ def populate_node_menu(viz, node, menu): ns3_node = ns.network.NodeList.GetNode(node.node_index) olsr = ns3_node.GetObject(ns.olsr.olsr.RoutingProtocol.GetTypeId()) if olsr is None: - print "No OLSR" + print("No OLSR") return menu_item = Gtk.MenuItem("Show OLSR Routing Table") --- a/src/visualizer/visualizer/svgitem.py +++ a/src/visualizer/visualizer/svgitem.py @@ -120,7 +120,7 @@ class SvgItem(GooCanvas.ItemSimple): self.changed(True) else: - raise AttributeError, 'unknown property %s' % pspec.name + raise AttributeError('unknown property %s' % pspec.name) def _size_changed(self): """! @@ -172,7 +172,7 @@ class SvgItem(GooCanvas.ItemSimple): return self.height else: - raise AttributeError, 'unknown property %s' % pspec.name + raise AttributeError('unknown property %s' % pspec.name) def do_simple_paint(self, cr, bounds): """! --