def _generateRequest(dataSetURI, algorithm, method, varID, verbose): """ Takes a dataset uri, algorithm, method, and datatype. This function will generate a simple XML document to make the request specified. (Only works for ListOpendapGrids and GetGridTimeRange). Will return a list containing the info requested for (either data types or time range). """ POST = WebProcessingService(WPS_Service, verbose=verbose) xmlGen = gdpXMLGenerator() root = xmlGen.getXMLRequestTree(dataSetURI, algorithm, method, varID, verbose) request = etree.tostring(root) execution = POST.execute(None, [], request=request) _execute_request._check_for_execution_errors(execution) if method == 'getDataSetTime': seekterm = '{xsd/gdptime-1.0.xsd}time' elif method == 'getDataType': seekterm = '{xsd/gdpdatatypecollection-1.0.xsd}name' elif method == 'getDataLongName': seekterm = '{xsd/gdpdatatypecollection-1.0.xsd}description' elif method == 'getDataUnits': seekterm = '{xsd/gdpdatatypecollection-1.0.xsd}unitsstring' return _parseXMLNodesForTagText(execution.response, seekterm)
def uploadShapeFile(filePath): """ Given a file, this function encodes the file and uploads it onto geoserver. """ # encodes the file, opens it, reads it, and closes it # returns a filename in form of: filename_copy.zip filePath = _encodeZipFolder(filePath) if filePath is None: return filehandle = open(filePath, 'r') filedata = filehandle.read() filehandle.close() os.remove(filePath) # deletes the encoded file # this if for naming the file on geoServer filename = filePath.split("/") # gets rid of filepath, keeps only filename eg: file.zip filename = filename[len(filename) - 1] filename = filename.replace("_copy.zip", "") xmlGen = gdpXMLGenerator() root = xmlGen.getUploadXMLtree(filename, upload_URL, filedata) # now we have a complete XML upload request uploadRequest = etree.tostring(root) POST = WebProcessingService(WPS_Service) execution = POST.execute(None, [], request=uploadRequest) monitorExecution(execution) return "upload:"+filename
def _generateRequest(dataSetURI, algorithm, method, varID, verbose): """ Takes a dataset uri, algorithm, method, and datatype. This function will generate a simple XML document to make the request specified. (Only works for ListOpendapGrids and GetGridTimeRange). Will return a list containing the info requested for (either data types or time range). """ POST = WebProcessingService(WPS_Service, verbose=verbose) xmlGen = gdpXMLGenerator() root = xmlGen.getXMLRequestTree(dataSetURI, algorithm, method, varID, verbose) request = etree.tostring(root) execution = POST.execute(None, [], request=request) _execute_request._check_for_execution_errors(execution) if method == 'getDataSetTime': seekterm = '{xsd/gdptime-1.0.xsd}time' elif method == 'getDataType': seekterm = '{xsd/gdpdatatypecollection-1.0.xsd}name' elif method == 'getDataLongName': seekterm = '{xsd/gdpdatatypecollection-1.0.xsd}description' elif method == 'getDataUnits': seekterm = '{xsd/gdpdatatypecollection-1.0.xsd}unitsstring' return _parseXMLNodesForTagText(execution.response, seekterm)
def uploadShapeFile(filePath): """ Given a file, this function encodes the file and uploads it onto geoserver. """ # encodes the file, opens it, reads it, and closes it # returns a filename in form of: filename_copy.zip filePath = _encodeZipFolder(filePath) if filePath is None: return filehandle = open(filePath, 'r') filedata = filehandle.read() filehandle.close() os.remove(filePath) # deletes the encoded file # this if for naming the file on geoServer filename = filePath.split("/") # gets rid of filepath, keeps only filename eg: file.zip filename = filename[len(filename) - 1] filename = filename.replace("_copy.zip", "") xmlGen = gdpXMLGenerator() root = xmlGen.getUploadXMLtree(filename, upload_URL, filedata) # now we have a complete XML upload request uploadRequest = etree.tostring(root) POST = WebProcessingService(WPS_Service) execution = POST.execute(None, [], request=uploadRequest) monitorExecution(execution) return "upload:" + filename