Ignore:
Timestamp:
30/08/12 08:40:42 (7 years ago)
Author:
mnagni
Message:

Complete - # 22528: Migration of FAtCat Open Search link for HPFeld
 http://team.ceda.ac.uk/trac/ceda/ticket/22528
Adds a ceda_timestamp column to the tm_instant table to simplify the search-by-time in cedamoles.
The code has been changed consequently to use the new parameter.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • mauRepo/MolesManager/trunk/cedaMoles/libs/migration/processor/dataEntity.py

    r8537 r8545  
    4141    has_mo_been_processed, get_atom_document_hash_by_mo, extract_title, extract_summary, \ 
    4242    create_ex_geographic_boundingbox, from_date_string_to_pt, \ 
    43     compare_phenomenon_times, compareGeographicBoundingBoxes 
     43    compare_phenomenon_times, compareGeographicBoundingBoxes,\ 
     44    unify_observation_collection_phenomenon_time 
    4445from cedaMoles.libs.migration.processor.deployment import DeploymentProcessor 
    4546from logging import StreamHandler 
     
    5253from ea_model.ceda_metadatamodel.ceda_observationcollection.ceda_observationcollection \ 
    5354    import CEDA_ObservationCollection  
    54 from cedaMoles.MolesManager.moles3epb import unify_observation_collection_phenomenon_time 
    5555CEDA_TITLE = 'ceda_title' 
    5656 
     
    7878 
    7979    def _assignGeographicExtent(self, ceda_observationCollection): 
    80         bbox = self.epbRepo.moles3EPB.getUnifyObservationCollectionGEAsBBox(ceda_observationCollection) 
    81         if bbox is not None: 
    82             upperCornerData, lowerCornerData = bbox[4:len(bbox)-1].split(',') 
    83             east, north = upperCornerData.split() 
    84             west, south = lowerCornerData.split() 
    85             geographicExtent = create_ex_geographic_boundingbox(float(east), \ 
    86                                                                 float(north), \ 
    87                                                                 float(west), \ 
    88                                                                 float(south)) 
    89              
    90             if len(ceda_observationCollection.geographicExtent) == 0 or \ 
    91                 (len(ceda_observationCollection.geographicExtent) > 0 and \ 
    92                     not compareGeographicBoundingBoxes(geographicExtent, \ 
    93                                                   ceda_observationCollection.geographicExtent[0])): 
    94                 self.epbRepo.moles3EPB.updateCedaObject(ceda_observationCollection, \ 
    95                                                 {'geographicExtent': geographicExtent})                         
    96         else: 
    97             self._report.append(NoGeographicalExtensionException(self._dataEntityMigration))           
     80        bbox = self.epbRepo.moles3EPB.\ 
     81                    getUnifyObservationCollectionGEAsBBox(ceda_observationCollection) 
     82         
     83        if bbox is None: 
     84            self._report.\ 
     85                    append(NoGeographicalExtensionException(self._dataEntityMigration)) 
     86            return             
     87 
     88        upperCornerData, lowerCornerData = bbox[4:len(bbox)-1].split(',') 
     89        east, north = upperCornerData.split() 
     90        west, south = lowerCornerData.split() 
     91        geographicExtent = create_ex_geographic_boundingbox(float(east),  
     92                                                            float(north),  
     93                                                            float(west),  
     94                                                            float(south)) 
     95         
     96        if len(ceda_observationCollection.geographicExtent) == 0 or \ 
     97            (len(ceda_observationCollection.geographicExtent) > 0 and \ 
     98                not compareGeographicBoundingBoxes(geographicExtent, \ 
     99                                        ceda_observationCollection.geographicExtent[0])): 
     100            self.epbRepo.moles3EPB.updateCedaObject(ceda_observationCollection,  
     101                                            {'geographicExtent': geographicExtent})                         
     102                       
    98103         
    99104    def _assignPhenomenonTime(self, ceda_observationCollection): 
     
    102107        if end is not None: 
    103108            dateString = '%s/%s' % (start, end) 
    104         pt = from_date_string_to_pt(dateString) 
     109        pt = from_date_string_to_pt(start, end) 
    105110         
    106111        if pt is not None \ 
     
    301306                self._assignObservationCollectionToProject(obs_coll, ceda_observation)                     
    302307            except Exception as ex: 
    303                 self._report.append(ex)                 
     308                self._report.append(ex) 
    304309                         
    305310        self._assignGeographicExtent(obs_coll) 
Note: See TracChangeset for help on using the changeset viewer.