version 1.167, 2011/02/14 14:41:13
|
version 1.177, 2011/08/31 13:55:17
|
Line 43 def getTextFromNode(nodename):
|
Line 43 def getTextFromNode(nodename):
|
rc = rc + node.data |
rc = rc + node.data |
return rc |
return rc |
|
|
def serializeNode(node, encoding='utf-8'): |
def serializeNode(node, encoding="utf-8"): |
"""returns a string containing node as XML""" |
"""returns a string containing node as XML""" |
buf = cStringIO.StringIO() |
stream = cStringIO.StringIO() |
Ft.Xml.Domlette.Print(node, stream=buf, encoding=encoding) |
#logging.debug("BUF: %s"%(stream)) |
s = buf.getvalue() |
Ft.Xml.Domlette.Print(node, stream=stream, encoding=encoding) |
buf.close() |
s = stream.getvalue() |
|
#logging.debug("BUF: %s"%(s)) |
|
stream.close() |
return s |
return s |
|
|
def browserCheck(self): |
def browserCheck(self): |
Line 161 def getHttpData(url, data=None, num_trie
|
Line 163 def getHttpData(url, data=None, num_trie
|
raise IOError("ERROR fetching HTTP data from %s: %s"%(url,errmsg)) |
raise IOError("ERROR fetching HTTP data from %s: %s"%(url,errmsg)) |
#return None |
#return None |
|
|
|
|
|
|
## |
## |
## documentViewer class |
## documentViewer class |
## |
## |
Line 231 class documentViewer(Folder):
|
Line 231 class documentViewer(Folder):
|
"""get page""" |
"""get page""" |
return self.template.fulltextclient.getTextPage(**args) |
return self.template.fulltextclient.getTextPage(**args) |
|
|
def getText(self, **args): |
def getOrigPages(self, **args): |
"""get page text""" |
"""get page""" |
return self.template.fulltextclient.getText(**args) |
return self.template.fulltextclient.getOrigPages(**args) |
|
|
def getXML(self, **args): |
def getOrigPagesNorm(self, **args): |
"""get page xml""" |
"""get page""" |
return self.template.fulltextclient.getXML(**args) |
return self.template.fulltextclient.getOrigPagesNorm(**args) |
|
|
def getDictionary(self, **args): |
|
"""get page dictionary""" |
|
return self.template.fulltextclient.getDictionary(**args) |
|
|
|
def getQuery(self, **args): |
def getQuery(self, **args): |
"""get query in search""" |
"""get query in search""" |
Line 267 class documentViewer(Folder):
|
Line 263 class documentViewer(Folder):
|
"""get lemma""" |
"""get lemma""" |
return self.template.fulltextclient.getLemma(**args) |
return self.template.fulltextclient.getLemma(**args) |
|
|
|
def getLemmaQuery(self, **args): |
|
"""get query""" |
|
return self.template.fulltextclient.getLemmaQuery(**args) |
|
|
|
def getLex(self, **args): |
|
"""get lex""" |
|
return self.template.fulltextclient.getLex(**args) |
|
|
def getToc(self, **args): |
def getToc(self, **args): |
"""get toc""" |
"""get toc""" |
return self.template.fulltextclient.getToc(**args) |
return self.template.fulltextclient.getToc(**args) |
Line 591 class documentViewer(Folder):
|
Line 595 class documentViewer(Folder):
|
|
|
def getBibinfoFromIndexMeta(self,path,docinfo=None,dom=None,cut=0): |
def getBibinfoFromIndexMeta(self,path,docinfo=None,dom=None,cut=0): |
"""gets bibliographical info from the index.meta file at path or given by dom""" |
"""gets bibliographical info from the index.meta file at path or given by dom""" |
logging.debug("documentViewer (getbibinfofromindexmeta) path: %s"%(path)) |
#logging.debug("documentViewer (getbibinfofromindexmeta) path: %s"%(path)) |
|
|
if docinfo is None: |
if docinfo is None: |
docinfo = {} |
docinfo = {} |
Line 603 class documentViewer(Folder):
|
Line 607 class documentViewer(Folder):
|
|
|
docinfo['indexMetaPath']=self.getIndexMetaPath(path); |
docinfo['indexMetaPath']=self.getIndexMetaPath(path); |
|
|
logging.debug("documentViewer (getbibinfofromindexmeta cutted) path: %s"%(path)) |
#logging.debug("documentViewer (getbibinfofromindexmeta cutted) path: %s"%(path)) |
# put in all raw bib fields as dict "bib" |
# put in all raw bib fields as dict "bib" |
bib = dom.xpath("//bib/*") |
bib = dom.xpath("//bib/*") |
if bib and len(bib)>0: |
if bib and len(bib)>0: |
Line 623 class documentViewer(Folder):
|
Line 627 class documentViewer(Folder):
|
bibtype=bibtype.replace("-"," ") # wrong typesiin index meta "-" instead of " " (not wrong! ROC) |
bibtype=bibtype.replace("-"," ") # wrong typesiin index meta "-" instead of " " (not wrong! ROC) |
docinfo['bib_type'] = bibtype |
docinfo['bib_type'] = bibtype |
bibmap=metaData.generateMappingForType(bibtype) |
bibmap=metaData.generateMappingForType(bibtype) |
logging.debug("documentViewer (getbibinfofromindexmeta) bibmap:"+repr(bibmap)) |
#logging.debug("documentViewer (getbibinfofromindexmeta) bibmap:"+repr(bibmap)) |
logging.debug("documentViewer (getbibinfofromindexmeta) bibtype:"+repr(bibtype)) |
#logging.debug("documentViewer (getbibinfofromindexmeta) bibtype:"+repr(bibtype)) |
# if there is no mapping bibmap is empty (mapping sometimes has empty fields) |
# if there is no mapping bibmap is empty (mapping sometimes has empty fields) |
if len(bibmap) > 0 and len(bibmap['author'][0]) > 0: |
if len(bibmap) > 0 and len(bibmap['author'][0]) > 0: |
try: |
try: |
Line 636 class documentViewer(Folder):
|
Line 640 class documentViewer(Folder):
|
try: |
try: |
docinfo['year']=getTextFromNode(dom.xpath("//bib/%s"%bibmap['year'][0])[0]) |
docinfo['year']=getTextFromNode(dom.xpath("//bib/%s"%bibmap['year'][0])[0]) |
except: pass |
except: pass |
logging.debug("documentViewer (getbibinfofromindexmeta) using mapping for %s"%bibtype) |
#logging.debug("documentViewer (getbibinfofromindexmeta) using mapping for %s"%bibtype) |
try: |
try: |
docinfo['lang']=getTextFromNode(dom.xpath("//bib/lang")[0]) |
docinfo['lang']=getTextFromNode(dom.xpath("//bib/lang")[0]) |
except: |
except: |
Line 681 class documentViewer(Folder):
|
Line 685 class documentViewer(Folder):
|
docinfo['isbn_issn']=getTextFromNode(dom.xpath("//bib/isbn_issn")[0]) |
docinfo['isbn_issn']=getTextFromNode(dom.xpath("//bib/isbn_issn")[0]) |
except: |
except: |
docinfo['isbn_issn']='' |
docinfo['isbn_issn']='' |
|
#logging.debug("I NEED BIBTEX %s"%docinfo) |
return docinfo |
return docinfo |
|
|
|
|
Line 778 class documentViewer(Folder):
|
Line 783 class documentViewer(Folder):
|
if textUrls and (len(textUrls) > 0): |
if textUrls and (len(textUrls) > 0): |
textUrl = getTextFromNode(textUrls[0]) |
textUrl = getTextFromNode(textUrls[0]) |
docinfo['textURLPath'] = textUrl |
docinfo['textURLPath'] = textUrl |
|
textUrlkurz = string.split(textUrl, ".")[0] |
|
docinfo['textURLPathkurz'] = textUrlkurz |
#if not docinfo['imagePath']: |
#if not docinfo['imagePath']: |
# text-only, no page images |
# text-only, no page images |
#docinfo = self.getNumTextPages(docinfo) |
#docinfo = self.getNumTextPages(docinfo) |
Line 785 class documentViewer(Folder):
|
Line 792 class documentViewer(Folder):
|
|
|
presentationUrls = dom.xpath("//texttool/presentation") |
presentationUrls = dom.xpath("//texttool/presentation") |
docinfo = self.getBibinfoFromIndexMeta(url, docinfo=docinfo, dom=dom) # get info von bib tag |
docinfo = self.getBibinfoFromIndexMeta(url, docinfo=docinfo, dom=dom) # get info von bib tag |
|
#docinfo = self.getDownloadfromDocinfoToBibtex(url, docinfo=docinfo, dom=dom) |
docinfo = self.getNameFromIndexMeta(url, docinfo=docinfo, dom=dom) |
docinfo = self.getNameFromIndexMeta(url, docinfo=docinfo, dom=dom) |
|
|
|
|
Line 840 class documentViewer(Folder):
|
Line 848 class documentViewer(Folder):
|
|
|
#path ist the path to the images it assumes that the index.meta file is one level higher. |
#path ist the path to the images it assumes that the index.meta file is one level higher. |
docinfo = self.getBibinfoFromIndexMeta(pathorig,docinfo=docinfo,cut=cut+1) |
docinfo = self.getBibinfoFromIndexMeta(pathorig,docinfo=docinfo,cut=cut+1) |
|
#docinfo = self.getDownloadfromDocinfoToBibtex(pathorig,docinfo=docinfo,cut=cut+1) |
docinfo = self.getAuthinfoFromIndexMeta(pathorig,docinfo=docinfo,cut=cut+1) |
docinfo = self.getAuthinfoFromIndexMeta(pathorig,docinfo=docinfo,cut=cut+1) |
return docinfo |
return docinfo |
|
|
Line 900 class documentViewer(Folder):
|
Line 909 class documentViewer(Folder):
|
pageinfo['viewMode'] = viewMode |
pageinfo['viewMode'] = viewMode |
pageinfo['tocMode'] = tocMode |
pageinfo['tocMode'] = tocMode |
pageinfo['characterNormalization'] = self.REQUEST.get('characterNormalization','reg') |
pageinfo['characterNormalization'] = self.REQUEST.get('characterNormalization','reg') |
pageinfo['optionToggle'] = self.REQUEST.get('optionToggle','') |
#pageinfo['optionToggle'] = self.REQUEST.get('optionToggle','1') |
pageinfo['query'] = self.REQUEST.get('query','') |
pageinfo['query'] = self.REQUEST.get('query','') |
pageinfo['queryType'] = self.REQUEST.get('queryType','') |
pageinfo['queryType'] = self.REQUEST.get('queryType','') |
pageinfo['querySearch'] =self.REQUEST.get('querySearch', 'fulltext') |
pageinfo['querySearch'] =self.REQUEST.get('querySearch', 'fulltext') |
pageinfo['textPN'] = self.REQUEST.get('textPN','1') |
pageinfo['textPN'] = self.REQUEST.get('textPN','1') |
pageinfo['highlightQuery'] = self.REQUEST.get('highlightQuery','') |
pageinfo['highlightQuery'] = self.REQUEST.get('highlightQuery','') |
|
|
|
pageinfo ['highlightElementPos'] = self.REQUEST.get('highlightElementPos','') |
|
pageinfo ['highlightElement'] = self.REQUEST.get('highlightElement','') |
|
|
|
pageinfo ['xpointer'] = self.REQUEST.get('xpointer','') |
|
|
pageinfo['tocPageSize'] = self.REQUEST.get('tocPageSize', '30') |
pageinfo['tocPageSize'] = self.REQUEST.get('tocPageSize', '30') |
pageinfo['queryPageSize'] =self.REQUEST.get('queryPageSize', '10') |
pageinfo['queryPageSize'] =self.REQUEST.get('queryPageSize', '10') |
pageinfo['tocPN'] = self.REQUEST.get('tocPN', '1') |
pageinfo['tocPN'] = self.REQUEST.get('tocPN', '1') |
|
|
toc = int (pageinfo['tocPN']) |
toc = int (pageinfo['tocPN']) |
pageinfo['textPages'] =int (toc) |
pageinfo['textPages'] =int (toc) |
|
|
|
|
|
|
if 'tocSize_%s'%tocMode in docinfo: |
if 'tocSize_%s'%tocMode in docinfo: |
tocSize = int(docinfo['tocSize_%s'%tocMode]) |
tocSize = int(docinfo['tocSize_%s'%tocMode]) |
tocPageSize = int(pageinfo['tocPageSize']) |
tocPageSize = int(pageinfo['tocPageSize']) |
Line 925 class documentViewer(Folder):
|
Line 937 class documentViewer(Folder):
|
tocPages=tocSize/tocPageSize |
tocPages=tocSize/tocPageSize |
pageinfo['tocPN'] = min (tocPages,toc) |
pageinfo['tocPN'] = min (tocPages,toc) |
pageinfo['searchPN'] =self.REQUEST.get('searchPN','1') |
pageinfo['searchPN'] =self.REQUEST.get('searchPN','1') |
pageinfo['sn'] =self.REQUEST.get('sn','') |
#pageinfo['sn'] =self.REQUEST.get('sn','') |
|
pageinfo['s'] =self.REQUEST.get('s','') |
return pageinfo |
return pageinfo |
|
|
def changeDocumentViewer(self,title="",digilibBaseUrl=None,thumbrows=2,thumbcols=5,authgroups='mpiwg',RESPONSE=None): |
def changeDocumentViewer(self,title="",digilibBaseUrl=None,thumbrows=2,thumbcols=5,authgroups='mpiwg',RESPONSE=None): |