tree 3d8dfff4f2dcdfdb05a5f285f1db231b720be166
parent afdfe1b90f9bc9c94b6fccd9a8143c787a62ba11
author John Kacur <jkacur@redhat.com> 1464607623 +0200
committer Jiri Kastner <jkastner@redhat.com> 1464723383 +0200

tuna: cpuview.py: Omit offline cpus in socket_ids list

sysfy.py inserts None for offline cpus in class cpus, method reload, via
class cpu method reload.

This is potentially useful, so we don't want to change these classes.
However in cpuview.py - class cpuview, we don't want to display these
offline cpus, so we only need to recognize that the type None can be
returned and then skip over it.

This fixes Bugzilla 1036156
First detected on some ppc

./tuna-cmd.py
Traceback (most recent call last):
  File "./tuna-cmd.py", line 656, in <module>
    main()
  File "./tuna-cmd.py", line 650, in main
    app = tuna_gui.main_gui(kthreads, uthreads, cpus_filtered)
  File "/home/jkacur/tuna/tuna/tuna_gui.py", line 49, in __init__
    self.procview, self.irqview, cpus_filtered)
  File "/home/jkacur/tuna/tuna/gui/cpuview.py", line 253, in __init__
    socket_ids = [ int(id) for id in self.cpus.sockets.keys() ]

Signed-off-by: John Kacur <jkacur@redhat.com>
Signed-off-by: Jiri Kastner <jkastner@redhat.com>
