Changeset 8352
- Timestamp:
- 15/06/12 23:42:22 (9 years ago)
- Location:
- mauRepo/HPFos/trunk/src
- Files:
-
- 1 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
mauRepo/HPFos/trunk/src/HPFos/osImpl/myimpl.py
r8347 r8352 25 25 RESULT = 'result' 26 26 27 def calculateStep(**kwargs): 28 step = 20 29 if kwargs['params_values'].has_key('count'): 30 step = int(kwargs['params_values']['count']) 31 return step 32 27 33 class MyOSAtomResponse(OSAtomResponse): 28 34 ''' … … 39 45 40 46 41 def generateResponse(self, result, queries, ospath ):47 def generateResponse(self, result, queries, ospath, **kwargs): 42 48 """ 43 49 @param result: a Result instance … … 55 61 #configuration level 56 62 #path = "http://mysite.com/" 57 step = 2058 63 step = calculateStep(**kwargs) 64 root = ElementTree(atomdoc).getroot() 59 65 #extracted from result parameter 60 linkid = result.id 61 total_result = len(result.subresult) 66 62 67 #Generate feed's links 63 self.generateFeedLinks( ElementTree(atomdoc).getroot(), ospath, None, total_result, step)68 self.generateFeedLinks(root, ospath, None, result.totalResult, step) 64 69 65 70 66 71 #Inserts the OpenSearchResponse elements 67 osdoc = OpenSearchResponse( ElementTree(atomdoc).getroot())68 os_totalResults = str( total_result)72 osdoc = OpenSearchResponse(root) 73 os_totalResults = str(result.totalResult) 69 74 os_startIndex = str(0) 70 75 os_itemsPerPage = str(step) 71 osdoc.createDocument(totalResults = os_totalResults, startIndex = os_startIndex, itemsPerPage = os_itemsPerPage) 72 ElementTree(atomdoc).getroot().extend(queries) 73 74 self.generateEntries(ElementTree(atomdoc).getroot(), result.subresult, ospath) 76 osdoc.createDocument(totalResults = os_totalResults, startIndex = os_startIndex, itemsPerPage = os_itemsPerPage) 77 for query in queries: 78 root.append(query) 79 80 self.generateEntries(root, result.subresult, ospath) 75 81 76 82 reparsed = minidom.parseString(tostring(atomdoc)) … … 167 173 entries.append(xmlentry) 168 174 169 atomroot.extend(entries) 175 for entry in entries: 176 atomroot.append(entry) 170 177 171 178 class MyOSHTMLResponse(OSHTMLResponse): … … 180 187 super(MyOSHTMLResponse, self).__init__() 181 188 182 def generateResponse(self, result ):189 def generateResponse(self, result, queries, ospath, **kwargs): 183 190 return result + " HTML!" 184 191 … … 203 210 params = [param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8] 204 211 super(MyOSQuery, self).__init__(params) 212 213 def _packResult(self, results, id = None, **kwargs): 214 subresults = [] 215 216 step = calculateStep(**kwargs) 217 218 startIndex = self.indexOffset 219 if kwargs['params_values'].has_key('startIndex'): 220 if int(kwargs['params_values']['startIndex']) < len(results): 221 startIndex = int(kwargs['params_values']['startIndex']) 222 223 startPage = self.pageOffset 224 if kwargs['params_values'].has_key('startPage'): 225 if int(kwargs['params_values']['startPage']) * step < len(results): 226 startPage = int(kwargs['params_values']['startPage']) 227 228 firstResult = startIndex 229 lastResult = firstResult + step 230 231 if startPage > 1 and (firstResult + startPage*step) <= len(results): 232 firstResult = firstResult + startPage*step 233 if firstResult + step <= len(results): 234 lastResult = firstResult + step 235 else: 236 lastResult = len(results) 237 238 for result in results[firstResult:lastResult]: 239 result_guid = kwargs['moles3EPB'].retrieveGUIDFromInstance(result) 240 item = Subresult(result_guid.id, "title", datetime.now().isoformat()) 241 subresults.append(item) 242 243 return Result(len(results), subresult = subresults) 244 205 245 206 246 def doSearch(self, **kwargs): … … 212 252 213 253 results = kwargs['moles3EPB'].getObservationCollections() 214 subresults = [] 215 216 for result in results: 217 result_guid = kwargs['moles3EPB'].retrieveGUIDFromInstance(result) 218 item = Subresult(result_guid.id, "title", datetime.now().isoformat()) 219 subresults.append(item) 220 221 #item = Subresult("ASA_IM__0P", "ASAR Image Mode source packets Level 0 (ASA_IM__0P)", "2012-06-01T00:52:48.213Z") 222 #subresults.append(item) 223 #item = Subresult("ER02_SAR_RAW_0P", "ERS-2 SAR Image SAR Annotated Raw Data Product Level 0 (ER02_SAR_RAW_0P)", "2012-05-09T11:09:49.570Z") 224 #subresults.append(item) 225 226 result = Result(subresult = subresults) 227 return result 254 return self._packResult(results, **kwargs) 228 255 229 256 def searchCollection(self, **kwargs): … … 232 259 obs_coll = kwargs['moles3EPB'].searchSelectiveLoadByInstance(obs_coll, 'member') 233 260 234 subresults = [] 235 for result in obs_coll.member: 236 result_guid = kwargs['moles3EPB'].retrieveGUIDFromInstance(result) 237 item = Subresult(result_guid.id, "title", datetime.now().isoformat()) 238 subresults.append(item) 239 240 result = Result(id = kwargs['params_values'][COLLECTION], subresult = subresults) 241 return result 261 return self._packResult(obs_coll.member, id = kwargs['params_values'][COLLECTION], **kwargs) 242 262 243 263 def searchObservation(self, **kwargs): … … 260 280 261 281 class Result(object): 262 def __init__(self, id = None, title = "Discovery feed for Search Services", updated = datetime.now().isoformat(), subresult = []):282 def __init__(self, totalResults, id = None, title = "Discovery feed for Search Services", updated = datetime.now().isoformat(), subresult = []): 263 283 ''' 264 284 Constructor … … 268 288 @param subresult: a Subresults array 269 289 ''' 290 self.totalResult = totalResults 270 291 self.id = id 271 292 self.title = title -
mauRepo/HPFos/trunk/src/HPFos/urls.py
r8348 r8352 27 27 ) 28 28 urlpatterns += patterns('HPFos.view.view', 29 (r'search/(\w+) $', 'doSearchL0'),29 (r'search/(\w+)/$', 'doSearchL0'), 30 30 ) 31 31 … … 34 34 ) 35 35 urlpatterns += patterns('HPFos.view.view', 36 (r'search/(\w+)/(\w+) $', 'doSearchL1'),36 (r'search/(\w+)/(\w+)/$', 'doSearchL1'), 37 37 ) 38 38 … … 41 41 ) 42 42 urlpatterns += patterns('HPFos.view.view', 43 (r'search/(\w+)/(\w+)/(\w+) $', 'doSearchL2'),43 (r'search/(\w+)/(\w+)/(\w+)/$', 'doSearchL2'), 44 44 ) 45 45 … … 48 48 ) 49 49 urlpatterns += patterns('HPFos.view.view', 50 (r'search/(\w+)/(\w+)/(\w+)/(\w+) $', 'doSearchL3'),50 (r'search/(\w+)/(\w+)/(\w+)/(\w+)/$', 'doSearchL3'), 51 51 ) -
mauRepo/HPFos/trunk/src/HPFos/view/view.py
r8346 r8352 25 25 params[RESULT] = result_guid 26 26 27 response = os_engine.doSearch(format, params , moles3EPB = request.moles3EPB)27 response = os_engine.doSearch(format, params_values = params, moles3EPB = request.moles3EPB) 28 28 return _dispatchResponse(request, response) 29 29 -
mauRepo/HPFos/trunk/src/markup/opensearch/os_engine.py
r8346 r8352 42 42 kwargs['params_values'] = params_values 43 43 queries = QueryTag.queryWithRoleRequest(mimetype, self.osRequest.query.params_model, params_values) 44 return response.generateResponse(self.osRequest.query.doSearch(**kwargs), [queries], self.ospath )44 return response.generateResponse(self.osRequest.query.doSearch(**kwargs), [queries], self.ospath, **kwargs) 45 45 return None 46 46 -
mauRepo/HPFos/trunk/src/markup/template/osresponse.py
r8346 r8352 19 19 20 20 @abstractmethod 21 def generateResponse(self, result, queries, ospath): 21 def generateResponse(self, result, queries, ospath, **kwargs): 22 ''' 23 @param result: the value returned from a OSQuery.doSearch instance invocation 24 @param queries: the value returned by a QueryTag.queryWithRoleRequest invocation 25 @param ospath: the host URL 26 @param kwargs: a dictionary of custom parameters 27 ''' 22 28 pass
Note: See TracChangeset
for help on using the changeset viewer.