View | Details | Raw Unified | Return to bug 2734
Collapse All | Expand All

(-)a/src/visualizer/model/visual-simulator-impl.cc (-4 / +10 lines)
 Lines 112-122   VisualSimulatorImpl::IsFinished (void) const Link Here 
112
void
112
void
113
VisualSimulatorImpl::Run (void)
113
VisualSimulatorImpl::Run (void)
114
{
114
{
115
  if (!Py_IsInitialized ()) 
115
  if (!Py_IsInitialized ())
116
    {
116
    {
117
      const char *argv[] = { "python", NULL};
117
      #if PY_MAJOR_VERSION >= 3
118
      Py_Initialize ();
118
        const wchar_t *argv[] = { L"python", NULL};
119
      PySys_SetArgv (1, (char**) argv);
119
        Py_Initialize ();
120
        PySys_SetArgv (1, (wchar_t**) argv);
121
      #else
122
        const char *argv[] = { "python", NULL};
123
        Py_Initialize ();
124
        PySys_SetArgv (1, (char**) argv);
125
      #endif
120
      PyRun_SimpleString (
126
      PyRun_SimpleString (
121
                          "import visualizer\n"
127
                          "import visualizer\n"
122
                          "visualizer.start();\n"
128
                          "visualizer.start();\n"
(-)a/src/visualizer/visualizer/__init__.py (-1 / +1 lines)
 Lines 1-3    Link Here 
1
1
2
from core import start, register_plugin, set_bounds, add_initialization_hook
2
from .core import start, register_plugin, set_bounds, add_initialization_hook
3
3
(-)a/src/visualizer/visualizer/base.py (-5 / +4 lines)
 Lines 5-11   import ns.bridge Link Here 
5
import ns.internet
5
import ns.internet
6
import ns.mesh
6
import ns.mesh
7
import ns.wimax
7
import ns.wimax
8
import ns.wimax
9
import ns.lte
8
import ns.lte
10
9
11
from gi.repository import GObject
10
from gi.repository import GObject
 Lines 126-140   def load_plugins(): Link Here 
126
            continue
125
            continue
127
        try:
126
        try:
128
            plugin_module = __import__(name)
127
            plugin_module = __import__(name)
129
        except ImportError, ex:
128
        except ImportError as ex:
130
            print >> sys.stderr, "Could not load plugin %r: %s" % (filename, str(ex))
129
            print("Could not load plugin %r: %s" % (filename, str(ex)), file=sys.stderr)
131
            continue
130
            continue
132
        try:
131
        try:
133
            plugin_func = plugin_module.register
132
            plugin_func = plugin_module.register
134
        except AttributeError:
133
        except AttributeError:
135
            print >> sys.stderr, "Plugin %r has no 'register' function" % name
134
            print("Plugin %r has no 'register' function" % name, file=sys.stderr)
136
        else:
135
        else:
137
            #print >> sys.stderr, "Plugin %r registered" % name
136
            #print("Plugin %r registered" % name, file=sys.stderr)
138
            register_plugin(plugin_func, name, plugin_module)
137
            register_plugin(plugin_func, name, plugin_module)
139
    sys.path = old_path
138
    sys.path = old_path
140
139
(-)a/src/visualizer/visualizer/core.py (-4 / +4 lines)
 Lines 61-70   try: Link Here 
61
except ImportError:
61
except ImportError:
62
    ipython_view = None
62
    ipython_view = None
63
63
64
from base import InformationWindow, PyVizObject, Link, lookup_netdevice_traits, PIXELS_PER_METER
64
from .base import InformationWindow, PyVizObject, Link, lookup_netdevice_traits, PIXELS_PER_METER
65
from base import transform_distance_simulation_to_canvas, transform_point_simulation_to_canvas
65
from .base import transform_distance_simulation_to_canvas, transform_point_simulation_to_canvas
66
from base import transform_distance_canvas_to_simulation, transform_point_canvas_to_simulation
66
from .base import transform_distance_canvas_to_simulation, transform_point_canvas_to_simulation
67
from base import load_plugins, register_plugin, plugins
67
from .base import load_plugins, register_plugin, plugins
68
68
69
PI_OVER_2 = math.pi/2
69
PI_OVER_2 = math.pi/2
70
PI_TIMES_2 = math.pi*2
70
PI_TIMES_2 = math.pi*2
(-)a/src/visualizer/visualizer/hud.py (-1 / +1 lines)
 Lines 1-5    Link Here 
1
import core
2
import math
1
import math
2
from . import core
3
from gi.repository import Pango
3
from gi.repository import Pango
4
from gi.repository import Gtk
4
from gi.repository import Gtk
5
from gi.repository import GooCanvas
5
from gi.repository import GooCanvas
(-)a/src/visualizer/visualizer/ipython_view.py (-2 / +2 lines)
 Lines 319-329   class IterableIPShell: Link Here 
319
    @return none
319
    @return none
320
    """
320
    """
321
    stat = 0
321
    stat = 0
322
    if verbose or debug: print header+cmd
322
    if verbose or debug: print(header+cmd)
323
    # flush stdout so we don't mangle python's buffering
323
    # flush stdout so we don't mangle python's buffering
324
    if not debug:
324
    if not debug:
325
      input, output = os.popen4(cmd)
325
      input, output = os.popen4(cmd)
326
      print output.read()
326
      print(output.read())
327
      output.close()
327
      output.close()
328
      input.close()
328
      input.close()
329
329
(-)a/src/visualizer/visualizer/plugins/olsr.py (-1 / +1 lines)
 Lines 120-126   def populate_node_menu(viz, node, menu): Link Here 
120
    ns3_node = ns.network.NodeList.GetNode(node.node_index)
120
    ns3_node = ns.network.NodeList.GetNode(node.node_index)
121
    olsr = ns3_node.GetObject(ns.olsr.olsr.RoutingProtocol.GetTypeId())
121
    olsr = ns3_node.GetObject(ns.olsr.olsr.RoutingProtocol.GetTypeId())
122
    if olsr is None:
122
    if olsr is None:
123
        print "No OLSR"
123
        print("No OLSR")
124
        return
124
        return
125
125
126
    menu_item = Gtk.MenuItem("Show OLSR Routing Table")
126
    menu_item = Gtk.MenuItem("Show OLSR Routing Table")
(-)a/src/visualizer/visualizer/svgitem.py (-3 / +2 lines)
 Lines 120-126   class SvgItem(GooCanvas.ItemSimple): Link Here 
120
            self.changed(True)
120
            self.changed(True)
121
121
122
        else:
122
        else:
123
            raise AttributeError, 'unknown property %s' % pspec.name
123
            raise AttributeError('unknown property %s' % pspec.name)
124
124
125
    def _size_changed(self):
125
    def _size_changed(self):
126
        """!
126
        """!
 Lines 172-178   class SvgItem(GooCanvas.ItemSimple): Link Here 
172
            return self.height
172
            return self.height
173
173
174
        else:
174
        else:
175
            raise AttributeError, 'unknown property %s' % pspec.name
175
            raise AttributeError('unknown property %s' % pspec.name)
176
176
177
    def do_simple_paint(self, cr, bounds):
177
    def do_simple_paint(self, cr, bounds):
178
        """!
178
        """!
179
- 

Return to bug 2734