当以字符串形式传递给startTab的标题与先前创建的startTab不同时,startTab会引发复制错误

时间:2019-05-16 03:07:01

标签: python-3.x appjar

我正在搜索字典,当它第一次被调用时,它会按预期工作,此后,它将在控制台中从appJar.appjar引发ItemLookupError。将打开一个新标签,但未加载预期数据

我尝试将其放在try / except中,除非引起问题的原始标签应该已删除,但不会删除。我希望保持打开原始标签。

来自appJar源代码

if text in self.widgetStore: raise ItemLookupError("Duplicate tabName: " + text)

其中widgetStoreOrderedDict()似乎是问题所在。

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)

0 个答案:

没有答案