version 1.175.2.22, 2011/08/09 18:27:41
|
version 1.175.2.24, 2011/08/12 14:41:39
|
Line 176 class documentViewer(Folder):
|
Line 176 class documentViewer(Folder):
|
except Exception, e: |
except Exception, e: |
logging.error("Unable to find MetaDataFolder 'metadata': "+str(e)) |
logging.error("Unable to find MetaDataFolder 'metadata': "+str(e)) |
|
|
|
if digilibBaseUrl is not None: |
|
self.digilibBaseUrl = digilibBaseUrl |
|
|
|
|
# proxy text server methods to fulltextclient |
# proxy text server methods to fulltextclient |
def getTextPage(self, **args): |
def getTextPage(self, **args): |
Line 206 class documentViewer(Folder):
|
Line 209 class documentViewer(Folder):
|
"""get all gis places """ |
"""get all gis places """ |
return self.template.fulltextclient.getAllGisPlaces(**args) |
return self.template.fulltextclient.getAllGisPlaces(**args) |
|
|
def getTranslate(self, **args): |
def getWordInfo(self, **args): |
"""get translate""" |
"""get translate""" |
return self.template.fulltextclient.getTranslate(**args) |
return self.template.fulltextclient.getWordInfo(**args) |
|
|
def getLemma(self, **args): |
def getLemma(self, **args): |
"""get lemma""" |
"""get lemma""" |
Line 307 class documentViewer(Folder):
|
Line 310 class documentViewer(Folder):
|
|
|
# stringify viewType |
# stringify viewType |
if isinstance(viewType, list): |
if isinstance(viewType, list): |
|
logging.debug("index_html: viewType is list:%s"%viewType) |
viewType = ','.join([t for t in viewType if t]) |
viewType = ','.join([t for t in viewType if t]) |
|
|
pageinfo = self.getPageinfo(start=start, current=pn, docinfo=docinfo, viewMode=viewMode, viewType=viewType, tocMode=tocMode) |
pageinfo = self.getPageinfo(start=start, current=pn, docinfo=docinfo, viewMode=viewMode, viewType=viewType, tocMode=tocMode) |
Line 355 class documentViewer(Folder):
|
Line 359 class documentViewer(Folder):
|
else: |
else: |
return style |
return style |
|
|
def getParams(self, param=None, val=None, params=None): |
def getParams(self, param=None, val=None, params=None, duplicates=None): |
"""returns dict with URL parameters. |
"""returns dict with URL parameters. |
|
|
Takes URL parameters and additionally param=val or dict params. |
Takes URL parameters and additionally param=val or dict params. |
Line 372 class documentViewer(Folder):
|
Line 376 class documentViewer(Folder):
|
|
|
# change more params |
# change more params |
if params is not None: |
if params is not None: |
for k in params.keys(): |
for (k, v) in params.items(): |
v = params[k] |
|
if v is None: |
if v is None: |
# val=None removes param |
# val=None removes param |
if newParams.has_key(k): |
if newParams.has_key(k): |
Line 382 class documentViewer(Folder):
|
Line 385 class documentViewer(Folder):
|
else: |
else: |
newParams[k] = v |
newParams[k] = v |
|
|
|
if duplicates: |
|
# eliminate lists (coming from duplicate keys) |
|
for (k,v) in newParams.items(): |
|
if isinstance(v, list): |
|
if duplicates == 'comma': |
|
# make comma-separated list of non-empty entries |
|
newParams[k] = ','.join([t for t in v if t]) |
|
elif duplicates == 'first': |
|
# take first non-empty entry |
|
newParams[k] = [t for t in v if t][0] |
|
|
return newParams |
return newParams |
|
|
def getLink(self, param=None, val=None, params=None, baseUrl=None, paramSep='&'): |
def getLink(self, param=None, val=None, params=None, baseUrl=None, paramSep='&', duplicates='comma'): |
"""returns URL to documentviewer with parameter param set to val or from dict params""" |
"""returns URL to documentviewer with parameter param set to val or from dict params""" |
urlParams = self.getParams(param=param, val=val, params=params) |
urlParams = self.getParams(param=param, val=val, params=params, duplicates=duplicates) |
# quote values and assemble into query string (not escaping '/') |
# quote values and assemble into query string (not escaping '/') |
ps = paramSep.join(["%s=%s"%(k,urllib.quote_plus(unicode(v),'/')) for (k, v) in urlParams.items()]) |
ps = paramSep.join(["%s=%s"%(k,urllib.quote_plus(unicode(v),'/')) for (k, v) in urlParams.items()]) |
if baseUrl is None: |
if baseUrl is None: |
Line 395 class documentViewer(Folder):
|
Line 409 class documentViewer(Folder):
|
url = "%s?%s"%(baseUrl, ps) |
url = "%s?%s"%(baseUrl, ps) |
return url |
return url |
|
|
def getLinkAmp(self, param=None, val=None, params=None, baseUrl=None): |
def getLinkAmp(self, param=None, val=None, params=None, baseUrl=None, duplicates='comma'): |
"""link to documentviewer with parameter param set to val""" |
"""link to documentviewer with parameter param set to val""" |
return self.getLink(param, val, params, baseUrl, '&') |
return self.getLink(param=param, val=val, params=params, baseUrl=baseUrl, paramSep='&', duplicates=duplicates) |
|
|
|
|
def getInfo_xml(self,url,mode): |
def getInfo_xml(self,url,mode): |
Line 447 class documentViewer(Folder):
|
Line 461 class documentViewer(Folder):
|
docinfo = {'mode': mode, 'url': url} |
docinfo = {'mode': mode, 'url': url} |
# add self url |
# add self url |
docinfo['viewerUrl'] = self.getDocumentViewerURL() |
docinfo['viewerUrl'] = self.getDocumentViewerURL() |
|
docinfo['digilibBaseUrl'] = self.digilibBaseUrl |
# get index.meta DOM |
# get index.meta DOM |
docUrl = None |
docUrl = None |
metaDom = None |
metaDom = None |
Line 515 class documentViewer(Folder):
|
Line 530 class documentViewer(Folder):
|
|
|
# image path |
# image path |
if mode != 'texttool': |
if mode != 'texttool': |
# override image path from texttool |
# override image path from texttool with url |
docinfo['imagePath'] = url.replace('/mpiwg/online/', '', 1) |
docinfo['imagePath'] = url.replace('/mpiwg/online/', '', 1) |
|
|
|
|
|
|
# number of images from digilib |
# number of images from digilib |
if docinfo.get('imagePath', None): |
if docinfo.get('imagePath', None): |
docinfo['imageURL'] = self.digilibBaseUrl + "/servlet/Scaler?fn=" + docinfo['imagePath'] |
docinfo['imageURL'] = self.digilibBaseUrl + "/servlet/Scaler?fn=" + docinfo['imagePath'] |
Line 680 class documentViewer(Folder):
|
Line 697 class documentViewer(Folder):
|
return docinfo |
return docinfo |
|
|
|
|
def getPageinfo(self, current, start=None, rows=None, cols=None, docinfo=None, viewMode=None, viewType=None, tocMode=None): |
def getPageinfo(self, current=None, start=None, rows=None, cols=None, docinfo=None, viewMode=None, viewType=None, tocMode=None): |
"""returns pageinfo with the given parameters""" |
"""returns pageinfo with the given parameters""" |
|
logging.debug("getPageInfo(current=%s, start=%s, rows=%s, cols=%s, viewMode=%s, viewType=%s, tocMode=%s)"%(current,start,rows,cols,viewMode,viewType,tocMode)) |
pageinfo = {} |
pageinfo = {} |
pageinfo['viewMode'] = viewMode |
pageinfo['viewMode'] = viewMode |
pageinfo['viewType'] = viewType |
pageinfo['viewType'] = viewType |