version 1.238.2.12, 2011/08/10 19:18:03
|
version 1.238.2.13, 2011/08/12 14:41:39
|
Line 89 class MpdlXmlTextServer(SimpleItem):
|
Line 89 class MpdlXmlTextServer(SimpleItem):
|
url = docinfo['url'] |
url = docinfo['url'] |
pagesize = pageinfo['queryPageSize'] |
pagesize = pageinfo['queryPageSize'] |
pn = pageinfo.get('searchPN',1) |
pn = pageinfo.get('searchPN',1) |
sn = pageinfo['sn'] |
sn = pageinfo.get('sn',None) #TODO: is this s now? |
highlightQuery = pageinfo['highlightQuery'] |
highlightQuery = pageinfo['highlightQuery'] |
query =pageinfo['query'] |
query =pageinfo['query'] |
queryType =pageinfo['queryType'] |
queryType =pageinfo['queryType'] |
Line 269 class MpdlXmlTextServer(SimpleItem):
|
Line 269 class MpdlXmlTextServer(SimpleItem):
|
def getTextPage(self, mode="text", pn=1, docinfo=None, pageinfo=None): |
def getTextPage(self, mode="text", pn=1, docinfo=None, pageinfo=None): |
"""returns single page from fulltext""" |
"""returns single page from fulltext""" |
logging.debug("getTextPage mode=%s, pn=%s"%(mode,pn)) |
logging.debug("getTextPage mode=%s, pn=%s"%(mode,pn)) |
# check for cached text -- but this shouldn't be called twice |
# check for cached text -- but ideally this shouldn't be called twice |
if pageinfo.has_key('textPage'): |
if pageinfo.has_key('textPage'): |
logging.debug("getTextPage: using cached text") |
logging.debug("getTextPage: using cached text") |
return pageinfo['textPage'] |
return pageinfo['textPage'] |
Line 287 class MpdlXmlTextServer(SimpleItem):
|
Line 287 class MpdlXmlTextServer(SimpleItem):
|
tocMode = pageinfo.get('tocMode', None) |
tocMode = pageinfo.get('tocMode', None) |
tocPN = pageinfo.get('tocPN',None) |
tocPN = pageinfo.get('tocPN',None) |
characterNormalization = pageinfo.get('characterNormalization', None) |
characterNormalization = pageinfo.get('characterNormalization', None) |
|
|
selfurl = docinfo['viewerUrl'] |
selfurl = docinfo['viewerUrl'] |
|
|
if mode == "dict" or mode == "text_dict": |
if mode == "dict" or mode == "text_dict": |
Line 322 class MpdlXmlTextServer(SimpleItem):
|
Line 323 class MpdlXmlTextServer(SimpleItem):
|
|
|
# plain text mode |
# plain text mode |
if mode == "text": |
if mode == "text": |
|
# get full url assuming documentViewer is parent |
|
selfurl = self.getLink() |
if pagediv is not None: |
if pagediv is not None: |
links = pagediv.findall(".//a") |
links = pagediv.findall(".//a") |
for l in links: |
for l in links: |
href = l.get('href') |
href = l.get('href') |
if href and href.startswith('#note-'): |
if href and href.startswith('#note-'): |
href = href.replace('#note-',"?mode=%s&url=%s&viewMode=text&tocMode=%s&tocPN=%s&pn=%s#note-"%(urlmode,url,tocMode,tocPN,pn)) |
href = href.replace('#note-',"%s#note-"%selfurl) |
l.set('href', href) |
l.set('href', href) |
|
|
return serialize(pagediv) |
return serialize(pagediv) |
Line 335 class MpdlXmlTextServer(SimpleItem):
|
Line 338 class MpdlXmlTextServer(SimpleItem):
|
# text-with-links mode |
# text-with-links mode |
elif mode == "dict": |
elif mode == "dict": |
if pagediv is not None: |
if pagediv is not None: |
|
viewerurl = docinfo['viewerUrl'] |
|
selfurl = self.getLink() |
# check all a-tags |
# check all a-tags |
links = pagediv.findall(".//a") |
links = pagediv.findall(".//a") |
for l in links: |
for l in links: |
Line 343 class MpdlXmlTextServer(SimpleItem):
|
Line 348 class MpdlXmlTextServer(SimpleItem):
|
if href: |
if href: |
# is link with href |
# is link with href |
if href.startswith('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/interface/lt/wordInfo.xql'): |
if href.startswith('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/interface/lt/wordInfo.xql'): |
# is pollux link |
# is dictionary link - change href (keeping parameters) |
selfurl = self.absolute_url() |
l.set('href', href.replace('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/interface/lt/wordInfo.xql','%s/template/viewer_wordinfo'%viewerurl)) |
# change href |
# add target to open new page |
l.set('href', href.replace('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/interface/lt/wordInfo.xql','%s/head_main_voc'%selfurl)) |
|
# add target |
|
l.set('target', '_blank') |
l.set('target', '_blank') |
|
|
|
# TODO: is this needed? |
if href.startswith('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/lt/lemma.xql'): |
if href.startswith('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/lt/lemma.xql'): |
selfurl = self.absolute_url() |
selfurl = self.absolute_url() |
l.set('href', href.replace('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/lt/lemma.xql','%s/head_main_lemma'%selfurl)) |
l.set('href', href.replace('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/lt/lemma.xql','%s/head_main_lemma'%selfurl)) |
Line 358 class MpdlXmlTextServer(SimpleItem):
|
Line 362 class MpdlXmlTextServer(SimpleItem):
|
l.set('ondblclick', 'popupWin.focus();') |
l.set('ondblclick', 'popupWin.focus();') |
|
|
if href.startswith('#note-'): |
if href.startswith('#note-'): |
l.set('href', href.replace('#note-',"?mode=%s&url=%s&viewMode=text_dict&tocMode=%s&tocPN=%s&pn=%s#note-"%(urlmode,url,tocMode,tocPN,pn))) |
# note link |
|
l.set('href', href.replace('#note-',"%s#note-"%selfurl)) |
|
|
return serialize(pagediv) |
return serialize(pagediv) |
|
|
Line 389 class MpdlXmlTextServer(SimpleItem):
|
Line 394 class MpdlXmlTextServer(SimpleItem):
|
|
|
return "no text here" |
return "no text here" |
|
|
# WTF: is this needed? |
|
def getOrigPages(self, docinfo=None, pageinfo=None): |
|
logging.debug("CALLED: getOrigPages!") |
|
if not pageinfo.has_key('pageNumberOrig'): |
|
logging.warning("getOrigPages: not in pageinfo!") |
|
return None |
|
|
|
return pageinfo['pageNumberOrig'] |
|
|
|
# WTF: is this needed? |
|
def getOrigPagesNorm(self, docinfo=None, pageinfo=None): |
|
logging.debug("CALLED: getOrigPagesNorm!") |
|
if not pageinfo.has_key('pageNumberOrigNorm'): |
|
logging.warning("getOrigPagesNorm: not in pageinfo!") |
|
return None |
|
|
|
return pageinfo['pageNumberOrigNorm'] |
|
|
|
# TODO: should be getWordInfo |
# TODO: should be getWordInfo |
def getTranslate(self, word=None, language=None): |
def getWordInfo(self, word='', language='', display=''): |
"""translate into another languages""" |
"""show information (like dictionaries) about word""" |
data = self.getServerData("lt/wordInfo.xql","language="+str(language)+"&word="+urllib.quote(word)+"&output=html") |
data = self.getServerData("lt/wordInfo.xql","language=%s&word=%s&display=%s&output=html"%(language,urllib.quote(word),urllib.quote(display))) |
return data |
return data |
|
|
# WTF: what does this do? |
# WTF: what does this do? |