version 1.69, 2008/07/31 16:57:45
|
version 1.72, 2008/08/05 16:50:56
|
Line 47 def makeXML(str):
|
Line 47 def makeXML(str):
|
</page>"""%str |
</page>"""%str |
|
|
|
|
|
def checkXMLfrag(str): |
|
"""checks and returns str as XML fragment""" |
|
|
|
xmltempl = """<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
|
<txt>%s</txt>""" |
|
try: |
|
dom=xml.dom.minidom.parseString(xmltempl%str) |
|
return str |
|
except: |
|
str=str.replace("& ","& ") |
|
|
|
dom=xml.dom.minidom.parseString(xmltempl%str) |
|
return str |
|
|
|
|
|
|
def getText(nodelist): |
def getText(nodelist): |
|
|
Line 217 class VLP_essay(Folder):
|
Line 232 class VLP_essay(Folder):
|
if RESPONSE is not None: |
if RESPONSE is not None: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
|
def getPageList(self): |
|
"""returns sorted list of (id,object) of page objects""" |
|
|
|
def sortFind(x,y): |
|
return cmp(x[0],y[0]) |
|
|
|
# pages=[] |
|
# pagestmp=self.ZopeFind(self,obj_metatypes=['DTML Document','File']) |
|
# for page in pagestmp: |
|
# if not (page[1].getId()[0]=="."): |
|
# pages.append(page) |
|
|
|
pages = self.objectItems(['DTML Document','File']) |
|
pages.sort(sortFind) |
|
return pages |
|
|
|
|
|
def getPageXMLfrag(self, pageNum=None, pageId=None, pageObj=None): |
|
"""returns XML fragment of page with id""" |
|
xml = None |
|
|
|
if pageNum is not None: |
|
pl = self.getPageList() |
|
pageObj = pl[int(pageNum)-1][1] |
|
|
|
if pageId is not None: |
|
pageObj = getattr(self, pageId, None) |
|
|
|
if pageObj is not None: |
|
txt = "" |
|
data = pageObj.data |
|
while data is not None: |
|
txt += str(data) |
|
if isinstance(data, str): |
|
data = None |
|
else: |
|
data = data.next |
|
|
|
xml = checkXMLfrag(txt) |
|
|
|
return xml |
|
|
|
|
def getPage(self,pagenum): |
def getPage(self,pagenum): |
"""gibt essay page mit num aus""" |
"""gibt essay page mit num aus""" |
Line 232 class VLP_essay(Folder):
|
Line 289 class VLP_essay(Folder):
|
#print str(pages[int(pagenum)][1]()) |
#print str(pages[int(pagenum)][1]()) |
|
|
if pages[int(pagenum)-1][1].meta_type=='File': |
if pages[int(pagenum)-1][1].meta_type=='File': |
|
|
#return makeXML(str(pages[int(pagenum)-1][1])) |
#return makeXML(str(pages[int(pagenum)-1][1])) |
#txt=pages[int(pagenum)-1][1].data.decode('utf-8') |
#txt=pages[int(pagenum)-1][1].data.decode('utf-8') |
txt=pages[int(pagenum)-1][1].data |
txt=pages[int(pagenum)-1][1].data |
#print txt.encode('utf-8') |
#print txt.encode('utf-8') |
|
|
return self.xml2html(makeXML(txt),quote="no") |
return self.xml2html(makeXML(txt),quote="no") |
else: |
else: |
|
|
|
|
|
|
return self.xml2html(makeXML(pages[int(pagenum)-1][1]()),quote="no") |
return self.xml2html(makeXML(pages[int(pagenum)-1][1]()),quote="no") |
|
|
def nextPage(self,pagenum,url): |
def nextPage(self,pagenum,url): |