Я ищу в словаре, и когда он вызывается в первый раз, он работает как положено, после этого он вызывает ItemLookupError из appJar.appjar в консоли. Открывается новая вкладка, но не загружается с ожидаемыми данными
Я пытался попробовать, за исключением случаев, когда исходная вкладка, вызывающая проблему, должна была быть удалена, но не удалялась. Я бы предпочел оставить исходную вкладку открытой.
Из исходного кода appJar
if text in self.widgetStore: raise ItemLookupError("Duplicate tabName: " + text)
, где widgetStore
- это OrderedDict()
, похоже, проблема.
def search(): # FIXME raises a duplicate error when you search more than once
results = 0
search_term = app.getEntry('Input')
pattern = re.compile(f'.*{search_term}.*')
msg = ''
t = []
for k, v in data.items():
if re.match(pattern, k) or re.match(pattern, v):
t.append([k, v])
results += 1
if len(t) != 0:
t.insert(0, [f'{results} results for', search_term])
title = f'Search Results for {search_term}'
app.startTab(title)
app.addTable('Search Results', data=t)
app.stopTab()
else:
msg = f'No results found for {search_term}'
app.infoBox(msg, msg)