Changeset 6204 for TI01-discovery-Ingest


Ignore:
Timestamp:
22/12/09 21:57:27 (10 years ago)
Author:
sdonegan
Message:

Added extra configuration control to file and debugged redirect url generation

Location:
TI01-discovery-Ingest/trunk/v3n_NDG3/ingestAutomation-upgrade/OAIBatch
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • TI01-discovery-Ingest/trunk/v3n_NDG3/ingestAutomation-upgrade/OAIBatch/Utilities.py

    r6017 r6204  
    55from ndg.common.src.lib.ndgresources import ndgResources 
    66import ndg.common.src.lib.fileutilities as FileUtilities 
     7import string 
    78 
    89def idget(xml,dataType='DIF'): 
     
    133134                 
    134135                for path in self.paths: 
    135                                  
     136                                                         
    136137                        try: 
    137138                         
     
    161162                                                        #using the values in contentType, check to see if present 
    162163                                                        for ct in self.difContentType: 
    163                                                                  
    164                                                                                  
     164                                                                                                                                                 
    165165                                                                #..if a match then we actually WANT the original URL 
    166                                                                 if ct not in urlContentType:                                                                             
     166                                                                if ct not in urlContentType: 
     167                                                                         
     168                                                                        currentURL = children[url] 
     169                                                                         
     170                                                                        #convert any urls that start with "www" to "http://www" 
     171                                                                        if currentURL.startswith("www"): 
     172                                                                                currentURL = "http://" + currentURL                                              
    167173                                                                                                                                                 
    168174                                                                        #if no match, work out redirect url 
    169                                                                         redirectURL = self.redirectBaseURL + children[url] + '&docID=' + urllib.quote(docID) + '&docTitle=' + urllib.quote(docTitle) 
     175                                                                        redirectURL = self.redirectBaseURL + currentURL + '&docID=' + urllib.quote(docID) + '&docTitle=' + urllib.quote(docTitle) 
    170176                                                                         
    171177                                                                        #if this related_url element is to be changed, access the element directly as a node 
     
    177183                                                #if no url_content_type element present, continue to rewrite the url 
    178184                                                else: 
     185                                                         
    179186                                                        urlNode = node.find(self.appendNameSpace(['URL'])[0]) 
     187                                                         
    180188                                                        currentURL = urllib.quote(urlNode.text) 
    181                                                         redirectURL = self.redirectBaseURL + children[url] + '&docID=' + urllib.quote(docID) + '&docTitle=' + urllib.quote(docTitle) 
     189                                                         
     190                                                        #convert any urls that start with "www" to "http://www" 
     191                                                        if currentURL.startswith("www"): 
     192                                                                currentURL = "http://" + currentURL                                              
     193                                                                         
     194                                                         
     195                                                        redirectURL = self.redirectBaseURL + currentURL + '&docID=' + urllib.quote(docID) + '&docTitle=' + urllib.quote(docTitle) 
    182196                                                        urlNode.text = redirectURL 
    183197                                                         
    184198                                                                                                                                                                                 
    185199                                        #other paths of non related_url complex type 
    186                                         else:                                            
     200                                        #else: 
     201                                        if path == self.appendNameSpace(['Data_Center/Data_Center_URL'])[0]: 
     202                                                                         
    187203                                                currentURL = urllib.quote(node.text) 
    188                                                 redirectURL = self.redirectBaseURL + children[url] + '&docID=' + urllib.quote(docID) + '&docTitle=' + urllib.quote(docTitle) 
     204                                                 
     205                                                #convert any urls that start with "www" to "http://www" 
     206                                                if currentURL.startswith("www"): 
     207                                                        currentURL = "http://" + currentURL                                              
     208                                                                         
     209                                                redirectURL = self.redirectBaseURL + currentURL + '&docID=' + urllib.quote(docID) + '&docTitle=' + urllib.quote(docTitle)                                                
    189210                                                node.text = redirectURL 
    190                          
     211                                                 
    191212                        except: 
    192213                                print "Cannot perform identityTransform to rewrite ndg redirect urls!" 
    193214                                logging.warn("Cannot perform identityTransform to rewrite ndg redirect urls!") 
    194215 
    195                  
     216                         
     217                         
    196218                        #cannot rewrite doc so just leave doc as original.. 
    197219         
  • TI01-discovery-Ingest/trunk/v3n_NDG3/ingestAutomation-upgrade/OAIBatch/abstractdocumentingester.py

    r6195 r6204  
    3434         
    3535        #NDG_redirect_URL = 'http://ndg3beta.badc.rl.ac.uk/URL_redirect_NDG3/ndgURLredirect/redirect?url=' 
    36          
    37         #Use PRODUCTION NDG redirect service on triton now (20/11/09) 
    38         NDG_redirect_URL = 'http://triton.badc.rl.ac.uk/NDGredirection/ndgURLredirect/redirect?url=' 
    39  
     36                 
    4037        def _setupCmdLineOptions(self): 
    4138                ''' 
     
    249246                                processingConfig['passwords_file'] = words[1] 
    250247                        elif words[0] == 'datcentre_configs': 
    251                                 processingConfig['datcentre_configs'] = words[1]                                 
    252                          
     248                                processingConfig['datcentre_configs'] = words[1]         
     249                        elif words[0] == 'NDG_redirect_URL': 
     250                                processingConfig['NDG_redirect_URL'] = words[1] 
     251                        elif words[0] == 'ingestConfig': 
     252                                processingConfig['ingestConfig'] = words[1] 
     253                                                                                                         
    253254                return processingConfig 
    254255         
     
    272273                self._IngestViaFeed = False # need to distinguish between oai and feed ingest 
    273274                 
    274                 print __name__ 
    275                  
    276                 sys 
    277  
     275                 
    278276                #note changed to production buildout path 
    279277                #self._datacentre_config_filename = '/home/badc/buildouts/oai_document_ingester/ingestAutomation-upgrade/OAIBatch/datacentre_config/' + datacentre + "_config.properties" 
     
    308306                                self._NDG_dataProvider = True 
    309307                        elif words[0] == 'feed': 
    310                                 self.IngestViaFeed = True 
    311                  
     308                                self._IngestViaFeed = True 
     309                         
    312310                datacentre_config_file.close() 
    313311                 
    314312                #stop ingest on this datacentre if process thread is OAI and the config says FEED 
    315                 if ((self.processThread == 'OAI') and self.IngestViaFeed): 
     313                if ((self.processThread == 'OAI') and self._IngestViaFeed): 
    316314                        sys.exit("Trying to ingest a FEED based centre.  Better stop now before it all gets a bit tricky!") 
    317                          
    318                          
     315                                                 
    319316                if self._harvest_home == "": 
    320317                    sys.exit("Failed at getting harvested records directory stage. datacentre config file tried = %s" %datacentre_config_filename) 
     
    390387                         
    391388                        #call new class in Utilities.py --will replace original file... 
    392                         redirectUrlChanger(original_filename,original_filename,self._datacentre_format, self.NDG_redirect_URL) 
    393                          
    394                  
     389                        redirectUrlChanger(original_filename,original_filename,self._datacentre_format, self._ndgRedirectURL)                                    
    395390                                                 
    396391                        #Use new class to get basic parameters from input xml doc to pass around (supplants getID method) 
     
    458453                 
    459454                logging.debug("Setting up connection to postgres DB") 
    460                 self.pgc = pgc(configFile = '/usr/local/ndg-oai-info-editor/ingest.config') 
     455                #self.pgc = pgc(configFile = '/usr/local/ndg-oai-info-editor/ingest.config')  
     456                self.pgc = pgc(configFile = self._databaseConfigurationFile) 
    461457                logging.info("Postgres DB connection now set up") 
    462458 
  • TI01-discovery-Ingest/trunk/v3n_NDG3/ingestAutomation-upgrade/OAIBatch/oai_document_ingester.py

    r6194 r6204  
    4747 
    4848                #extract relevant directories etc from processing config gile 
    49                 self.processingDict = self.getProcessingConfig('/home/badc/buildouts/oai_document_ingester/ingestAutomation-upgrade/OAIBatch/oai_document_ingester.config') 
     49                self.processingDict = self.getProcessingConfig('oai_document_ingester.config') 
    5050                #self._code_dir = "/home/badc/buildouts/oai_document_ingester/ingestAutomation-upgrade/OAIBatch/" # this is the base dir that the script is ran from 
    5151                #self._base_dir = "/home/badc/discovery_docs/ingestDocs/" 
     
    5353                self._code_dir = self.processingDict['code_directory'] 
    5454                self._base_dir = self.processingDict['base_directory'] 
     55                 
     56                self._databaseConfigurationFile = self.processingDict['ingestConfig'] 
     57                self._ndgRedirectURL = self.processingDict['NDG_redirect_URL'] 
    5558                 
    5659                self.processThread = 'OAI' 
Note: See TracChangeset for help on using the changeset viewer.