wxPython应用程序(无响应)暂时

时间:2013-08-14 13:35:39

标签: python http urllib2 wxwidgets

文件选择会触发下面的代码。

当线程运行几个DELETE请求时,会运行一个循环脉冲进度条。

请求窗口显示(未响应)的一半,一旦线程完成并且一切都恢复正常就会消失。

我做错了什么?如何解决(Not Responding)问题?

这让我心理上好几个小时试图找到原因。

我认为这与请求相关,但我无法弄清楚如何。

def Process(self, event):
    self._thread_end      = False
    self._process_success = False
    threading.Thread(target=self.ProcessThread).start()

    while not self._thread_end:
        time.sleep(0.05)
        self._gauge.Pulse()
    self._gauge.SetValue(0)
    self.PageResult(self._process_success)



def ProcessThread(self):
    try:
        csv_file = self._csv_dirname + '/' + self._csv_filename
        if os.path.isfile(csv_file):
            csv_contents = open(csv_file).read().replace('\r\n', '\n')
            csv_list     = filter(None, csv_contents.split('\n'))

            for entry in csv_list:
                http = urllib2.Request(self._logged_url + '/api/' + entry)
                http.get_method = lambda: 'DELETE'
                result = urllib2.urlopen(http)

        self._process_success = True
    except:
        self._process_success = False
        exc_type, exc_value, exc_traceback = sys.exc_info()
        ExceptCatch(exc_type.__name__, exc_value, exc_traceback, threading.current_thread().name)
    self._thread_end = True

0 个答案:

没有答案