--- cdli/cdli_files.py 2007/03/23 13:58:10 1.73 +++ cdli/cdli_files.py 2007/03/23 17:15:36 1.75 @@ -883,7 +883,42 @@ class CDLIBasket(Folder,CatalogAware): meta_type="CDLIBasket" default_catalog="CDLIBasketCatalog" + def searchInBasket(self,indexName,searchStr,regExp=False): + """searchInBasket""" + lst=self.searchInLineIndexDocs(indexName,searchStr,uniq=True,regExp=False) + ret={} + + lv=self.getLastVersion() + logging.info("searching") + for obj in lv.content.getContent(): + id=obj[1].getId().split(".")[0] + if id in lst: + + ret[id]=self.showWordInFile(id,searchStr,lineList=self.getLinesFromIndex(indexName,searchStr,id,regExp=regExp),regExp=regExp,indexName=indexName) + + + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','searchResultsInBasket')).__of__(self) + return pt(result=ret,indexName=indexName,regExp=regExp,word=searchStr) + + + + + def searchInBasket_v1(self,searchStr): + """search occurences of searchStr in files im basket""" + ret=[] + lv=self.getLastVersion() + logging.info("searching") + for obj in lv.content.getContent(): + txt=obj[0].getData() + for x in txt.split("\n"): + logging.info("search %s"%x) + if re.match(searchStr,x): + ret.append(x) + + return "\n".join(ret) + + def getFile(self,obj): return obj[1] @@ -1322,7 +1357,7 @@ class CDLIBasketVersion(Implicit,Persist def __init__(self,id,user,comment="",basketContent=[]): """ init a basket version""" self.id=id - self.coment=comment + self.comment=comment self._setObject('content',BasketContent(basketContent)) #self.basketContent=basketContent[0:]a self.user=user @@ -2155,7 +2190,7 @@ class CDLIRoot(Folder): transaction.get().commit() - def showFile(self,fileId): + def showFile(self,fileId,wholePage=False): """show a file @param fileId: P-Number of the document to be displayed """ @@ -2163,7 +2198,11 @@ class CDLIRoot(Folder): if not f: return "" - return f[0].getObject().getLastVersionFormattedData() + if wholePage: + logging.info("whole") + return f[0].getObject().getLastVersion().view() + else: + return f[0].getObject().getLastVersionFormattedData() def showWordInFile(self,fileId,word,lineList=None,regExp=True,indexName=""):