From 19cabb7e4b4011ac8b2a6ca57228fb3b6b077448 Mon Sep 17 00:00:00 2001 From: FranklinZhang Date: Mon, 18 Mar 2019 15:35:03 +0800 Subject: [PATCH 1/3] add public invoking Signed-off-by: FranklinZhang --- swig/python/__init__.py | 6 +++++- swig/python/test_task.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/swig/python/__init__.py b/swig/python/__init__.py index bf9d4a3..567ec70 100644 --- a/swig/python/__init__.py +++ b/swig/python/__init__.py @@ -12,4 +12,8 @@ class OGMSService_DEBUG: taskServer = GeoTaskServer(ip, port) if taskServer.connect(): return taskServer - return None \ No newline at end of file + return None + + @staticmethod + def CreateTask(name): + pass \ No newline at end of file diff --git a/swig/python/test_task.py b/swig/python/test_task.py index 4215100..5050b24 100644 --- a/swig/python/test_task.py +++ b/swig/python/test_task.py @@ -9,4 +9,4 @@ if task <> None: task.wait4Finish() print 'Suc' else: - print 'Error' \ No newline at end of file + print 'Error' \ No newline at end of file -- Gitee From 00081061422212314647455166d6566b29d18a54 Mon Sep 17 00:00:00 2001 From: FranklinZhang Date: Tue, 14 May 2019 21:19:30 +0800 Subject: [PATCH 2/3] add test file update function name Signed-off-by: FranklinZhang --- swig/python/server.py | 4 ++-- swig/python/test.py | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 swig/python/test.py diff --git a/swig/python/server.py b/swig/python/server.py index 47187b8..d94ade7 100644 --- a/swig/python/server.py +++ b/swig/python/server.py @@ -101,7 +101,7 @@ class Server(Service): def __init__(self, ip, port): Service.__init__(self, ip, port) - def getServiceAccess(self): + def createServiceAccess(self): if self.connect() : return ServiceAccess(self.ip, self.port) return None @@ -113,7 +113,7 @@ class Server(Service): currdir = os.path.abspath(os.curdir) try: if self.connect() : - access = self.getServiceAccess() + access = self.createServiceAccess() if count < 100: list_ms = access.getModelServicesList() for index, item in enumerate(list_ms): diff --git a/swig/python/test.py b/swig/python/test.py new file mode 100644 index 0000000..4938196 --- /dev/null +++ b/swig/python/test.py @@ -0,0 +1,26 @@ +# Author : Fengyuan(Franklin) Zhang +# Date : 2019/1/4 +# Description : Test for service SDK +from __init__ import OGMSService_DEBUG + + +server = OGMSService_DEBUG.CreateServer("127.0.0.1", 8060) +# server = OGMSService_DEBUG.CreateServer("172.21.212.7", 8060) +server.connect() +if server.connect() : + access = server.createServiceAccess() + list_ms = access.getModelServicesList() + for index, item in enumerate(list_ms): + print "ID : " + item.id + " - Name : " + item.name + " - Type : " + item.type + dataid = access.uploadDataByFile("aread8_input", "E:\\DemoData\\GeoModeling\\udx_zip_d8\\d8.tif") + print "AreaD8 - Input Data ID : " + dataid + swat = access.getModelServiceByID("5acf6bde18f9e109f0aafa38") + recordid = swat.invoke([access.createDataConfigurationItem("RUNSTATE", "D8FlowDirection", dataid)]) + record = access.getModelServiceRunningRecordByID(recordid) + instance = access.getModelServiceInstanceByGUID(record.guid) + instance.wait4Status(4, 7200, True) + print "AreaD8 has been finished" + record.refresh() + for index,item in enumerate(record.outputs): + dat = access.getDataByID(item.dataid) + dat.save("E:\\DemoData\\GeoModeling\\udx_zip_d8\\AreaD8_" + item.eventname + ".zip") \ No newline at end of file -- Gitee From 4c9691d356090be0779510ae25511c1997a3b402 Mon Sep 17 00:00:00 2001 From: FranklinZhang Date: Tue, 9 Jul 2019 16:04:10 +0800 Subject: [PATCH 3/3] fix a bug add None judgment for data --- swig/python/modelserivce.py | 2 ++ swig/python/server.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/swig/python/modelserivce.py b/swig/python/modelserivce.py index ae45bc0..6ae8c2e 100644 --- a/swig/python/modelserivce.py +++ b/swig/python/modelserivce.py @@ -32,6 +32,8 @@ class ModelService(Service): def invoke(self, list_data): path = "/modelser/" + self.id + "?ac=run&inputdata=[" for index, item in enumerate(list_data): + if index <> 0: + path += "," path += "{\"StateId\":\"" + item.stateid + "\",\"StateName\":\"" + item.statename + "\",\"Event\":\"" + item.eventname + "\",\"DataId\":\"" + item.dataid + "\",\"Destoryed\":\"" + str(item.destoryed) + "\"}" path += "]" jsData = HttpHelper.Request_get_sync(self.ip, self.port, path) diff --git a/swig/python/server.py b/swig/python/server.py index d94ade7..d9b616a 100644 --- a/swig/python/server.py +++ b/swig/python/server.py @@ -86,6 +86,8 @@ class ServiceAccess(Service): def getDataByID(self, dataid): jsData = HttpHelper.Request_get_sync(self.ip, self.port, "/geodata/json/" + dataid) dat = None + if jsData == 'Error': + return None if jsData["result"] == "suc" and jsData["data"] != "": jsGData = jsData["data"] dat = Data(CommonMethod.getJsonValue(jsGData, "gd_id"), CommonMethod.getJsonValue(jsGData, "gd_tag"), CommonMethod.getJsonValue(jsGData, "gd_type"), int(CommonMethod.getJsonValue(jsGData, "gd_size")), CommonMethod.getJsonValue(jsGData, "gd_value"), CommonMethod.getJsonValue(jsGData, "gd_datetime"), self.ip, self.port) -- Gitee