Changeset 1885


Ignore:
Timestamp:
Apr 29, 2009, 12:41:17 PM (17 years ago)
Author:
dwinter
Message:

Language und Metadata Support

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ZopeOCRFulltextSearch.py

    r1877 r1885  
    1616import time
    1717import Ft
     18import types
    1819
    1920TEXTERPATH="http://nausikaa2.mpiwg-berlin.mpg.de/digitallibrary/servlet/Texter?" # Url of the text servlet
     
    7778           
    7879        doc = amara.parse(resultXML.encode('utf-8'))
     80        logging.debug(doc.xml())
    7981        resultsList = doc.searchresult.results
    8082        #logging.error("XXX:"+repr(resultsList))
     
    124126        logging.debug(serverUrl)
    125127        pr=xmlrpclib.ServerProxy(serverUrl)
    126        
     128
    127129        return pr
    128130   
     
    247249         
    248250   
    249     def searchShortThread(self,string,exactSearch="no",nopages=False,SESSION=None,showpages='',mdstring=""):
     251    def searchShortThread(self,string,exactSearch="no",nopages=False,SESSION=None,showpages='',mdstring="",languages=[]):
    250252        """search for the string, a thread is started on the server, requests not for a full xml-file but for
    251253        a short form, where the results are transmitted as a text file (i.e. string representation of java hashmap)
     
    261263       
    262264        #only letters are allowed
     265        if type(languages) is not types.ListType:
     266            languages=[languages]
     267           
    263268        if (not (showpages == '')) and  SESSION and SESSION.has_key("sresult"):
    264269                ret = SESSION["sresult"]
     
    291296                    logging.debug(self.searchMethod)
    292297                    if mdstring=="":
    293                         ticket=  getattr(pr,searchMethod).searchShortThreaded(string,self.indexName)
     298                        ticket=  getattr(pr,searchMethod).searchShortThreaded(string,self.indexName,languages)
    294299                    else:
    295                         ticket=  getattr(pr,searchMethod).searchShortMDThreaded(string,mdstring,self.indexName)
     300                        logging.debug("langs:"+repr(languages))
     301                        ticket=  getattr(pr,searchMethod).searchShortMDThreaded(string,mdstring,self.indexName,languages)
    296302                #logging.debug(resultXML)
    297303       
     
    299305        return False,ticket,"",""
    300306   
    301     def getSearchShortThread(self,ticket,SESSION=None,nopages=False,showpages=''):
     307    def getSearchShortThread(self,ticket,SESSION=None,nopages=False,showpages='',languages=[]):
    302308        """
    303309        @param nopages: if true page numbers are not displayed
     
    337343        return True,ret,numberOfPages,dcMD
    338344       
     345    def getSupportedLanguages(self):
     346        pr = self.getServerProxy();
     347     
     348        socket.setdefaulttimeout(30)
     349        searchMethod=getattr(self,"searchMethod","OCRFulltextSearchXML")
     350       
     351        res=  getattr(pr,searchMethod).getSupportedLanguages()
     352       
     353        logging.debug("languages:"+repr(res))
     354        return res
     355   
    339356    def searchShort(self,string,exactSearch="no",nopages=False,SESSION=None,showpages=''):
    340357       
Note: See TracChangeset for help on using the changeset viewer.