Ignore:
Timestamp:
12/04/12 11:33:53 (8 years ago)
Author:
mnagni
Message:

Incomplete - # 22385: CEDA Observation - result
 http://team.ceda.ac.uk/trac/ceda/ticket/22385

File:
1 edited

Legend:

Unmodified
Added
Removed
  • mauRepo/MolesManager/trunk/src/libs/migration/processor/deployment.py

    r8207 r8221  
    2020    findLinksInDeployment, createMD_LegalConstraints, extractMolesQuality,\ 
    2121    createDQ_Element, createDQ_ConformanceResult, findUpdatedDate,\ 
    22     createMD_Metadata 
     22    createMD_Metadata, createMO_OnlineResource 
    2323from ea_model.moles3_4.utilities.mo_rolevalue import MO_RoleValue 
    2424from ea_model.ceda_metadatamodel.ceda_observation.ceda_observation import CEDA_Observation 
     
    4040from copy import deepcopy 
    4141import datetime 
     42from libs.migration.InfodbEPB import InfodbEPB 
     43from ea_model.ceda_metadatamodel.ceda_result import ceda_curationvalue 
    4244 
    4345class DeploymentProcessor(object): 
     
    213215        return ceda_observation 
    214216 
     217    def _getcurationcategory(self, curationcategory): 
     218        """ 
     219            Returns a CEDA_CurationValue code if the parameter match any CEDA_CurationValue code 
     220            @param curationcategory: a String  
     221        """ 
     222        if curationcategory is None: 
     223            return None 
     224         
     225        for code in ceda_curationvalue.CEDA_CurationValue.__dict__: 
     226            if code.startswith('cl_'): 
     227                if code.lower() == curationcategory.lower(): 
     228                    return code 
     229        return None 
     230         
    215231 
    216232    def _assignResult(self, observation): 
     
    227243            int_applicationProfile = None 
    228244            if content.has_key('formats'): 
    229                 int_applicationProfile = content['formats'] 
     245                #int_applicationProfile = content['formats'] 
     246                pass 
    230247            if dwn['href'].startswith('http://badc.nerc.ac.uk/browse') or dwn['href'].startswith('http://neodc.nerc.ac.uk/browse'): 
    231                 int_description = "download directly from archive"                 
    232             observation.result = createCEDA_Result(linkage = dwn['href'], name = dwn['title'], \ 
     248                int_description = "download directly from archive"    
     249            i_source = createMO_OnlineResource(linkage = dwn['href'], name = dwn['title'], \ 
    233250                                                   function = CI_OnLineFunctionCode.cl_download, \ 
    234                                                    description = int_description, applicationProfile = int_applicationProfile)                                 
     251                                                   description = int_description, applicationProfile = int_applicationProfile) 
     252            dataentity_id = '%s__ATOM__%s' % (self._dataEntityMigration.doc_owner, self._dataEntityMigration.doc_name) 
     253            dataentity_id = dataentity_id.replace('.atom', '')            
     254            infodb_de = InfodbEPB.getCedaInfoApp_dataentityByDE_ID(dataentity_id) 
     255            i_logical_path = '/dummy' 
     256            if infodb_de['logical_path']: 
     257                i_logical_path = infodb_de['logical_path'] 
     258             
     259            i_category = ceda_curationvalue.CEDA_CurationValue.cl_a                             
     260            if infodb_de['category']: 
     261                i_category = self._getcurationcategory(infodb_de['category']) 
     262                 
     263            observation.result = createCEDA_Result(i_category, i_logical_path, source = [i_source])                                 
    235264 
    236265 
     
    378407        self._assignName(ceda_observation) 
    379408        self._assignTitle(ceda_observation) 
    380         #self._assignResult(ceda_observation)     
     409        self._assignResult(ceda_observation)     
    381410        self._assignGeographicExtent(ceda_observation)     
    382411        self._assignDOI(ceda_observation)         
Note: See TracChangeset for help on using the changeset viewer.