- Bug seems to be resolved!
This commit is contained in:
parent
8f1e1ae8a9
commit
38dd697f41
@ -421,6 +421,7 @@ class ResultWindow(wx.Frame):
|
||||
|
||||
|
||||
class ScytherRun(object):
|
||||
|
||||
def __init__(self,mainwin,mode):
|
||||
|
||||
self.mainwin = mainwin
|
||||
@ -430,7 +431,41 @@ class ScytherRun(object):
|
||||
self.options = mainwin.settings.ScytherArguments(mode)
|
||||
self.main()
|
||||
|
||||
def main(self):
|
||||
"""
|
||||
Start process
|
||||
"""
|
||||
|
||||
title = "Running Scyther %s process" % self.mode
|
||||
# start the window and show until something happens
|
||||
# if it terminates, this is a cancel, and should also kill the thread. (what happens to a spawned Scyther in that case?)
|
||||
# if the thread terminames, it should close the window normally, and we end up here as well.
|
||||
#val = self.verifywin.ShowModal()
|
||||
self.verifywin = VerificationWindow(self.mainwin,title)
|
||||
self.verifywin.Center()
|
||||
self.verifywin.Show(True)
|
||||
|
||||
# Check sanity of Scyther thing here (as opposed to the thread)
|
||||
# which makes error reporting somewhat easier
|
||||
try:
|
||||
Scyther.Scyther.Check()
|
||||
except Scyther.Error.BinaryError, e:
|
||||
# e.file is the supposed location of the binary
|
||||
text = "Could not find Scyther binary at\n%s" % (e.file)
|
||||
Error.ShowAndExit(text)
|
||||
|
||||
# start the thread
|
||||
|
||||
self.verifywin.SetCursor(wx.StockCursor(wx.CURSOR_WAIT))
|
||||
t = ScytherThread(self.spdl, self.options, self.verificationDone)
|
||||
t.start()
|
||||
|
||||
# after verification, we proceed to the callback below...
|
||||
|
||||
def verificationDone(self, scyther, claims, summary):
|
||||
"""
|
||||
This is where we end up after a callback from the thread, stating that verification succeeded.
|
||||
"""
|
||||
|
||||
self.scyther = scyther
|
||||
self.claims = claims
|
||||
@ -446,6 +481,7 @@ class ScytherRun(object):
|
||||
self.verificationErrors()
|
||||
|
||||
def verificationOkay(self):
|
||||
|
||||
# Great, we verified stuff, progress to the claim report
|
||||
title = "Scyther results : %s" % self.mode
|
||||
self.resultwin = resultwin = ResultWindow(self,self.mainwin,title)
|
||||
@ -487,41 +523,5 @@ class ScytherRun(object):
|
||||
errorwin.Center()
|
||||
val = errorwin.ShowModal()
|
||||
|
||||
def main(self):
|
||||
"""
|
||||
Start process
|
||||
"""
|
||||
|
||||
title = "Running Scyther %s process" % self.mode
|
||||
self.verifywin = VerificationWindow(self.mainwin,title)
|
||||
self.verifywin.Center()
|
||||
self.verifywin.Show(True)
|
||||
|
||||
# Check sanity of Scyther thing here (as opposed to the thread)
|
||||
# which makes error reporting somewhat easier
|
||||
try:
|
||||
Scyther.Scyther.Check()
|
||||
except Scyther.Error.BinaryError, e:
|
||||
# e.file is the supposed location of the binary
|
||||
text = "Could not find Scyther binary at\n%s" % (e.file)
|
||||
Error.ShowAndExit(text)
|
||||
|
||||
# start the thread
|
||||
|
||||
self.verifywin.SetCursor(wx.StockCursor(wx.CURSOR_WAIT))
|
||||
t = ScytherThread(self.spdl, self.options, self.verificationDone)
|
||||
t.start()
|
||||
|
||||
# start the window and show until something happens
|
||||
# if it terminates, this is a cancel, and should also kill the thread. (what happens to a spawned Scyther in that case?)
|
||||
# if the thread terminames, it should close the window normally, and we end up here as well.
|
||||
val = self.verifywin.ShowModal()
|
||||
|
||||
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
# vim: set ts=4 sw=4 et list lcs=tab\:>-:
|
||||
|
@ -166,6 +166,11 @@ class Scyther(object):
|
||||
if self.program == None:
|
||||
raise Error.NoBinaryError
|
||||
|
||||
# Sanitize input somewhat
|
||||
if not spdl or spdl == "":
|
||||
# Scyther hickups on completely empty input
|
||||
spdl = " "
|
||||
|
||||
# Generate temporary files for the output
|
||||
# Requires Python 2.3 though.
|
||||
(fde,fne) = tempfile.mkstemp() # errors
|
||||
@ -174,8 +179,7 @@ class Scyther(object):
|
||||
|
||||
# Write (input) file
|
||||
fhi = os.fdopen(fdi,'w+b')
|
||||
if spdl:
|
||||
fhi.write(spdl)
|
||||
fhi.write(spdl)
|
||||
fhi.close()
|
||||
|
||||
# Generate command line for the Scyther process
|
||||
|
Loading…
Reference in New Issue
Block a user