- Timestamp:
- 19/10/12 09:40:16 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
mauRepo/HPFos/trunk/hpfos/HPFos/osImpl/myimpl.py
r8642 r8643 86 86 HPFOS_TITLE = 'Discovery feed for Search Services %s' % (HPFOS_ID) 87 87 88 def _append_valid_time(subresult, entry, atomroot,88 def append_valid_time(subresult, entry, atomroot, 89 89 beginPosition, endPosition): 90 90 #xmlentry = entry.buildElement() … … 101 101 entry.append(validTime) 102 102 103 def _extractTitle(cedaObj):103 def extractTitle(cedaObj): 104 104 if hasattr(cedaObj, 'identifier'): 105 105 for ident in cedaObj.identifier: … … 113 113 return "%s/search/%s" % (url, iid) 114 114 115 def _new_extract_geographic_extent(result):115 def new_extract_geographic_extent(result): 116 116 if not hasattr(result, 'geographicExtent') \ 117 117 or result.geographicExtent is None \ … … 126 126 '%s %s' % (ge.northBoundLatitude, ge.eastBoundLongitude)) 127 127 128 def _digest_fatcat_atom(context, results):128 def digest_fatcat_atom(context, results): 129 129 entries = results.findall('{%s}entry' % (ATOM_NAMESPACE)) 130 130 subresults = [] … … 176 176 if result_guid is None: 177 177 continue 178 ititle = _extractTitle(result)178 ititle = extractTitle(result) 179 179 180 180 kwargs = {} … … 188 188 189 189 #------------------------ 190 kwargs['geometry'] = _new_extract_geographic_extent(result)190 kwargs['geometry'] = new_extract_geographic_extent(result) 191 191 #------------------------ 192 192 … … 199 199 subresults.append(item) 200 200 return subresults 201 202 def import_count_and_page(context): 203 count = COUNT_DEFAULT 204 start_index = START_INDEX_DEFAULT 205 start_page = START_PAGE_DEFAULT 206 207 try: 208 count = int(context['count']) 209 except: 210 pass 211 212 try: 213 start_index = int(context['startIndex']) 214 except: 215 pass 216 217 try: 218 start_page = int(context['startPage']) 219 except: 220 pass 221 222 return count, start_index, start_page 201 223 202 224 class MyOSAtomResponse(OSAtomResponse): … … 221 243 pass 222 244 elif isinstance(results, _ElementInterface): 223 instances = self._digest_fatcat_atom(context, results)245 instances = digest_fatcat_atom(context, results) 224 246 tot_results = int(results.find('{%s}totalResults' 225 247 % (OS_NAMESPACE)).text.replace('\n','').strip()) 226 248 227 count, start_index, start_page = self._importCountAndPage(context)249 count, start_index, start_page = import_count_and_page(context) 228 250 subresults = filter_results(instances, count, start_index, start_page) 229 251 … … 232 254 or (type(instances) == InstrumentedList \ 233 255 and type(instances[0]) == CEDA_Observation): 234 subresults = self.apply_query_params(context, subresults)256 subresults = apply_query_params(context, subresults) 235 257 236 258 return Result(count, start_index, start_page, tot_results, \ … … 287 309 if hasattr(subresult, 'endPosition') and subresult.endPosition is not None: 288 310 endPosition = subresult.endPosition 289 _append_valid_time(subresult, entry, atomroot, beginPosition, endPosition)311 append_valid_time(subresult, entry, atomroot, beginPosition, endPosition) 290 312 291 313 idate = createDate(root = atomroot, … … 314 336 for entry in entries: 315 337 atomroot.append(entry) 316 317 def _importCountAndPage(self, context):318 count = COUNT_DEFAULT319 start_index = START_INDEX_DEFAULT320 start_page = START_PAGE_DEFAULT321 322 try:323 count = int(context['count'])324 except:325 pass326 327 try:328 start_index = int(context['startIndex'])329 except:330 pass331 332 try:333 start_page = int(context['startPage'])334 except:335 pass336 337 return count, start_index, start_page338 338 339 339 class MyOSHTMLResponse(OSHTMLResponse): … … 387 387 388 388 if context.has_key(GUID) and 'FID' in context[GUID]: 389 return self._extractFatcatEntities(context[GUID])389 return extractFatcatEntities(context[GUID]) 390 390 391 391 start = None … … 417 417 418 418 419 def _extractFatcatEntities(self, fc_resource_id): 420 path = '/%s/search/%s/atom/' % (FATCAT_ROOT_PATH, str(fc_resource_id)) 421 return find_fatcat_atom_entity(host = FATCAT_HOST, path = path) 419 def extractFatcatEntities(fc_resource_id): 420 ''' 421 Uses the Fatcat resource_id to build and submit an Opensearch query to Fatcat 422 ''' 423 path = '/%s/search/%s/atom/' % (FATCAT_ROOT_PATH, str(fc_resource_id)) 424 return find_fatcat_atom_entity(host = FATCAT_HOST, path = path) 422 425 423 426 def find_fatcat_atom_entity(host = 'localhost', path = '', port = 80):
Note: See TracChangeset
for help on using the changeset viewer.