Omaha #3185 python newDataRequest() now supports
optional/default/keyword args Change-Id: Iaab83d9915899d96114c078fb82c99be3b59e0dc Former-commit-id:e1291395b0
[formerly 66804918e06afc9616fcfe0f0a12afd75a8143e1] Former-commit-id:88aa123a5a
This commit is contained in:
parent
55421c88dd
commit
bab319cf15
6 changed files with 161 additions and 7 deletions
|
@ -5,6 +5,11 @@
|
|||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.python.pydev.PyDevBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
|
@ -24,5 +29,6 @@
|
|||
<natures>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.python.pydev.pythonNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
|
|
5
edexOsgi/com.raytheon.uf.edex.dataaccess/.pydevproject
Normal file
5
edexOsgi/com.raytheon.uf.edex.dataaccess/.pydevproject
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?eclipse-pydev version="1.0"?><pydev_project>
|
||||
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
|
||||
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.7</pydev_property>
|
||||
</pydev_project>
|
|
@ -33,6 +33,7 @@
|
|||
# 02/14/13 1614 bsteffen refactor data access framework
|
||||
# to use single request.
|
||||
# 03/03/14 2673 bsteffen Add ability to query only ref times.
|
||||
# 07/22/14 3185 njensen Added optional/default args to newDataRequest
|
||||
#
|
||||
#
|
||||
#
|
||||
|
@ -91,6 +92,41 @@ def getGeometryData(request, times):
|
|||
def getAvailableLocationNames(request):
|
||||
return JavaDataAccessLayer.getAvailableLocationNames(request.toJavaObj())
|
||||
|
||||
def newDataRequest():
|
||||
return JDataRequest.JDataRequest(DefaultDataRequest())
|
||||
def getAvailableParameters(request):
|
||||
# TODO
|
||||
raise Exception('Not implemented yet')
|
||||
|
||||
def getAvailableLevels(request):
|
||||
# TODO
|
||||
raise Exception('Not implemented yet')
|
||||
|
||||
def getRequiredIdentifiers(datatype):
|
||||
# TODO
|
||||
raise Exception('Not implemented yet')
|
||||
|
||||
def getValidIdentifiers(datatype):
|
||||
# TODO
|
||||
raise Exception('Not implemented yet')
|
||||
|
||||
def newDataRequest(datatype, parameters=[], levels=[], locationNames = [], envelope=None, **kwargs):
|
||||
req = JDataRequest.JDataRequest(DefaultDataRequest())
|
||||
if datatype:
|
||||
req.setDatatype(datatype)
|
||||
if parameters:
|
||||
req.setParameters(*parameters)
|
||||
if levels:
|
||||
req.setLevels(*levels)
|
||||
if locationNames:
|
||||
req.setLocationNames(*locationNames)
|
||||
if envelope:
|
||||
req.setEnvelope(envelope)
|
||||
if kwargs:
|
||||
# any args leftover are assumed to be identifiers
|
||||
for key in kwargs:
|
||||
req.addIdentifier(key, kwargs[key])
|
||||
return req
|
||||
|
||||
def getSupportedDatatypes():
|
||||
# TODO
|
||||
raise Exception('Not implemented yet')
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
# 04/10/13 1871 mnash move getLatLonCoords to JGridData and add default args
|
||||
# 05/29/13 2023 dgilling Hook up ThriftClientRouter.
|
||||
# 03/03/14 2673 bsteffen Add ability to query only ref times.
|
||||
# 07/22/14 3185 njensen Added optional/default args to newDataRequest
|
||||
#
|
||||
#
|
||||
#
|
||||
|
@ -115,14 +116,85 @@ def getAvailableLocationNames(request):
|
|||
"""
|
||||
return router.getAvailableLocationNames(request)
|
||||
|
||||
def newDataRequest():
|
||||
def getAvailableParameters(request):
|
||||
"""
|
||||
Gets the available parameters names that match the request without actually
|
||||
requesting the data.
|
||||
|
||||
Args:
|
||||
request: the request to find matching parameter names for
|
||||
|
||||
Returns:
|
||||
a list of strings of available parameter names.
|
||||
"""
|
||||
return router.getAvailableParameters(request)
|
||||
|
||||
def getAvailableLevels(request):
|
||||
"""
|
||||
Gets the available levels that match the request without actually
|
||||
requesting the data.
|
||||
|
||||
Args:
|
||||
request: the request to find matching levels for
|
||||
|
||||
Returns:
|
||||
a list of strings of available levels.
|
||||
"""
|
||||
return router.getAvailableLevels(request)
|
||||
|
||||
def getRequiredIdentifiers(datatype):
|
||||
"""
|
||||
Gets the required identifiers for this datatype. These identifiers
|
||||
must be set on a request for the request of this datatype to succeed.
|
||||
|
||||
Args:
|
||||
datatype: the datatype to find required identifiers for
|
||||
|
||||
Returns:
|
||||
a list of strings of required identifiers
|
||||
"""
|
||||
return router.getRequiredIdentifiers(datatype)
|
||||
|
||||
def getValidIdentifiers(datatype):
|
||||
"""
|
||||
Gets the valid identifiers for this datatype.
|
||||
|
||||
Args:
|
||||
datatype: the datatype to find valid identifiers for
|
||||
|
||||
Returns:
|
||||
a list of strings of valid identifiers
|
||||
"""
|
||||
return router.getRequiredIdentifiers(datatype)
|
||||
|
||||
def newDataRequest(datatype=None, **kwargs):
|
||||
""""
|
||||
Creates a new instance of IDataRequest suitable for the runtime environment.
|
||||
|
||||
Args:
|
||||
|
||||
Args:
|
||||
datatype: the datatype to create a request for
|
||||
parameters: a list of parameters to set on the request
|
||||
levels: a list of levels to set on the request
|
||||
locationNames: a list of locationNames to set on the request
|
||||
envelope: an envelope to limit the request
|
||||
**kwargs: any leftover kwargs will be set as identifiers
|
||||
|
||||
Returns:
|
||||
a new IDataRequest
|
||||
"""
|
||||
return router.newDataRequest()
|
||||
return router.newDataRequest(datatype, **kwargs)
|
||||
|
||||
def getSupportedDatatypes():
|
||||
"""
|
||||
Gets the datatypes that are supported by the framework
|
||||
|
||||
Returns:
|
||||
a list of strings of supported datatypes
|
||||
"""
|
||||
return router.getSupportedDatatypes()
|
||||
|
||||
|
||||
def changeEDEXHost(newHostName):
|
||||
""""
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
# 05/21/13 #2023 dgilling Initial Creation.
|
||||
# 01/06/14 #2537 bsteffen Share geometry WKT.
|
||||
# 03/03/14 #2673 bsteffen Add ability to query only ref times.
|
||||
# 07/22/14 3185 njensen Added optional/default args to newDataRequest
|
||||
#
|
||||
|
||||
|
||||
|
@ -118,5 +119,39 @@ class ThriftClientRouter(object):
|
|||
response = self._client.sendRequest(locNamesRequest)
|
||||
return response
|
||||
|
||||
def newDataRequest(self):
|
||||
return DefaultDataRequest()
|
||||
def getAvailableParameters(self, request):
|
||||
# TODO
|
||||
raise Exception('Not implemented yet')
|
||||
|
||||
def getAvailableLevels(self, request):
|
||||
# TODO
|
||||
raise Exception('Not implemented yet')
|
||||
|
||||
def getRequiredIdentifiers(self, datatype):
|
||||
# TODO
|
||||
raise Exception('Not implemented yet')
|
||||
|
||||
def getValidIdentifiers(self, datatype):
|
||||
# TODO
|
||||
raise Exception('Not implemented yet')
|
||||
|
||||
def newDataRequest(self, datatype, parameters=[], levels=[], locationNames = [], envelope=None, **kwargs):
|
||||
req = DefaultDataRequest()
|
||||
if datatype:
|
||||
req.setDatatype(datatype)
|
||||
if parameters:
|
||||
req.setParameters(*parameters)
|
||||
if levels:
|
||||
req.setLevels(*levels)
|
||||
if locationNames:
|
||||
req.setLocationNames(*locationNames)
|
||||
if envelope:
|
||||
req.setEnvelope(envelope)
|
||||
if kwargs:
|
||||
# any args leftover are assumed to be identifiers
|
||||
req.identifiers = kwargs
|
||||
return req
|
||||
|
||||
def getSupportedDatatypes(self):
|
||||
# TODO
|
||||
raise Exception('Not implemented yet')
|
||||
|
|
|
@ -86,7 +86,7 @@ class IDataRequest(object):
|
|||
Sets the levels of data to request. Not all datatypes support levels.
|
||||
|
||||
Args:
|
||||
levels: a list of strings of level abbreviations to request
|
||||
levels: a list of strings of level abbreviations to request
|
||||
"""
|
||||
return
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue