version 1.118, 2010/10/11 13:40:37
|
version 1.149, 2010/11/02 09:42:27
|
Line 5 from Products.PageTemplates.PageTemplate
|
Line 5 from Products.PageTemplates.PageTemplate
|
from AccessControl import ClassSecurityInfo |
from AccessControl import ClassSecurityInfo |
from AccessControl import getSecurityManager |
from AccessControl import getSecurityManager |
from Globals import package_home |
from Globals import package_home |
from Products.zogiLib import browserCheck |
from Products.zogiLib.zogiLib import browserCheck |
|
|
from Ft.Xml import EMPTY_NAMESPACE, Parse |
from Ft.Xml import EMPTY_NAMESPACE, Parse |
import Ft.Xml.Domlette |
import Ft.Xml.Domlette |
Line 18 import math
|
Line 18 import math
|
import urlparse |
import urlparse |
import cStringIO |
import cStringIO |
import re |
import re |
|
import string |
|
|
def logger(txt,method,txt2): |
def logger(txt,method,txt2): |
"""logging""" |
"""logging""" |
Line 51 def serializeNode(node, encoding='utf-8'
|
Line 51 def serializeNode(node, encoding='utf-8'
|
buf.close() |
buf.close() |
return s |
return s |
|
|
def getBrowserType(self): |
def browserCheck(self): |
"""get browser type object""" |
"""check the browsers request to find out the browser type""" |
if self.REQUEST.SESSION.has_key('browserType'): |
bt = {} |
return self.REQUEST.SESSION['browserType'] |
ua = self.REQUEST.get_header("HTTP_USER_AGENT") |
else: |
bt['ua'] = ua |
bt = browserCheck(self) |
bt['isIE'] = False |
self.REQUEST.SESSION.set('browserType', bt) |
bt['isN4'] = False |
logging.debug("documentViewer (BROWSER TYPE) bt %s"%bt) |
if string.find(ua, 'MSIE') > -1: |
|
bt['isIE'] = True |
|
else: |
|
bt['isN4'] = (string.find(ua, 'Mozilla/4.') > -1) |
|
|
|
try: |
|
nav = ua[string.find(ua, '('):] |
|
ie = string.split(nav, "; ")[1] |
|
if string.find(ie, "MSIE") > -1: |
|
bt['versIE'] = string.split(ie, " ")[1] |
|
except: pass |
|
|
|
bt['isMac'] = string.find(ua, 'Macintosh') > -1 |
|
bt['isWin'] = string.find(ua, 'Windows') > -1 |
|
bt['isIEWin'] = bt['isIE'] and bt['isWin'] |
|
bt['isIEMac'] = bt['isIE'] and bt['isMac'] |
|
bt['staticHTML'] = False |
|
|
return bt |
return bt |
|
|
|
|
Line 182 class documentViewer(Folder):
|
Line 199 class documentViewer(Folder):
|
"""get query""" |
"""get query""" |
return self.template.fulltextclient.getQuery(**args) |
return self.template.fulltextclient.getQuery(**args) |
|
|
|
def getPDF(self, **args): |
|
"""get query""" |
|
return self.template.fulltextclient.getPDF(**args) |
|
|
def getSearch(self, **args): |
def getSearch(self, **args): |
"""get search""" |
"""get search""" |
return self.template.fulltextclient.getSearch(**args) |
return self.template.fulltextclient.getSearch(**args) |
|
|
|
def getGisPlaces(self, **args): |
|
"""get gis places""" |
|
return self.template.fulltextclient.getGisPlaces(**args) |
|
|
|
def getAllGisPlaces(self, **args): |
|
"""get all gis places """ |
|
return self.template.fulltextclient.getAllGisPlaces(**args) |
|
|
|
def getOrigPages(self, **args): |
|
"""get original page number """ |
|
return self.template.fulltextclient.getOrigPages(**args) |
|
|
def getNumPages(self, docinfo): |
def getNumPages(self, docinfo): |
"""get numpages""" |
"""get numpages""" |
return self.template.fulltextclient.getNumPages(docinfo) |
return self.template.fulltextclient.getNumPages(docinfo) |
Line 231 class documentViewer(Folder):
|
Line 264 class documentViewer(Folder):
|
self.digilibBaseUrl = self.findDigilibUrl() or "http://nausikaa.mpiwg-berlin.mpg.de/digitallibrary" |
self.digilibBaseUrl = self.findDigilibUrl() or "http://nausikaa.mpiwg-berlin.mpg.de/digitallibrary" |
|
|
docinfo = self.getDocinfo(mode=mode,url=url) |
docinfo = self.getDocinfo(mode=mode,url=url) |
|
#pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo) |
pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo) |
pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo) |
|
''' ZDES ''' |
pt = getattr(self.template, 'thumbs_main_rss') |
pt = getattr(self.template, 'thumbs_main_rss') |
|
|
if viewMode=="auto": # automodus gewaehlt |
if viewMode=="auto": # automodus gewaehlt |
Line 292 class documentViewer(Folder):
|
Line 327 class documentViewer(Folder):
|
return ret |
return ret |
|
|
|
|
|
def getBrowser(self): |
|
"""getBrowser the version of browser """ |
|
names="" |
|
names = browserCheck(self) |
|
#logging.debug("XXXXXXXXXXXXXXXX: %s"%names) |
|
return names |
|
|
def findDigilibUrl(self): |
def findDigilibUrl(self): |
"""try to get the digilib URL from zogilib""" |
"""try to get the digilib URL from zogilib""" |
url = self.template.zogilib.getDLBaseUrl() |
url = self.template.zogilib.getDLBaseUrl() |
Line 557 class documentViewer(Folder):
|
Line 599 class documentViewer(Folder):
|
path=getParentDir(path) |
path=getParentDir(path) |
dom = self.getDomFromIndexMeta(path) |
dom = self.getDomFromIndexMeta(path) |
|
|
#docinfo['indexMetaPath']=self.getIndexMetaPath(path); |
|
|
|
#result= dom.xpath("//result/resultPage") |
|
#docinfo['numPages']=int(getTextFromNode(result[0])) |
|
|
|
#result =dom.xpath("//name") |
|
docinfo['name']=getTextFromNode(dom.xpath("/resource/name")[0]) |
docinfo['name']=getTextFromNode(dom.xpath("/resource/name")[0]) |
logging.debug("documentViewer docinfo[name] %s"%docinfo['name']) |
logging.debug("documentViewer docinfo[name] %s"%docinfo['name']) |
|
|
#logging.debug("documentViewer (getbibinfofromindexmeta) using mapping for %s"%bibtype) |
|
return docinfo |
return docinfo |
|
|
def getDocinfoFromTextTool(self, url, dom=None, docinfo=None): |
def getDocinfoFromTextTool(self, url, dom=None, docinfo=None): |
Line 657 class documentViewer(Folder):
|
Line 691 class documentViewer(Folder):
|
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.getNameFromIndexMeta(url, docinfo=docinfo, dom=dom) |
docinfo = self.getNameFromIndexMeta(url, docinfo=docinfo, dom=dom) |
|
|
|
|
if presentationUrls and (len(presentationUrls) > 0): # ueberschreibe diese durch presentation informationen |
if presentationUrls and (len(presentationUrls) > 0): # ueberschreibe diese durch presentation informationen |
# presentation url ergiebt sich ersetzen von index.meta in der url der fuer die Metadaten |
# presentation url ergiebt sich ersetzen von index.meta in der url der fuer die Metadaten |
# durch den relativen Pfad auf die presentation infos |
# durch den relativen Pfad auf die presentation infos |
Line 736 class documentViewer(Folder):
|
Line 771 class documentViewer(Folder):
|
raise ValueError("Unknown mode %s! Has to be one of 'texttool','imagepath','filepath'."%(mode)) |
raise ValueError("Unknown mode %s! Has to be one of 'texttool','imagepath','filepath'."%(mode)) |
|
|
logging.debug("documentViewer (getdocinfo) docinfo: %s"%docinfo) |
logging.debug("documentViewer (getdocinfo) docinfo: %s"%docinfo) |
|
#logging.debug("documentViewer (getdocinfo) docinfo: %s"%) |
self.REQUEST.SESSION['docinfo'] = docinfo |
self.REQUEST.SESSION['docinfo'] = docinfo |
return docinfo |
return docinfo |
|
|
Line 743 class documentViewer(Folder):
|
Line 779 class documentViewer(Folder):
|
"""returns pageinfo with the given parameters""" |
"""returns pageinfo with the given parameters""" |
pageinfo = {} |
pageinfo = {} |
current = getInt(current) |
current = getInt(current) |
|
|
pageinfo['current'] = current |
pageinfo['current'] = current |
rows = int(rows or self.thumbrows) |
rows = int(rows or self.thumbrows) |
pageinfo['rows'] = rows |
pageinfo['rows'] = rows |
Line 762 class documentViewer(Folder):
|
Line 799 class documentViewer(Folder):
|
pageinfo['numgroups'] += 1 |
pageinfo['numgroups'] += 1 |
pageinfo['viewMode'] = viewMode |
pageinfo['viewMode'] = viewMode |
pageinfo['tocMode'] = tocMode |
pageinfo['tocMode'] = tocMode |
#pageinfo['characterNormalization'] =characterNormalization |
#pageinfo ['originalPage'] = self.getOrigPages(docinfo=None, pageinfo=None) |
pageinfo['characterNormalization'] = self.REQUEST.get('characterNormalization',' ') |
pageinfo['characterNormalization'] = self.REQUEST.get('characterNormalization',' ') |
pageinfo['query'] = self.REQUEST.get('query',' ') |
pageinfo['query'] = self.REQUEST.get('query',' ') |
pageinfo['queryType'] = self.REQUEST.get('queryType',' ') |
pageinfo['queryType'] = self.REQUEST.get('queryType',' ') |
Line 775 class documentViewer(Folder):
|
Line 812 class documentViewer(Folder):
|
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']) |