Changeset 8143


Ignore:
Timestamp:
06/03/12 10:14:54 (8 years ago)
Author:
mnagni
Message:

Implementation of tickets #22386, #22387

Location:
mauRepo/MolesManager/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • mauRepo/MolesManager/trunk/resources/requirements.txt

    r8063 r8143  
    11django==1.3.1 
    2 SQLAlchemy==0.7.2 
     2SQLAlchemy==0.7.5 
    33psycopg2==2.4.2 
  • mauRepo/MolesManager/trunk/src/MolesManager/djencoder.py

    r8088 r8143  
    66from json.encoder import JSONEncoder 
    77from MolesManager.forms.date import methodsWithDecorator 
     8import re 
    89 
    910class DJEncoder(JSONEncoder): 
     11 
    1012     
    1113    def __init__(self): 
    1214        self.__markers = {} 
    1315        super(DJEncoder, self).__init__() 
     16        self.__pattern = re.compile('\D\D__*') 
     17        self.__pattern2 = re.compile('\A\w+__id\Z') 
     18         
     19 
    1420     
    1521    def default(self, obj): 
    16         print 'default(', repr(obj), ')' 
    1722        # Convert objects to a dictionary of their representation 
    1823        d = { '__module__':obj.__module__, 
     
    2530        if d['__module__'].startswith('sqlalchemy'): 
    2631            return d 
    27         for key, value in obj.__dict__.items(): 
    28             if not key.startswith("_"): 
    29                 d.update({key: value}) 
     32        for key in obj.__dict__.keys(): 
     33            if not (key.startswith("_") or self.__pattern.match(key) or self.__pattern2.match(key)): 
     34                d.update({key: getattr(obj, key)}) 
    3035        getters = list(methodsWithDecorator(type(obj), "property")) 
    3136        for name in getters: 
  • mauRepo/MolesManager/trunk/src/MolesManager/moles3epb.py

    r8089 r8143  
    1616        intSession = Moles3EPB._getSession(session) 
    1717        return EPB.search(clazz, inst_id, intSession) 
     18 
     19    @classmethod         
     20    def searchEager(self, clazz, inst_id, session = None): 
     21        intSession = Moles3EPB._getSession(session) 
     22        return EPB.searchEager(clazz, inst_id, intSession) 
    1823 
    1924    @classmethod         
  • mauRepo/MolesManager/trunk/src/MolesManager/views/cedaObservationView.py

    r8091 r8143  
    1818    ''' 
    1919    if request.POST.has_key('obs_id'): 
    20         dp = Moles3EPB.search(CEDA_Observation, request.POST['obs_id'], request.moles_session) 
     20        dp = Moles3EPB.searchEager(CEDA_Observation, request.POST['obs_id'], request.moles_session) 
    2121        c['records'] = dp 
    2222 
  • mauRepo/MolesManager/trunk/src/libs/epb.py

    r8089 r8143  
    44@author: mnagni 
    55''' 
     6from sqlalchemy.orm import subqueryload 
    67 
    78class EPB(object): 
     
    1415    def search(self, clazz, inst_id, session):           
    1516        res = session.query(clazz).get(inst_id) 
     17        if res is None: 
     18            return None 
     19        return res 
     20 
     21    @classmethod 
     22    def searchEager(self, clazz, inst_id, session):           
     23        res = session.query(clazz).options(subqueryload('*')).get(inst_id) 
    1624        if res is None: 
    1725            return None 
  • mauRepo/MolesManager/trunk/src/libs/migration/processor/deployment.py

    r8091 r8143  
    1717    observationHasTitle, observationHasQuality 
    1818from libs.migration.processor.deployment_data import DeploymentDataProcessor 
     19from ea_model.iso_19115_2006_metadata_corrigendum.identification_information.md_progresscode import MD_ProgressCode 
    1920 
    2021class DeploymentProcessor(object): 
     
    9596        doc_title = extractAuthor(self._deploymentMigration) 
    9697         
     98        if doc_title.startswith('deployment_'): 
     99            doc_title = extractAuthor(self._dataEntityMigration) 
     100         
    97101        if not observationHasTitle(self._ceda_observation, doc_title):  
    98102            self._ceda_observation.identifier.append(createMD_Identifier(title = doc_title)) 
     
    128132            self._assignDescription() 
    129133            self._assignName() 
     134            self._assignTitle() 
    130135         
    131136        if not self._deploymentHasSameHash: 
    132             self._assignTitle() 
     137            pass 
    133138                          
    134139        #If any of the previous methods has new values this function will return True 
     
    138143    def _commitMoles3(self): 
    139144        if self._ceda_observation.id is None: 
     145            self._ceda_observation.status = MD_ProgressCode.cl_ongoing 
    140146            Moles3EPB.addCedaObject(self._ceda_observation, self._migrationSessions.molesSession) 
    141147        self._migrationSessions.molesSession.commit() 
Note: See TracChangeset for help on using the changeset viewer.