version 1.238.2.8, 2011/08/05 09:24:42
|
version 1.238.2.11, 2011/08/09 18:27:41
|
Line 29 def getTextFromNode(node):
|
Line 29 def getTextFromNode(node):
|
"""get the cdata content of a node""" |
"""get the cdata content of a node""" |
if node is None: |
if node is None: |
return "" |
return "" |
# ET: |
|
# text = node.text or "" |
|
# for e in node: |
|
# text += gettext(e) |
|
# if e.tail: |
|
# text += e.tail |
|
|
|
# 4Suite: |
# 4Suite: |
nodelist=node.childNodes |
nodelist=node.childNodes |
Line 187 class MpdlXmlTextServer(SimpleItem):
|
Line 181 class MpdlXmlTextServer(SimpleItem):
|
if not docpath: |
if not docpath: |
return None |
return None |
|
|
url = docinfo['url'] |
|
selfurl = self.absolute_url() |
|
pn = pageinfo['current'] |
pn = pageinfo['current'] |
hrefList=[] |
hrefList=[] |
myList= "" |
myList= "" |
Line 206 class MpdlXmlTextServer(SimpleItem):
|
Line 198 class MpdlXmlTextServer(SimpleItem):
|
def getAllGisPlaces (self, docinfo=None, pageinfo=None): |
def getAllGisPlaces (self, docinfo=None, pageinfo=None): |
"""Show all Gis Places of whole Book """ |
"""Show all Gis Places of whole Book """ |
xpath ='//echo:place' |
xpath ='//echo:place' |
docpath =docinfo['textURLPath'] |
|
url = docinfo['url'] |
|
selfurl =self.absolute_url() |
|
pn =pageinfo['current'] |
|
hrefList=[] |
hrefList=[] |
myList="" |
myList="" |
text=self.getServerData("xpath.xql", "document=%s&xpath=%s"%(docinfo['textURLPath'],xpath)) |
text=self.getServerData("xpath.xql", "document=%s&xpath=%s"%(docinfo['textURLPath'],xpath)) |
Line 244 class MpdlXmlTextServer(SimpleItem):
|
Line 232 class MpdlXmlTextServer(SimpleItem):
|
elif dc == 'pageNumberOrigNorm': |
elif dc == 'pageNumberOrigNorm': |
pageinfo['pageNumberOrigNorm'] = div.text |
pageinfo['pageNumberOrigNorm'] = div.text |
|
|
# pageNumberOrigNorm |
# pageHeaderTitle |
|
elif dc == 'pageHeaderTitle': |
|
pageinfo['pageHeaderTitle'] = div.text |
|
|
|
# numFigureEntries |
elif dc == 'countFigureEntries': |
elif dc == 'countFigureEntries': |
docinfo['numFigureEntries'] = getInt(div.text) |
docinfo['numFigureEntries'] = getInt(div.text) |
|
|
# pageNumberOrigNorm |
# numTocEntries |
elif dc == 'countTocEntries': |
elif dc == 'countTocEntries': |
# WTF: s1 = int(s)/30+1 |
# WTF: s1 = int(s)/30+1 |
docinfo['numTocEntries'] = getInt(div.text) |
docinfo['numTocEntries'] = getInt(div.text) |
|
|
# pageHeaderTitle |
# numPlaces |
elif dc == 'pageHeaderTitle': |
elif dc == 'countPlaces': |
docinfo['pageHeaderTitle'] = div.text |
docinfo['numPlaces'] = getInt(div.text) |
|
|
# numTextPages |
# numTextPages |
elif dc == 'countPages': |
elif dc == 'countPages': |
Line 302 class MpdlXmlTextServer(SimpleItem):
|
Line 294 class MpdlXmlTextServer(SimpleItem):
|
textmode = "textPollux" |
textmode = "textPollux" |
elif not mode: |
elif not mode: |
# default is text |
# default is text |
|
mode = "text" |
textmode = "text" |
textmode = "text" |
else: |
else: |
textmode = mode |
textmode = mode |
Line 340 class MpdlXmlTextServer(SimpleItem):
|
Line 333 class MpdlXmlTextServer(SimpleItem):
|
return serialize(pagediv) |
return serialize(pagediv) |
|
|
# text-with-links mode |
# text-with-links mode |
elif mode == "text_dict": |
elif mode == "dict": |
if pagediv is not None: |
if pagediv is not None: |
# check all a-tags |
# check all a-tags |
links = pagediv.findall(".//a") |
links = pagediv.findall(".//a") |
Line 499 class MpdlXmlTextServer(SimpleItem):
|
Line 492 class MpdlXmlTextServer(SimpleItem):
|
|
|
return docinfo |
return docinfo |
|
|
def getTocPage(self, mode="text", pn=1, pageinfo=None, docinfo=None): |
def getTocPage(self, mode="text", pn=0, pageinfo=None, docinfo=None): |
"""returns single page from the table of contents""" |
"""returns single page from the table of contents""" |
logging.debug("getTocPage mode=%s, pn=%s"%(mode,pn)) |
logging.debug("getTocPage mode=%s, pn=%s"%(mode,pn)) |
if mode == "text": |
if mode == "text": |
Line 516 class MpdlXmlTextServer(SimpleItem):
|
Line 509 class MpdlXmlTextServer(SimpleItem):
|
logging.error("getTocPage: unable to find tocXML") |
logging.error("getTocPage: unable to find tocXML") |
return "No ToC" |
return "No ToC" |
|
|
pagesize = int(pageinfo['tocPageSize']) |
pagesize = pageinfo['tocPageSize'] |
url = docinfo['url'] |
tocPN = pageinfo['tocPN'] |
urlmode = docinfo['mode'] |
if not pn: |
selfurl = docinfo['viewerUrl'] |
|
viewMode= pageinfo['viewMode'] |
|
tocMode = pageinfo['tocMode'] |
|
tocPN = int(pageinfo['tocPN']) |
|
pn = tocPN |
pn = tocPN |
|
|
fulltoc = ET.fromstring(tocxml) |
fulltoc = ET.fromstring(tocxml) |
Line 543 class MpdlXmlTextServer(SimpleItem):
|
Line 532 class MpdlXmlTextServer(SimpleItem):
|
# take pn from href |
# take pn from href |
m = re.match(r'page-fragment\.xql.*pn=(\d+)', href) |
m = re.match(r'page-fragment\.xql.*pn=(\d+)', href) |
if m is not None: |
if m is not None: |
# and create new url |
# and create new url (assuming parent is documentViewer) |
l.set('href', '%s?mode=%s&url=%s&viewMode=%s&pn=%s&tocMode=%s&tocPN=%s'%(selfurl, urlmode, url, viewMode, m.group(1), tocMode, tocPN)) |
url = self.getLink('pn', m.group(1)) |
|
l.set('href', url) |
else: |
else: |
logging.warning("getTocPage: Problem with link=%s"%href) |
logging.warning("getTocPage: Problem with link=%s"%href) |
|
|