def async_syscmd(cmd, onfinished): proc = QtCore.QProcess() def cmd_handler(exitstatus): out = proc.readAllStandardOutput() err = proc.readAllStandardError() #print "got",out, "e", err, "r", exitstatus onfinished(exitstatus, out, err) proc.finished[int].connect(cmd_handler) proc.start(cmd)
def run_one(self, ent, key): p = ent['proc'] = QtCore.QProcess() def fini(code, status): del self.cur[key] out = str(p.readAllStandardOutput()) err = str(p.readAllStandardError()) cb = ent['cb'] or self.default_cb later(self.sched) cb(out, err, status, ent) cmd = ent['arg'][0] args = ent['arg'][1:] p.start(cmd, args) p.finished.connect(fini)