startTab вызывает ошибку дублирования при передаче в fstring в качестве заголовка, который отличается от ранее созданного startTab - PullRequest
0 голосов
/ 16 мая 2019

Я ищу в словаре, и когда он вызывается в первый раз, он работает как положено, после этого он вызывает 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)
...