[Pywps-commits] r468 - in trunk: . pywps pywps/Templates pywps/WPS pywps/processes3
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Mon Apr 7 21:24:44 CEST 2008
Author: jachym
Date: 2008-04-07 21:24:43 +0200 (Mon, 07 Apr 2008)
New Revision: 468
Modified:
trunk/pywps/InAndOutputs.py
trunk/pywps/Process.py
trunk/pywps/Templates/Execute.tmpl
trunk/pywps/WPS/Execute.py
trunk/pywps/processes3/buffer.py
trunk/wps3.py
Log:
bugfixing process status
Modified: trunk/pywps/InAndOutputs.py
===================================================================
--- trunk/pywps/InAndOutputs.py 2008-03-25 05:38:32 UTC (rev 467)
+++ trunk/pywps/InAndOutputs.py 2008-04-07 19:24:43 UTC (rev 468)
@@ -220,9 +220,11 @@
self.abstract = abstract
self.metadata = metadata
self.type = type
-
return
+ def setValue(self,value):
+ self.value = value
+
class LiteralOutput(Output):
def __init__(self,identifier,title,abstract=None,
metadata=[], uoms=(), dataType = types.StringType,
@@ -255,6 +257,9 @@
self.formats = formats
return
+ def setValue(self,value):
+ self.value = value
+
class BoundingBoxOutput(Output):
def __init__(self,identifier,title,abstract=None,
metadata=[], crss=[]):
Modified: trunk/pywps/Process.py
===================================================================
--- trunk/pywps/Process.py 2008-03-25 05:38:32 UTC (rev 467)
+++ trunk/pywps/Process.py 2008-04-07 19:24:43 UTC (rev 468)
@@ -46,9 +46,12 @@
self.onStatusChanged()
def onStatusChanged(self):
+ """
+ To be redefined by other methods
+ """
pass
- def setProcess(self,name,value):
+ def setProcessStatus(self,name,value):
if name == "processAccepted":
self.processAccepted = value
elif name == "processStarted":
@@ -60,8 +63,6 @@
elif name == "processFailed":
self.processFailed = value
-
-
class WPSProcess:
"""
"""
@@ -185,7 +186,7 @@
retcode = p.wait()
if retcode != 0:
- self.status.setProcess("processFailed", True)
+ self.status.setProcessStatus("processFailed", True)
self.message("PyWPS stderr: %s\n" % (stderr),True)
raise Exception("PyWPS could not perform command [%s]:\n%s" % (cmd,stderr))
@@ -204,6 +205,12 @@
def getInputValue(self,identifier):
try:
- return self.inputs[identifier][value]
+ return self.inputs[identifier].value
except:
return None
+
+ def setOutputValue(self,identifier,value):
+ try:
+ return self.outputs[identifier].setValue(value)
+ except:
+ return None
Modified: trunk/pywps/Templates/Execute.tmpl
===================================================================
--- trunk/pywps/Templates/Execute.tmpl 2008-03-25 05:38:32 UTC (rev 467)
+++ trunk/pywps/Templates/Execute.tmpl 2008-04-07 19:24:43 UTC (rev 468)
@@ -14,8 +14,8 @@
</TMPL_IF>
</wps:Process>
<wps:Status creationTime="<TMPL_VAR statustime>">
- <TMPL_IF processsucceeded>
- <wps:ProcessSucceeded><TMPL_VAR processsucceeded></wps:ProcessSucceeded>
+ <TMPL_IF processsucc>
+ <wps:ProcessSucceeded><TMPL_VAR processsucc></wps:ProcessSucceeded>
</TMPL_IF>
<TMPL_IF processaccepted>
<wps:ProcessAccepted><TMPL_VAR processaccepted></wps:ProcessAccepted>
Modified: trunk/pywps/WPS/Execute.py
===================================================================
--- trunk/pywps/WPS/Execute.py 2008-03-25 05:38:32 UTC (rev 467)
+++ trunk/pywps/WPS/Execute.py 2008-04-07 19:24:43 UTC (rev 468)
@@ -32,7 +32,7 @@
"""
accepted = "processaccepted"
started = "processstarted"
- succeeded = "processsucceeded"
+ succeeded = "processsucc"
paused = "processpaused"
failed = "processfailed"
@@ -45,9 +45,7 @@
percent = 0
exceptioncode = 0
locator = 0
-
percent = 0
- processstatus = 0
dirsToBeRemoved = [] # directories, which should be removed
@@ -103,7 +101,8 @@
#
# Status
#
- self.setStatus(self.accepted)
+ self.setStatus(self.accepted,"Process %s accepted" %\
+ self.process.identifier)
#
# lineage
@@ -113,38 +112,24 @@
self.wps.inputs['responseform']['responsedocument']['lineage'] == True:
self.lineageInputs()
- # FIXME here we are
- self.response = self.templateProcessor.process(self.template)
#
# Execute
#
- #
- # Description
- #
- self.processDescription()
+ if self.wps.inputs["responseform"]["responsedocument"].has_key("status"):
+ if self.wps.inputs["responseform"]["responsedocument"]["status"]:
+ pass
+ #self.splitThreads()
+ self.executeProcess()
#
# Status
#
- self.setStatus(self.accepted)
+ self.setStatus(self.succeeded,
+ processstatus="PyWPS Process %s successfully calculated" %\
+ self.process.identifier)
- #
- # lineage
- #
- if self.wps.inputs['responseform']['responsedocument']['lineage']:
- self.lineageInputs()
-
self.response = self.templateProcessor.process(self.template)
-
- #
- # Execute
- #
- if self.wps.inputs["responseform"]["responsedocument"]["status"]:
- pass
- #self.splitThreads()
- self.executeProcess()
-
return
def initProcess(self):
@@ -246,22 +231,28 @@
if percent != 0: self.percent = percent
if exceptioncode != 0: self.exceptioncode = exceptioncode
if locator != 0: self.locator = locator
+
# init value
- self.templateProcessor.set("processstarted", 0)
- self.templateProcessor.set("processsucceeded", 0)
- self.templateProcessor.set("processpaused", 0)
- self.templateProcessor.set("processfailed", 0)
+ self.templateProcessor.set("processstarted",0)
+ self.templateProcessor.set("processsucc",0)
+ self.templateProcessor.set("processpaused",0)
+ self.templateProcessor.set("processfailed",0)
+ self.templateProcessor.set("processaccepted",0)
+
if self.status == self.accepted:
- self.templateProcessor.set("processaccepted", "true")
+ self.templateProcessor.set("processaccepted",
+ self.processstatus)
elif self.status == self.started:
self.templateProcessor.set("processstarted", "true")
self.templateProcessor.set("percentcompleted", self.percent*100)
elif self.status == self.succeeded:
- self.templateProcessor.set("processstarted",
+ self.process.status.set(percentDone=100)
+ self.templateProcessor.set("percentcompleted", self.percent)
+ self.templateProcessor.set("processsucc",
self.processstatus)
elif self.status == self.paused:
@@ -386,8 +377,10 @@
return serveraddress + "service=WPS&request=GetCapabilities&version="+self.wps.DEFAULT_WPS_VERSION
def onStatusChanged(self):
- pass
- print self.process.status
+ """
+ This method is used for redefinition of self.process.status class
+ """
+ self.percent = self.process.status.processCompleted
def initEnv(self):
Modified: trunk/pywps/processes3/buffer.py
===================================================================
--- trunk/pywps/processes3/buffer.py 2008-03-25 05:38:32 UTC (rev 467)
+++ trunk/pywps/processes3/buffer.py 2008-04-07 19:24:43 UTC (rev 468)
@@ -34,14 +34,13 @@
self.cmd("g.region -d")
-
self.status.set("Importing data",20)
self.cmd("v.in.ogr dsn=%s output=data" %\
(self.getInputValue('data')))
self.status.set("Buffering",50)
self.cmd("v.buffer input=data output=data_buff buffer=%s scale=1.0 tolerance=0.01" %\
- (self.GetInputValue('width')))
+ (self.getInputValue('width')))
self.status.set("Exporting data",90)
self.cmd("v.out.ogr type=area format=GML input=data_buff dsn=out.xml olayer=path.xml")
Modified: trunk/wps3.py
===================================================================
--- trunk/wps3.py 2008-03-25 05:38:32 UTC (rev 467)
+++ trunk/wps3.py 2008-04-07 19:24:43 UTC (rev 468)
@@ -107,7 +107,7 @@
self.performRequest()
if self.request.response:
- print "Contet-type: text/xml\n"
+ print "Content-type: text/xml\n"
print self.request.response
return
More information about the Pywps-commits
mailing list