version 1.171, 2011/03/07 14:08:07
|
version 1.178, 2012/01/04 07:38:17
|
Line 47 def serializeNode(node, encoding="utf-8"
|
Line 47 def serializeNode(node, encoding="utf-8"
|
"""returns a string containing node as XML""" |
"""returns a string containing node as XML""" |
stream = cStringIO.StringIO() |
stream = cStringIO.StringIO() |
#logging.debug("BUF: %s"%(stream)) |
#logging.debug("BUF: %s"%(stream)) |
Ft.Xml.Domlette.PrettyPrint(node, stream=stream, encoding=encoding) |
Ft.Xml.Domlette.Print(node, stream=stream, encoding=encoding) |
s = stream.getvalue() |
s = stream.getvalue() |
#logging.debug("BUF: %s"%(s)) |
#logging.debug("BUF: %s"%(s)) |
stream.close() |
stream.close() |
Line 263 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 587 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 599 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 619 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 632 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 677 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 769 class documentViewer(Folder):
|
Line 778 class documentViewer(Folder):
|
|
|
docinfo['textURL'] = textUrl |
docinfo['textURL'] = textUrl |
|
|
|
|
|
#TODO: hack-DW for annalen |
|
if (textUrl is not None) and (textUrl.startswith("/permanent/einstein/annalen")): |
|
textUrl=textUrl.replace("/permanent/einstein/annalen/","/diverse/de/") |
|
splitted=textUrl.split("/fulltext") |
|
textUrl=splitted[0]+".xml" |
|
textUrlkurz = string.split(textUrl, ".")[0] |
|
docinfo['textURLPathkurz'] = textUrlkurz |
|
docinfo['textURLPath'] = textUrl |
|
logging.debug("hack") |
|
logging.debug(textUrl) |
|
|
|
|
# new style text-url-path |
# new style text-url-path |
textUrls = dom.xpath("//texttool/text-url-path") |
textUrls = dom.xpath("//texttool/text-url-path") |
if textUrls and (len(textUrls) > 0): |
if textUrls and (len(textUrls) > 0): |
Line 783 class documentViewer(Folder):
|
Line 805 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 838 class documentViewer(Folder):
|
Line 861 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 898 class documentViewer(Folder):
|
Line 922 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') |
Line 920 class documentViewer(Folder):
|
Line 950 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): |