Changeset 6046


Ignore:
Timestamp:
25/11/09 14:39:02 (10 years ago)
Author:
sdonegan
Message:

Updated with new object for tacking ingest vars

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI01-discovery/branches/ingestion-MEDIN/ingestAutomation-upgrade/OAIBatch/Utilities.py

    r6026 r6046  
    295295         
    296296            logging.info("Have performed identityTransform on " + dir) 
    297          
    298         
     297 
     298 
     299''' 
     300Class to hold ingest tracking values - easier to pass as object 
     301''' 
     302class IngestTracking: 
     303                        
     304        def __init__(self): 
     305                 
     306                self.updateFailList = [] 
     307                self.deletedFailList = [] 
     308                self._no_problem_files = 0 
     309                self._no_files_ingested = 0                      
     310                self._no_files_changed = 0 
     311                self.error_messages = "" 
     312                 
     313                logging.info("Have Initiated Ingest monitor!") 
     314                 
     315        def incrementProblemFile(self): 
     316                self._no_problem_files += 1 
     317                 
     318        def incrementIngestFile(self): 
     319                self._no_files_ingested += 1 
     320         
     321        def incrementChangeFile(self): 
     322                self._no_files_changed += 1 
     323         
     324        def appendFailList(self,filename): 
     325                self.updateFailList.append(filename) 
     326 
     327        def appendDeletedList(self,filename): 
     328                self.deletedFailList.append(filename) 
     329 
     330        def addToErrorMessage(self,message): 
     331                self.error_messages = self.error_message + message 
     332                 
    299333''' 
    300334Class representing a record to be deleted from the postgres DB.  Mimics the class "PostgresRecord" as passed to PostgresDAO 
     
    328362         
    329363 
    330 class DatasetBasicParameters: 
     364 
     365class DatasetBasicParameters_Original: 
    331366     
    332367    '''  
     
    341376                 
    342377        self._datacentre_format = format 
    343         ''' 
    344         #If ingesting DIF 
    345         if self._datacentre_format == "DIF": 
    346             d=DIF(xml) 
    347             self.datasetID=d.entryID 
    348             self.datasetName = d.datasetTitle 
    349             self.datacentreName = d.datacentreName 
    350             self.metadataCreationDate=d.metadataCreationDate 
    351              
    352         #If ingesting MDIP             
    353         elif self._datacentre_format == "MDIP": 
    354             d=MDIP(xml)             
    355             self.datasetID=d.id 
    356             self.datasetName = d.datasetTitle 
    357             self.datacentreName = d.datacentreName 
    358             self.metadataCreationDate=d.metadataCreationDate 
    359              
    360         else: 
    361             raise TypeError, "Only handles DIF or MDIP here." 
    362         ''' 
    363378         
    364379        et=loadET(xml) 
     
    403418        if self.datasetEndDateNom == "": 
    404419            self.datasetEndDateNom = 'NULL' 
     420             
     421 
     422class DatasetBasicParameters_MEDIN_v01: 
     423     
     424    '''  
     425    Class representing extracted parameters from the input file - MEDIN format v0.1 (development) 
     426    @param filename: Name of the original_document_file    
     427    ''' 
     428     
     429    def __init__(self, filename,format): 
     430         
     431        logging.info("Retrieving identifier for metadata record " + filename + " in format: " + format) 
     432        xml=file(filename).read() 
     433                 
     434        self._datacentre_format = format 
     435         
     436        et=loadET(xml) 
     437        helper=nsdumb(et) 
     438         
     439        try: 
     440 
     441            self.datasetID=helper.getText(et,'Entry_ID') 
     442            self.datasetName = helper.getText(et,'Data_Set_Citation/Dataset_Title') 
     443            self.datacentreName = helper.getText(et,'Data_Center/Data_Center_Name/Short_Name')             
     444            self.datasetStartDateNom = helper.getText(et,'Temporal_Coverage/Start_Date') 
     445            self.datasetEndDateNom = helper.getText(et,'Temporal_Coverage/Stop_Date') 
     446            self.metadataCreationDate=helper.getText(et,'Last_DIF_Revision_Date') 
     447            self.datasetName == helper.getText(et,'Entry_Title') 
     448            self.datasetEndDateNom == helper.getText(et,'Temporal_Coverage/End_Date') 
     449                 
     450        except: 
     451                raise TypeError,'idget does not support datatype [%s]'%dataType 
     452         
     453         
     454            
     455        #if no values for start or end dates need to set these to NULL! 
     456        if self.datasetStartDateNom == "": 
     457            self.datasetStartDateNom = 'NULL' 
     458                 
     459        if self.datasetEndDateNom == "": 
     460            self.datasetEndDateNom = 'NULL' 
     461 
     462 
    405463 
    406464import unittest 
Note: See TracChangeset for help on using the changeset viewer.