TypeError: ‘int’ object is not subscriptable

I upgraded my flair and Fluka, but it still report errors.


"version : 3.1-7
geoviewer : 3.1-7 False
revision : 517de56f
last change : Fri Dec 11 15:12:31 2020 +0100
kleidi : 1592278168.300
python : 3.6.9 (default, Oct 8 2020, 12:12:24) [GCC 8.4.0]
tk : 8.6
tcl : 8.6
numpy : 1.13.3
pydicom : 0.9.9
platform : linux

Description:
please describe if possible how to reproduce the problem
Don’t forget your email if you want to be informed on the bug resolution

Traceback:
Traceback (most recent call last):
File “/usr/local/flair/tkFlair.py”, line 1284, in call
return self.func(*args)
File “/usr/local/flair/FlairRibbon.py”, line 467, in mapped
self.refresh(self._invalid)
File “/usr/local/flair/PlotPage.py”, line 472, in refresh
self.select()
File “/usr/local/flair/PlotPage.py”, line 520, in select
self.get()
File “/usr/local/flair/PlotPage.py”, line 501, in get
self.displayed.get(plot)
File “/usr/local/flair/UsrPlot.py”, line 336, in get
if (not detname or detname[0]=="#") and detname!=newname:
TypeError: ‘int’ object is not subscriptable

Traceback (most recent call last):
File “/usr/local/flair/tkFlair.py”, line 1284, in call
return self.func(*args)
File “/usr/local/flair/lib/Ribbon.py”, line 1139, in changePage
page.activate()
File “/usr/local/flair/RunPage.py”, line 144, in activate
super().activate()
File “/usr/local/flair/FlairRibbon.py”, line 582, in activate
FlairPage.active.deactivate()
File “/usr/local/flair/FlairRibbon.py”, line 622, in deactivate
if self.page: self.get()
File “/usr/local/flair/PlotPage.py”, line 501, in get
self.displayed.get(plot)
File “/usr/local/flair/UsrPlot.py”, line 336, in get
if (not detname or detname[0]=="#") and detname!=newname:
TypeError: ‘int’ object is not subscriptable

Traceback (most recent call last):
File “/usr/local/flair/tkFlair.py”, line 1284, in call
return self.func(*args)
File “/usr/local/flair/lib/Ribbon.py”, line 1138, in changePage
page.refresh()
File “/usr/local/flair/PlotPage.py”, line 472, in refresh
self.select()
File “/usr/local/flair/PlotPage.py”, line 520, in select
self.get()
File “/usr/local/flair/PlotPage.py”, line 501, in get
self.displayed.get(plot)
File “/usr/local/flair/UsrPlot.py”, line 336, in get
if (not detname or detname[0]=="#") and detname!=newname:
TypeError: ‘int’ object is not subscriptable

Traceback (most recent call last):
File “/usr/local/flair/tkFlair.py”, line 1284, in call
return self.func(*args)
File “/usr/local/flair/PlotPage.py”, line 870, in execute
self.get()
File “/usr/local/flair/PlotPage.py”, line 501, in get
self.displayed.get(plot)
File “/usr/local/flair/UsrPlot.py”, line 336, in get
if (not detname or detname[0]=="#") and detname!=newname:
TypeError: ‘int’ object is not subscriptable

Traceback (most recent call last):
File “/usr/local/flair/tkFlair.py”, line 1284, in call
return self.func(*args)
File “/usr/local/flair/UsrPlot.py”, line 399, in selectDetector
self.get(self.plot)
File “/usr/local/flair/UsrPlot.py”, line 336, in get
if (not detname or detname[0]=="#") and detname!=newname:
TypeError: ‘int’ object is not subscriptable

Traceback (most recent call last):
File “/usr/local/flair/tkFlair.py”, line 1284, in call
return self.func(*args)
File “/usr/local/flair/UsrPlot.py”, line 399, in selectDetector
self.get(self.plot)
File “/usr/local/flair/UsrPlot.py”, line 336, in get
if (not detname or detname[0]=="#") and detname!=newname:
TypeError: ‘int’ object is not subscriptable

Traceback (most recent call last):
File “/usr/local/flair/tkFlair.py”, line 1284, in call
return self.func(*args)
File “/usr/local/flair/flair.py”, line 1946, in close
self.get()
File “/usr/local/flair/flair.py”, line 1791, in get
def get(self): self.tabs.get()
File “/usr/local/flair/flair.py”, line 518, in get
page.get()
File “/usr/local/flair/PlotPage.py”, line 501, in get
self.displayed.get(plot)
File “/usr/local/flair/UsrPlot.py”, line 336, in get
if (not detname or detname[0]=="#") and detname!=newname:
TypeError: ‘int’ object is not subscriptable

Traceback (most recent call last):
File “/usr/local/flair/tkFlair.py”, line 1284, in call
return self.func(*args)
File “/usr/local/flair/flair.py”, line 1946, in close
self.get()
File “/usr/local/flair/flair.py”, line 1791, in get
def get(self): self.tabs.get()
File “/usr/local/flair/flair.py”, line 518, in get
page.get()
File “/usr/local/flair/PlotPage.py”, line 501, in get
self.displayed.get(plot)
File “/usr/local/flair/UsrPlot.py”, line 336, in get
if (not detname or detname[0]=="#") and detname!=newname:
TypeError: ‘int’ object is not subscriptable

Traceback (most recent call last):
File “/usr/local/flair/tkFlair.py”, line 1284, in call
return self.func(*args)
File “/usr/local/flair/flair.py”, line 1946, in close
self.get()
File “/usr/local/flair/flair.py”, line 1791, in get
def get(self): self.tabs.get()
File “/usr/local/flair/flair.py”, line 518, in get
page.get()
File “/usr/local/flair/PlotPage.py”, line 501, in get
self.displayed.get(plot)
File “/usr/local/flair/UsrPlot.py”, line 336, in get
if (not detname or detname[0]=="#") and detname!=newname:
TypeError: ‘int’ object is not subscriptable

Traceback (most recent call last):
File “/usr/local/flair/tkFlair.py”, line 1284, in call
return self.func(*args)
File “/usr/local/flair/flair.py”, line 1946, in close
self.get()
File “/usr/local/flair/flair.py”, line 1791, in get
def get(self): self.tabs.get()
File “/usr/local/flair/flair.py”, line 518, in get
page.get()
File “/usr/local/flair/PlotPage.py”, line 501, in get
self.displayed.get(plot)
File “/usr/local/flair/UsrPlot.py”, line 336, in get
if (not detname or detname[0]=="#") and detname!=newname:
TypeError: ‘int’ object is not subscriptable

Traceback (most recent call last):
File “/usr/local/flair/tkFlair.py”, line 1284, in call
return self.func(*args)
File “/usr/local/flair/flair.py”, line 1946, in close
self.get()
File “/usr/local/flair/flair.py”, line 1791, in get
def get(self): self.tabs.get()
File “/usr/local/flair/flair.py”, line 518, in get
page.get()
File “/usr/local/flair/PlotPage.py”, line 501, in get
self.displayed.get(plot)
File “/usr/local/flair/UsrPlot.py”, line 336, in get
if (not detname or detname[0]=="#") and detname!=newname:
TypeError: ‘int’ object is not subscriptable

Traceback (most recent call last):
File “/usr/local/flair/tkFlair.py”, line 1284, in call
return self.func(*args)
File “/usr/local/flair/flair.py”, line 1946, in close
self.get()
File “/usr/local/flair/flair.py”, line 1791, in get
def get(self): self.tabs.get()
File “/usr/local/flair/flair.py”, line 518, in get
page.get()
File “/usr/local/flair/PlotPage.py”, line 501, in get
self.displayed.get(plot)
File “/usr/local/flair/UsrPlot.py”, line 336, in get
if (not detname or detname[0]=="#") and detname!=newname:
TypeError: ‘int’ object is not subscriptable

Traceback (most recent call last):
File “/usr/local/flair/tkFlair.py”, line 1284, in call
return self.func(*args)
File “/usr/local/flair/flair.py”, line 1946, in close
self.get()
File “/usr/local/flair/flair.py”, line 1791, in get
def get(self): self.tabs.get()
File “/usr/local/flair/flair.py”, line 518, in get
page.get()
File “/usr/local/flair/PlotPage.py”, line 501, in get
self.displayed.get(plot)
File “/usr/local/flair/UsrPlot.py”, line 336, in get
if (not detname or detname[0]=="#") and detname!=newname:
TypeError: ‘int’ object is not subscriptable"

Thank you @nostaaal
this is a different error. For some reason you have a detector name which is an integer and flair fails.
I’ve added a protection for that. In the mean time waiting for the new flair release can you send us the .flair file and so we can correct it to work

I’ll send you the document,looking forward to the next update.

5Mneu.zip (22.8 KB)

Please until the new flair release in the mean time, use the attached gener.flair (7.4 KB) file