--- ECHO_content/VLPExtension.py 2005/10/11 20:10:34 1.49 +++ ECHO_content/VLPExtension.py 2005/12/05 14:17:59 1.53 @@ -230,6 +230,7 @@ class VLP_essay(Folder): pages.sort(sortFind) #print str(pages[int(pagenum)][1]()) + if pages[int(pagenum)-1][1].meta_type=='File': #return makeXML(str(pages[int(pagenum)-1][1])) @@ -346,6 +347,36 @@ class VLP_subcollection(ECHO_collection) meta_type="VLP_subcollection" + def getVLPSubcollectionToc(self,type): + + #different ordering depending on the type + if(type == "(Collection)"): + sort= "shortreference" + else: + sort = "startpages" + + #content of journals also displayed if not online + + if (type == "(Journal)"): + online ="" + else: + online ="AND online = 1" + sort=self.collectionSort(type) + + item = [x for x in self.ZSQLSimpleSearch("""SELECT * FROM vl_literature + WHERE volumeid = '%s' """%self.getId() + + """ %s AND not referenceType='%s' """%(online,type) + + """ORDER BY """ + sort)] + + tocItem = [x for x in self.ZSQLSimpleSearch("""SELECT * FROM vl_literature + WHERE volumeid = '%s' """%self.getId() + + """AND online = 1 AND referenceType='%s' """%type + + """ORDER BY """ + sort)] + + + + return tocItem+item + def checkForFrontMatter(self,item): """Teste ob Frontmatter exists""" if not item==self.getId(): @@ -810,19 +841,24 @@ class VLP_resource(ECHO_resource,Cacheab def readIndexFile(self,url=None): """reads the indexfile. presently url not None isn't implemented. In the future url can be defined.""" if not url: - url=self.absolute_url()+"/index.xml" + urlTmp=self.absolute_url()+"/index.xml" if self.ZCacheable_isCachingEnabled(): - - result = self.ZCacheable_get(view_name=url) + + result = self.ZCacheable_get(view_name=urlTmp) if result is not None: # Got a cached value. return result pagelist=[] - - fh=ECHO_helpers.urlopen(url) - dom=xml.dom.minidom.parse(fh) + + if not url: + + xmlTxt=getattr(self,'index.xml')() + dom=xml.dom.minidom.parseString(xmlTxt) + else: + fh=ECHO_helpers.urlopen(urlTmp) + dom=xml.dom.minidom.parse(fh) for page in dom.getElementsByTagName('page'): @@ -831,7 +867,7 @@ class VLP_resource(ECHO_resource,Cacheab fileName=page.getAttribute('file') pagelist.append((pageNum,text,fileName)) - self.ZCacheable_set(pagelist,view_name=url) + self.ZCacheable_set(pagelist,view_name=urlTmp) return pagelist def getFileName(self):