version 1.100, 2010/10/05 09:22:46
|
version 1.129, 2010/10/18 09:54:31
|
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.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 urlparse
|
Line 19 import urlparse
|
import cStringIO |
import cStringIO |
import re |
import re |
|
|
|
|
def logger(txt,method,txt2): |
def logger(txt,method,txt2): |
"""logging""" |
"""logging""" |
logging.info(txt+ txt2) |
logging.info(txt+ txt2) |
Line 49 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): |
|
"""get browser type object""" |
|
if self.REQUEST.SESSION.has_key('browserType'): |
|
return self.REQUEST.SESSION['browserType'] |
|
else: |
|
bt = browserCheck(self) |
|
self.REQUEST.SESSION.set('browserType', bt) |
|
logging.debug("documentViewer (BROWSER TYPE) bt %s"%bt) |
|
return bt |
|
|
|
|
def getParentDir(path): |
def getParentDir(path): |
"""returns pathname shortened by one""" |
"""returns pathname shortened by one""" |
Line 174 class documentViewer(Folder):
|
Line 186 class documentViewer(Folder):
|
"""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 220 class documentViewer(Folder):
|
Line 244 class documentViewer(Folder):
|
|
|
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, originalPage=originalPage, 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 401 class documentViewer(Folder):
|
Line 427 class documentViewer(Folder):
|
regpath = regexp.match(url) |
regpath = regexp.match(url) |
if (regpath==None): |
if (regpath==None): |
return "" |
return "" |
|
logging.debug("(getDomFromIndexMeta): URLXAXA: %s"%regpath.group(2)) |
return ("/mpiwg/online/"+regpath.group(1)+"/"+regpath.group(2)) |
return ("/mpiwg/online/"+regpath.group(1)+"/"+regpath.group(2)) |
|
|
|
|
|
|
def getIndexMetaUrl(self,url): |
def getIndexMetaUrl(self,url): |
"""returns utr of index.meta document at url""" |
"""returns utr of index.meta document at url""" |
|
|
Line 533 class documentViewer(Folder):
|
Line 561 class documentViewer(Folder):
|
return docinfo |
return docinfo |
|
|
|
|
|
def getNameFromIndexMeta(self,path,docinfo=None,dom=None,cut=0): |
|
"""gets name info from the index.meta file at path or given by dom""" |
|
if docinfo is None: |
|
docinfo = {} |
|
|
|
if dom is None: |
|
for x in range(cut): |
|
path=getParentDir(path) |
|
dom = self.getDomFromIndexMeta(path) |
|
|
|
docinfo['name']=getTextFromNode(dom.xpath("/resource/name")[0]) |
|
logging.debug("documentViewer docinfo[name] %s"%docinfo['name']) |
|
return docinfo |
|
|
def getDocinfoFromTextTool(self, url, dom=None, docinfo=None): |
def getDocinfoFromTextTool(self, url, dom=None, docinfo=None): |
"""parse texttool tag in index meta""" |
"""parse texttool tag in index meta""" |
logging.debug("documentViewer (getdocinfofromtexttool) url: %s" % (url)) |
logging.debug("documentViewer (getdocinfofromtexttool) url: %s" % (url)) |
Line 619 class documentViewer(Folder):
|
Line 661 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.getNameFromIndexMeta(url, docinfo=docinfo, dom=dom) |
|
docinfo =self.getOrigPages(docinfo=None, pageinfo=None) |
|
|
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 |
Line 706 class documentViewer(Folder):
|
Line 750 class documentViewer(Folder):
|
"""returns pageinfo with the given parameters""" |
"""returns pageinfo with the given parameters""" |
pageinfo = {} |
pageinfo = {} |
current = getInt(current) |
current = getInt(current) |
|
#pageinfo ['originalPage'] = originalPage |
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 738 class documentViewer(Folder):
|
Line 783 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']) |