Changeset 8646 for mauRepo


Ignore:
Timestamp:
19/10/12 10:35:52 (7 years ago)
Author:
mnagni
Message:

Incomplete - # 22576: Filtering on Files in a particular Result returns all Files rather than a subset.
 http://team.ceda.ac.uk/trac/ceda/ticket/22576

File:
1 edited

Legend:

Unmodified
Added
Removed
  • mauRepo/HPFos/trunk/hpfos/HPFos/osImpl/myimpl.py

    r8645 r8646  
    152152            geometry = entry.find('.//{%s}Envelope' % (GML_NAMESPACE)) 
    153153            if geometry is not None: 
    154                 lc = geometry.find('./{%s}lowerCorner' % (GML_NAMESPACE)).text.strip() 
    155                 uc = geometry.find('./{%s}upperCorner' % (GML_NAMESPACE)).text.strip() 
    156                 kwargs['geometry'] = _create_box2d(lc, uc) 
     154                geo_lc = geometry.find('./{%s}lowerCorner'  
     155                                       % (GML_NAMESPACE)).text.strip() 
     156                geo_uc = geometry.find('./{%s}upperCorner'  
     157                                       % (GML_NAMESPACE)).text.strip() 
     158                kwargs['geometry'] = _create_box2d(geo_lc, geo_uc) 
    157159 
    158160 
    159161        kwargs['enclosure'] = entry.findall("./{%s}link" % (ATOM_NAMESPACE)) 
    160162        #This can be activated on python >= 2.7 
    161         #kwargs['enclosure'] = entry.findall("./{%s}link[@rel='enclosure']" % (ATOM_NAMESPACE))                          
     163        #kwargs['enclosure'] = entry.findall("./{%s}link[@rel='enclosure']"  
     164        #                            % (ATOM_NAMESPACE))                          
    162165        kwargs['description'] = 'no description' 
    163166        subresults.append(Subresult(iid, ititle,  
     
    182185        kwargs = {} 
    183186        #------------------------ 
    184         phenomenonTime = result.phenomenonTime 
     187        phenomenon_time = result.phenomenonTime 
    185188        if isinstance(result, list) and len(result.phenomenonTime) > 0: 
    186             phenomenonTime = result.phenomenonTime[0]                     
     189            phenomenon_time = result.phenomenonTime[0]                     
    187190        kwargs['beginPosition'], kwargs['endPosition'] = \ 
    188             from_pt_to_string(phenomenonTime) 
     191            from_pt_to_string(phenomenon_time) 
    189192        #------------------------ 
    190193         
     
    202205    return subresults 
    203206 
    204 def import_count_and_page(context):         
    205     count = None 
    206     start_index = None 
    207     start_page = None 
     207def import_count_and_page(context): 
     208    ret = []         
    208209     
    209210    try:  
    210         count = int(context.get('count', COUNT_DEFAULT)) 
    211     except ValueError: 
    212         count = COUNT_DEFAULT        
     211        ret.append(int(context.get('count', COUNT_DEFAULT))) 
     212    except (ValueError, TypeError): 
     213        ret.append(COUNT_DEFAULT)       
    213214     
    214215    try:  
    215         start_index = int(context.get('startIndex', START_INDEX_DEFAULT)) 
    216     except ValueError: 
    217         start_index = START_INDEX_DEFAULT 
     216        ret.append(int(context.get('startIndex', START_INDEX_DEFAULT))) 
     217    except (ValueError, TypeError): 
     218        ret.append(START_INDEX_DEFAULT) 
    218219     
    219220    try:  
    220         start_page = int(context.get('startPage', START_PAGE_DEFAULT)) 
    221     except ValueError: 
    222         start_page = START_PAGE_DEFAULT 
    223      
    224     return count, start_index, start_page 
     221        ret.append(int(context.get('startPage', START_PAGE_DEFAULT))) 
     222    except (ValueError, TypeError): 
     223        ret.append(START_PAGE_DEFAULT) 
     224     
     225    return tuple(ret) 
    225226 
    226227class MyOSAtomResponse(OSAtomResponse): 
     
    242243            try: 
    243244                tot_results = len(instances) 
    244             except: 
     245            except TypeError: 
    245246                pass 
    246247        elif isinstance(results, _ElementInterface): 
     
    272273                                           rel = REL_SEARCH))                 
    273274 
    274     def generate_url(self, osHostURL, context): 
    275         return generate_url_id(osHostURL, context.get('guid'))   
     275    def generate_url(self, os_host_urlURL, context): 
     276        return generate_url_id(os_host_urlURL, context.get('guid'))   
    276277 
    277278    def generate_entries(self, atomroot, subresults, path, params_model, context): 
     
    288289            #Here could loop over results 
    289290            entry_path = generate_url_id(path, subresult.id) 
    290             atomID = createID(entry_path + '/' + self.extension, root = atomroot) 
     291            atom_id = createID(entry_path + '/' + self.extension, root = atomroot) 
    291292            ititle = createTitle(root = atomroot,  
    292293                                 body = subresult.title,  
     
    298299            atom_published = createPublished('TO_BE_DONE_2011-01-21T11:05:29.511Z',  
    299300                                            root = atomroot)             
    300             entry = createEntry(atomID, ititle, atom_updated, 
     301            entry = createEntry(atom_id, ititle, atom_updated, 
    301302                                published=atom_published, 
    302303                                content=atom_content, root = atomroot) 
     
    307308                    and subresult.beginPosition is not None: 
    308309                begin_position = subresult.beginPosition 
    309             if hasattr(subresult, 'endPosition') and subresult.endPosition is not None:                 
     310            if hasattr(subresult, 'endPosition') \ 
     311                    and subresult.endPosition is not None:                 
    310312                end_position = subresult.endPosition  
    311             append_valid_time(subresult, entry, atomroot, begin_position, end_position)             
     313            append_valid_time(subresult, entry, atomroot,  
     314                              begin_position, end_position)             
    312315             
    313316            idate = createDate(root = atomroot,  
    314                                body = 'TO_BE_DONE_2002-10-18T08:07:37.387Z/2012-03-29T07:12:20.735Z')         
     317                body = 'TO_BE_DONE_2002-10-18T08:07:37.387Z/2012-03-29T07:12:20.735Z')         
    315318            entry.append(idate) 
    316319             
    317             if hasattr(subresult, 'geometry') and subresult.geometry is not None: 
     320            if hasattr(subresult, 'geometry') \ 
     321                    and subresult.geometry is not None: 
    318322                where = create_where_from_postgis(subresult.geometry, atomroot) 
    319323                entry.append(where) 
     
    323327            self.generateEntryLinks(entry, atomroot, entry_path, \ 
    324328                                    params_model, context) 
    325             if hasattr(subresult, 'enclosure') and subresult.enclosure is not None:  
     329            if hasattr(subresult, 'enclosure') \ 
     330                    and subresult.enclosure is not None:  
    326331                for enclosure in subresult.enclosure: 
    327332                    if enclosure.get('rel', None) == 'enclosure':  
    328333                        entry.append(createLink(enclosure.get('href'),  
    329                                                 rel = 'enclosure',  
    330                                                 root = atomroot,  
    331                                                 itype = enclosure.get('type'), 
    332                                                 length = enclosure.get('length')))                 
     334                                            rel = 'enclosure',  
     335                                            root = atomroot,  
     336                                            itype = enclosure.get('type'), 
     337                                            length = enclosure.get('length')))                 
    333338                             
    334339            entries.append(entry) 
     
    359364        ''' 
    360365            Constructor 
    361         '''        
    362         param_1 = OSParam("count", "count", namespace = OS_NAMESPACE) 
    363         param_2 = OSParam("startPage", "startPage", namespace = OS_NAMESPACE) 
    364         param_3 = OSParam("startIndex", "startIndex", namespace = OS_NAMESPACE)                 
    365         param_4 = OSParam("q", "searchTerms", namespace = OS_NAMESPACE)            
    366         param_5 = OSParam("uid", "uid",  
    367                           namespace = "http://a9.com/-/opensearch/extensions/geo/1.0/")         
    368         param_6 = OSParam(BBOX, 'box',  
    369                           namespace = "http://a9.com/-/opensearch/extensions/geo/1.0/")         
    370         param_7 = OSParam("start", "start",  
    371                           namespace = "http://a9.com/-/opensearch/extensions/time/1.0/")         
    372         param_8 = OSParam("stop", "end",  
    373                           namespace = "http://a9.com/-/opensearch/extensions/time/1.0/")         
    374         params = [param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8]  
     366        ''' 
     367        params = [] 
     368        params.append(OSParam("count", "count",  
     369                              namespace = OS_NAMESPACE)) 
     370        params.append(OSParam("startPage", "startPage",  
     371                              namespace = OS_NAMESPACE)) 
     372        params.append(OSParam("startIndex", "startIndex",  
     373                              namespace = OS_NAMESPACE))                 
     374        params.append(OSParam("q", "searchTerms",  
     375                              namespace = OS_NAMESPACE))          
     376        params.append(OSParam("uid", "uid",  
     377                namespace = "http://a9.com/-/opensearch/extensions/geo/1.0/"))         
     378        params.append(OSParam(BBOX, 'box',  
     379                namespace = "http://a9.com/-/opensearch/extensions/geo/1.0/"))        
     380        params.append(OSParam("start", "start",  
     381                namespace = "http://a9.com/-/opensearch/extensions/time/1.0/"))         
     382        params.append(OSParam("stop", "end",  
     383                namespace = "http://a9.com/-/opensearch/extensions/time/1.0/"))         
    375384        super(MyOSQuery, self).__init__(params) 
    376385         
Note: See TracChangeset for help on using the changeset viewer.