Ignore:
Timestamp:
20/12/11 16:56:00 (8 years ago)
Author:
sdonegan
Message:

Various updates to improve reporting and utf-8 handling - note requires ElementTree 1.3 or higher

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI01-discovery-Ingest/trunk/v4.3.0/ingestAutomation-upgrade/OAIBatch/PostgresDAO.py

    r8000 r8026  
    44C Byrom Apr 08 
    55''' 
    6 import sys, os, logging, datetime, re 
     6import sys, os, logging, datetime, re, codecs 
    77#from SpatioTemporalData import * 
    88from ndg.common.src.clients.reldb.postgres.postgresclient import PostgresClient as pgc 
     
    530530        #Get rid of any xml comment characters - causing problems 
    531531        originalXMLdoc = re.sub("<!--.*-->","",self._record.originalFormat) 
     532         
     533        #create the sql command 
     534         
     535        #list of arguements in SEQUENCE order to be used with create_document SQL DB method. 
     536        args=[self._record.shortFilename,self._record.discovery_id,self.dpwsID,self._record.docType,originalXMLdoc,self._record.getAuthorsInfo(),self._record.escapeSpecialCharacters(self._record.getParametersInfo()),self._record.getScopeInfo(),self._record.dataset_name,self._record.datacentre_name,self._record.dataset_lastEdit,self._record.datasetStartNom,self._record.datasetEndNom] 
     537         
     538        cmdStr = '' 
     539        cntr = 0 
     540        for vals in args: 
     541             
     542            #unicode now enforced when pulling data from the xml.. but escap 
     543            #chckedVals,msg = self._record.characterEncoding(vals) 
     544            chckedVals = vals ; msg = '' 
     545             
     546            if msg != '':             
     547                logging.error(msg) 
     548                         
     549            if cntr != 0: 
     550                cmdStr += ",'%s'" %chckedVals                     
     551            else: 
     552                cmdStr += "'%s'" %chckedVals 
     553             
     554            cntr += 1 
     555             
    532556                 
    533         sqlCmd = "SELECT create_document('" + self._record.shortFilename + "', '" + \ 
    534             self._record.discovery_id + "', '" + self.dpwsID + "', '" + self._record.docType + "', '" + \ 
    535             originalXMLdoc + "', '" + self._record.getAuthorsInfo() + "', '" + \ 
    536             self._record.escapeSpecialCharacters(self._record.getParametersInfo()) + "', '" + self._record.getScopeInfo() + "', '" + \ 
    537             self._record.dataset_name + "', '" + self._record.datacentre_name + "', '" + \ 
    538             self._record.dataset_lastEdit + "', '" + self._record.datasetStartNom + "', '" + self._record.datasetEndNom + "' );" 
     557        #encapsulate within the correct structure.. 
     558        sqlCmd = "SELECT create_document(%s)" % cmdStr 
     559        #import pdb ; pdb.set_trace() 
     560         
     561         
     562        #sqlCmd = "SELECT create_document('" + self._record.shortFilename + "', '" + \ 
     563        #    self._record.discovery_id + "', '" + self.dpwsID + "', '" + self._record.docType + "', '" + \ 
     564         #   originalXMLdoc + "', '" + self._record.getAuthorsInfo() + "', '" + \ 
     565        #    self._record.escapeSpecialCharacters(self._record.getParametersInfo()) + "', '" + self._record.getScopeInfo() + "', '" + \ 
     566         #   self._record.escapeSpecialCharacters(self._record.dataset_name) + "', '" + self._record.datacentre_name + "', '" + \ 
     567        #    self._record.dataset_lastEdit + "', '" + self._record.datasetStartNom + "', '" + self._record.datasetEndNom + "' );" 
    539568         
    540569        #sort out any nulls.. 
     
    572601         
    573602        logging.info("Updating original document in Postgres DB") 
    574         sqlCmd = "SELECT update_document('" + str(self._record.db_id) + "', '" + \ 
    575             self._record.shortFilename + "', '" + self.dpwsID + "', '" +\ 
    576             self._record.discovery_id + "', '" + self._record.docType + "', '" + \ 
    577             self._record.originalFormat + "', '" + self._record.getAuthorsInfo() + "', '" + \ 
    578             self._record.escapeSpecialCharacters(self._record.getParametersInfo()) + "', '" + self._record.getScopeInfo() + "', '" + \ 
    579             str(self._record.scn) + "', '" + self._record.dataset_name + "', '" + self._record.datacentre_name + \ 
    580             "', '" + self._record.dataset_lastEdit + "', '" + self._record.datasetStartNom + "', '" + \ 
    581             self._record.datasetEndNom + "');"  
    582              
    583              
    584                  
     603        #sqlCmd = "SELECT update_document('" + str(self._record.db_id) + "', '" + \ 
     604        #    self._record.shortFilename + "', '" + self.dpwsID + "', '" +\ 
     605        #    self._record.discovery_id + "', '" + self._record.docType + "', '" + \ 
     606         #   self._record.originalFormat + "', '" + self._record.getAuthorsInfo() + "', '" + \ 
     607         #   self._record.escapeSpecialCharacters(self._record.getParametersInfo()) + "', '" + self._record.getScopeInfo() + "', '" + \ 
     608         #   str(self._record.scn) + "', '" + self._record.dataset_name + "', '" + self._record.datacentre_name + \ 
     609         #   "', '" + self._record.dataset_lastEdit + "', '" + self._record.datasetStartNom + "', '" + \ 
     610          #  self._record.datasetEndNom + "');"  
     611             
     612         
     613        args=[str(self._record.db_id), self._record.shortFilename,self.dpwsID,self._record.discovery_id,self._record.docType,self._record.originalFormat,self._record.getAuthorsInfo(),self._record.escapeSpecialCharacters(self._record.getParametersInfo()),self._record.getScopeInfo(),str(self._record.scn),self._record.dataset_name,self._record.datacentre_name,self._record.dataset_lastEdit,self._record.datasetStartNom,self._record.datasetEndNom] 
     614         
     615        cmdStr = '' 
     616        cntr = 0 
     617        for vals in args: 
     618             
     619            #unicode now enforced when pulling data from the xml.. but escap 
     620            #chckedVals,msg = self._record.characterEncoding(vals) 
     621            chckedVals = vals ; msg = '' 
     622             
     623            if msg != '':             
     624                logging.error(msg) 
     625                         
     626            if cntr != 0: 
     627                cmdStr += ",'%s'" %chckedVals                     
     628            else: 
     629                cmdStr += "'%s'" %chckedVals 
     630             
     631            cntr += 1 
     632             
     633                 
     634        #encapsulate within the correct structure.. 
     635        sqlCmd = "SELECT update_document(%s);" % cmdStr 
     636         
    585637         
    586638        #sort out any NULL values" 
Note: See TracChangeset for help on using the changeset viewer.