def create_get_site_response(self, siteArg=None): if siteArg is None or siteArg == '': siteResultArr = self.dao.get_all_sites() else: siteCodesArr = siteArg.split(',') siteCodesArr = [self.get_site_code(s) for s in siteCodesArr] siteResultArr = self.dao.get_sites_by_codes(siteCodesArr) # if len(siteResultArr) == 0: # return None siteInfoResponse = WaterML.SiteInfoResponseType() queryInfo = WaterML.QueryInfoType() # TODO: check on how this should be done for multiple sites. criteria = WaterML.criteria(locationParam=siteArg) queryInfo.set_criteria(criteria) queryInfoNote = WaterML.NoteType() queryInfo.add_note(queryInfoNote) queryInfo.set_extension('') siteInfoResponse.set_queryInfo(queryInfo) if siteResultArr: for siteResult in siteResultArr: s = self.create_site_element(siteResult) siteInfoResponse.add_site(s) else: # site = WaterML.site() # siteInfoResponse.add_site(site) raise Exception("Site,'%s', Not Found" % siteArg) return siteInfoResponse
def create_get_site_info_response(self, siteArg, varArg=None): if siteArg is None: raise Exception("Site Not Found") siteCode = self.get_site_code(siteArg) siteResult = self.dao.get_site_by_code(siteCode) if (varArg is None or varArg == ''): seriesResultArr = self.dao.get_series_by_sitecode(siteCode) else: varCode = self.get_variable_code(varArg) seriesResultArr = self.dao.get_series_by_sitecode_and_varcode( siteCode, varCode) if seriesResultArr is None or len(seriesResultArr) == 0: raise Exception("Site,'%s', Not Found" % siteArg) siteInfoResponse = WaterML.SiteInfoResponseType() queryInfo = WaterML.QueryInfoType() criteria = WaterML.criteria(locationParam=siteArg, variableParam=varArg) queryInfo.set_criteria(criteria) queryInfoNote = WaterML.NoteType() queryInfo.add_note(queryInfoNote) queryInfo.set_extension('') siteInfoResponse.set_queryInfo(queryInfo) if siteResult: s = self.create_site_element(siteResult, seriesResultArr) siteInfoResponse.add_site(s) else: # site = WaterML.site() # siteInfoResponse.add_site(site) raise Exception("Site,'%s', Not Found" % siteArg) return siteInfoResponse