version 1.58, 2005/10/11 20:06:05
|
version 1.63, 2006/06/15 16:44:00
|
Line 1
|
Line 1
|
|
from AccessControl import ClassSecurityInfo |
|
from Globals import package_home |
|
from OFS.Folder import Folder |
|
from OFS.Image import Image |
|
from OFS.Image import File |
from OFS.SimpleItem import SimpleItem |
from OFS.SimpleItem import SimpleItem |
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
|
from Products.PageTemplates.PageTemplate import PageTemplate |
from Products.PageTemplates.PageTemplate import PageTemplate |
|
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate |
from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate |
from OFS.Image import Image |
from types import * |
from AccessControl import ClassSecurityInfo |
from Globals import package_home, ImageFile |
import xml.dom.minidom |
|
from OFS.Folder import Folder |
|
from xml_helpers import getUniqueElementText,getText |
from xml_helpers import getUniqueElementText,getText |
|
import cgi |
import os |
import os |
|
import random |
import re |
import re |
import string |
import string |
import urllib |
import urllib |
from types import * |
import xml.dom.minidom |
import random |
|
import cgi |
|
from Globals import package_home |
|
|
|
ZOGIVERSION = "0.9.15b DW:22.2.2005" |
ZOGIVERSION = "0.10.2b ROC 15.6.2006" |
|
|
def cropf(f): |
def cropf(f): |
"""returns a float with reduced precision""" |
"""returns a float with reduced precision""" |
return float(int(f * 10000)/10000.0) |
return float(int(f * 10000)/10000.0) |
|
|
|
|
def sendFile(self, filename, type): |
|
"""sends an object or a local file (from the product) as response""" |
|
paths = filename.split('/') |
|
object = self |
|
# look for an object called filename |
|
for path in paths: |
|
if hasattr(object, path): |
|
object = getattr(object, path) |
|
else: |
|
object = None |
|
break |
|
if object: |
|
# if the object exists then send it |
|
return object.index_html(self.REQUEST.REQUEST, self.REQUEST.RESPONSE) |
|
else: |
|
# send a local file with the given content-type |
|
fn = os.path.join(package_home(globals()), filename) |
|
self.REQUEST.RESPONSE.setHeader("Content-Type", type) |
|
self.REQUEST.RESPONSE.write(file(fn).read()) |
|
return |
|
|
|
def browserCheck(self): |
def browserCheck(self): |
"""check the browsers request to find out the browser type""" |
"""check the browsers request to find out the browser type""" |
bt = {} |
bt = {} |
Line 175 class zogiLib(Folder):
|
Line 156 class zogiLib(Folder):
|
else: |
else: |
self.dlToolbarBaseURL = dlServerURL + "/digimage.jsp?" |
self.dlToolbarBaseURL = dlServerURL + "/digimage.jsp?" |
|
|
|
self.manage_addFolder('template') |
|
|
|
|
|
# form templates |
|
main_book = PageTemplateFile('zpt/main_book', globals()) |
|
main_image = PageTemplateFile('zpt/main_image', globals()) |
|
main_metaData = PageTemplateFile('zpt/main_metadata', globals()) |
|
#main_static = PageTemplateFile('zpt/main_static', globals()) |
|
options = PageTemplateFile('zpt/options', globals()) |
|
changeForm = PageTemplateFile('zpt/changeForm', globals()) |
|
|
|
# display templates |
|
aux_divs = PageTemplateFile('zpt/aux_divs', globals()) |
|
#aux_divsN4 = PageTemplateFile('zpt/aux_divsN4', globals()) |
|
img_div = PageTemplateFile('zpt/img_div', globals()) |
|
|
|
# javascripts |
|
head_js = PageTemplateFile('zpt/head_js', globals()) |
|
jslib_js = PageTemplateFile('js/baselib.js', globals()) |
|
dllib_js = PageTemplateFile('js/dllib.js', globals()) |
|
|
|
# graphic files |
|
arr_right = ImageFile('images/right.gif', globals()) |
|
arr_left = ImageFile('images/left.gif', globals()) |
|
arr_up = ImageFile('images/up.gif', globals()) |
|
arr_down = ImageFile('images/down.gif', globals()) |
|
mark1 = ImageFile('images/mark1.gif', globals()) |
|
mark2 = ImageFile('images/mark2.gif', globals()) |
|
mark3 = ImageFile('images/mark3.gif', globals()) |
|
mark4 = ImageFile('images/mark4.gif', globals()) |
|
mark5 = ImageFile('images/mark5.gif', globals()) |
|
mark6 = ImageFile('images/mark6.gif', globals()) |
|
mark7 = ImageFile('images/mark7.gif', globals()) |
|
mark8 = ImageFile('images/mark8.gif', globals()) |
|
corner1 = ImageFile('images/olinks.gif', globals()) |
|
corner2 = ImageFile('images/orechts.gif', globals()) |
|
corner3 = ImageFile('images/ulinks.gif', globals()) |
|
corner4 = ImageFile('images/urechts.gif', globals()) |
|
|
|
|
security.declareProtected('View','getLayout') |
security.declareProtected('View','getLayout') |
def getLayout(self): |
def getLayout(self): |
"""get Layout""" |
"""get Layout""" |
Line 233 class zogiLib(Folder):
|
Line 254 class zogiLib(Folder):
|
|
|
sets=xml.dom.minidom.parse(urllib.urlopen(url)).getElementsByTagName('dataset') |
sets=xml.dom.minidom.parse(urllib.urlopen(url)).getElementsByTagName('dataset') |
ret="" |
ret="" |
print label |
#print label |
if label: |
if label: |
ret+="""<a href="%s">%s</a>"""%(viewUrl,label) |
ret+="""<a href="%s">%s</a>"""%(viewUrl,label) |
for set in sets: |
for set in sets: |
Line 300 class zogiLib(Folder):
|
Line 321 class zogiLib(Folder):
|
def getDLInfo(self): |
def getDLInfo(self): |
"""get DLInfo from digilib server""" |
"""get DLInfo from digilib server""" |
paramH={} |
paramH={} |
baseUrl=self.dlServerURL+"/dlInfo-xml.jsp" |
baseUrl=self.getDLBaseUrl()+"/dlInfo-xml.jsp" |
|
#print "getdlinfo: ", baseUrl |
try: |
try: |
url=urllib.urlopen(baseUrl+'?'+self.REQUEST['QUERY_STRING']) |
url=urllib.urlopen(baseUrl+'?'+self.getAllDLParams()) |
dom=xml.dom.minidom.parse(url) |
dom=xml.dom.minidom.parse(url) |
params=dom.getElementsByTagName('parameter') |
params=dom.getElementsByTagName('parameter') |
for param in params: |
for param in params: |
Line 312 class zogiLib(Folder):
|
Line 334 class zogiLib(Folder):
|
return {} |
return {} |
|
|
|
|
def createHeadJS(self): |
def zogilibPath(self, otherbase=None): |
"""generate all javascript tags for head""" |
"""returns an URL to the zogiLib instance""" |
self.checkQuery() |
url = self.REQUEST['URL1'] |
bt = self.REQUEST.SESSION.get('browserType', {}) |
# should end with "/" |
if bt['staticHTML']: |
if len(url) > 0 and url[-1] != '/': |
return |
url += '/' |
|
if type(otherbase) is str: |
pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/zogilib_head_js')).__of__(self) |
url += otherbase |
return pt() |
else: |
|
url += self.basePath |
|
# should still end with "/" |
|
if len(url) > 0 and url[-1] != '/': |
|
url += '/' |
|
return url |
|
|
def createParamJS(self): |
def zogilibAction(self, action, otherbase=None): |
"""generate javascript for parameters only""" |
"""returns a URL with zogilib path and action""" |
self.checkQuery() |
url = self.zogilibPath(otherbase) |
bt = self.REQUEST.SESSION['browserType'] |
url += action |
if bt['staticHTML']: |
url += '?' + self.getAllDLParams(); |
return |
return url |
|
|
pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/zogilib_param_js')).__of__(self) |
def getDLBaseUrl(self): |
return pt() |
"""returns digilib base URL (sans servlet path)""" |
|
if self.dlServerURL[-1] == '?': |
|
# full Servlet URL -- remove last part |
|
si = self.dlServerURL.rindex('/servlet/') |
|
if si > 0: |
|
return self.dlServerURL[:si] |
|
else: |
|
# no servlet part :-( |
|
return "http://nausikaa.mpiwg-berlin.mpg.de/digitallibrary" |
|
else: |
|
return self.dlServerURL |
|
|
|
|
def getScalerUrl(self,requestString=None): |
def getScalerUrl(self,requestString=""): |
"""send scaler url""" |
"""send scaler url""" |
if requestString: |
if self.dlServerURL[-1] == '?': |
return self.dlServerURL+'/servlet/Scaler?'+requestString |
# full Servlet URL |
|
return self.dlServerURL + requestString |
else: |
else: |
return self.dlServerURL+'/servlet/Scaler?' |
return self.dlServerURL+'/servlet/Scaler?'+requestString |
|
|
def scaledImage(self,requestString=None): |
def scaledImage(self,requestString=None): |
"""scaled Image""" |
"""scaled Image""" |
Line 354 class zogiLib(Folder):
|
Line 392 class zogiLib(Folder):
|
def createScalerImg(self, requestString=None, bottom=0, side=0, width=500, height=500): |
def createScalerImg(self, requestString=None, bottom=0, side=0, width=500, height=500): |
"""generate Scaler IMG Tag""" |
"""generate Scaler IMG Tag""" |
self.checkQuery() |
self.checkQuery() |
bt = self.REQUEST.SESSION['browserType'] |
bt = self.getBrowserType() |
# override with parameters from session |
# override with parameters from session |
if self.REQUEST.SESSION.has_key('scalerDiv'): |
if self.REQUEST.SESSION.has_key('scalerDiv'): |
(requestString, bottom, side, width, height) = self.REQUEST.SESSION['scalerDiv'] |
(requestString, bottom, side, width, height) = self.REQUEST.SESSION['scalerDiv'] |
# if not explicitly defined take normal request |
# if not explicitly defined take normal request |
if not requestString: |
if not requestString: |
requestString = self.getAllDLParams() |
requestString = self.getAllDLParams() |
url = self.dlServerURL+'/servlet/Scaler?'+requestString |
url = self.getScalerUrl(requestString=requestString) |
# construct bottom and side insets |
# construct bottom and side insets |
b_par = "" |
b_par = "" |
s_par = "" |
s_par = "" |
Line 401 class zogiLib(Folder):
|
Line 439 class zogiLib(Folder):
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/zogilib_img_div')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/zogilib_img_div')).__of__(self) |
return pt() |
return pt() |
|
|
def createAuxDiv(self): |
|
"""generate other divs""" |
|
self.checkQuery() |
|
bt = self.REQUEST.SESSION['browserType'] |
|
if bt['staticHTML']: |
|
return |
|
if bt['isN4']: |
|
f = 'zpt/zogilib_divsN4.zpt' |
|
else: |
|
f = 'zpt/zogiLib_divs.zpt' |
|
pt=PageTemplateFile(os.path.join(package_home(globals()),f)).__of__(self) |
|
return pt() |
|
|
|
|
|
def option_js(self): |
|
"""javascript""" |
|
return sendFile(self, 'js/option.js', 'text/plain') |
|
|
|
def dl_lib_js(self): |
|
"""javascript""" |
|
return sendFile(self, 'js/dllib.js', 'text/plain') |
|
|
|
def js_lib_js(self): |
|
"""javascript""" |
|
return sendFile(self, 'js/baselib.js', 'text/plain') |
|
|
|
def optionwindow(self): |
|
"""showoptions""" |
|
self.checkQuery() |
|
bt = self.REQUEST.SESSION['browserType'] |
|
if bt['staticHTML']: |
|
pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/optionwindow_static.zpt')).__of__(self) |
|
else: |
|
tp = "viewingTools.zpt" |
|
if hasattr(self, tp): |
|
pt = getattr(self, tp) |
|
else: |
|
pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/optionwindow.zpt')).__of__(self) |
|
|
|
return pt() |
|
|
|
def mark1(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/mark1.gif', 'image/gif') |
|
|
|
def mark2(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/mark2.gif', 'image/gif') |
|
|
|
def mark3(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/mark3.gif', 'image/gif') |
|
|
|
def mark4(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/mark4.gif', 'image/gif') |
|
|
|
def mark5(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/mark5.gif', 'image/gif') |
|
|
|
def mark6(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/mark6.gif', 'image/gif') |
|
|
|
def mark7(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/mark7.gif', 'image/gif') |
|
|
|
def mark8(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/mark8.gif', 'image/gif') |
|
|
|
def corner1(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/olinks.gif', 'image/gif') |
|
|
|
def corner2(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/orechts.gif', 'image/gif') |
|
|
|
def corner3(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/ulinks.gif', 'image/gif') |
|
|
|
def corner4(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/urechts.gif', 'image/gif') |
|
|
|
def up_img(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/up.gif', 'image/gif') |
|
|
|
def down_img(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/down.gif', 'image/gif') |
|
|
|
def left_img(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/left.gif', 'image/gif') |
|
|
|
def right_img(self): |
|
"""mark image""" |
|
return sendFile(self, 'images/right.gif', 'image/gif') |
|
|
|
|
|
|
|
def index_html(self): |
def index_html(self): |
"""main action""" |
"""main action""" |
self.checkQuery() |
self.checkQuery() |
bt = self.REQUEST.SESSION['browserType'] |
tp = "main_template" |
tp = "zogiLibMainTemplate" |
|
|
|
if hasattr(self, tp): |
|
pt = getattr(self, tp) |
|
else: |
|
tpt = self.layout |
tpt = self.layout |
|
|
if bt['staticHTML']: |
if not hasattr(self, 'template'): |
tpt = "static" |
# create template folder if it doesn't exist |
|
print "no template folder -- creating" |
pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/zogiLibMain_%s'%tpt)).__of__(self) |
self.manage_addFolder('template') |
|
|
|
pt = getattr(self.template, 'main_'+tpt) |
return pt() |
return pt() |
|
|
|
def checkQuery(self): |
|
"""make shure that the query has been saved""" |
|
if not self.REQUEST.has_key('dlParams'): |
|
self.storeQuery() |
|
|
def storeQuery(self, more = None): |
def storeQuery(self, more=None, withpt=False): |
"""storeQuery in session""" |
"""parse query parameters into a hash in REQUEST""" |
dlParams = {} |
params = {} |
for fm in self.REQUEST.form.keys(): |
for fm in self.REQUEST.form.keys(): |
dlParams[fm] = self.REQUEST.form[fm] |
params[fm] = self.REQUEST.form[fm] |
# look for more |
# look for more |
if more: |
if more: |
for fm in more.split('&'): |
for fm in more.split('&'): |
try: |
try: |
pv = fm.split('=') |
pv = fm.split('=') |
dlParams[pv[0]] = pv[1] |
params[pv[0]] = pv[1] |
except: |
except: |
pass |
pass |
|
|
# parse digilib mode parameter |
# parse digilib mode parameter |
if 'mo' in dlParams: |
if 'mo' in params: |
if len(dlParams['mo']) > 0: |
if len(params['mo']) > 0: |
modes=dlParams['mo'].split(',') |
modes=params['mo'].split(',') |
else: |
else: |
modes=[] |
modes = []; |
|
|
wid = self.getWID() |
|
self.REQUEST.set('wid', wid) |
|
self.setSubSession('dlQuery', dlParams) |
|
self.setSubSession('dlModes', modes) |
|
self.setSubSession('dlInfo', self.getDLInfo()) |
|
if not self.REQUEST.SESSION.has_key('browserType'): |
|
self.REQUEST.SESSION['browserType'] = browserCheck(self) |
|
|
|
return |
|
|
|
def checkQuery(self): |
|
"""check if the query has been stored""" |
|
if not (self.REQUEST.SESSION and self.getSubSession('dlQuery')) : |
|
print "ZOGILIB: have to store query!!" |
|
self.storeQuery() |
|
return |
|
|
|
def zogilibPath(self, otherbase=None): |
self.REQUEST.set('dlParams', params) |
"""returns an URL to the zogiLib instance""" |
self.REQUEST.set('dlModes', modes) |
url = self.REQUEST['URL1'] |
|
# should end with "/" |
|
if len(url) > 0 and url[-1] != '/': |
|
url += '/' |
|
if type(otherbase) is str: |
|
url += otherbase |
|
else: |
|
url += self.basePath |
|
# should end with "/" |
|
if len(url) > 0 and url[-1] != '/': |
|
url += '/' |
|
return url |
|
|
|
def zogilibAction(self, action, otherbase=None, wid=None): |
# trigger get pt (from dlInfo) if requested |
"""returns a URL with zogilib path, action and wid""" |
if withpt: |
url = self.zogilibPath(otherbase) |
pt = self.getPT() |
url += action |
|
if wid: |
|
url += '?wid=' + wid |
|
else: |
|
url += '?wid=' + self.getWID() |
|
return url |
|
|
|
def getSubSession(self, key, default=None): |
return params |
"""returns an element from a session with a wid""" |
|
wid = self.getWID() |
|
return self.REQUEST.SESSION.get(key+'_'+wid, default) |
|
|
|
def setSubSession(self, key, value): |
|
"""puts an element in a session with a wid""" |
|
wid = self.getWID() |
|
self.REQUEST.SESSION.set(key+'_'+wid, value) |
|
return |
|
|
|
def getWID(self): |
|
"""returns a (new) window id""" |
|
wid = self.REQUEST.get('wid') |
|
if not wid: |
|
wid = 'digi_'+str(int(random.random()*10000)) |
|
print "new WID:", wid |
|
return wid |
|
|
|
def getDLParam(self, param, default=None): |
def getDLParam(self, param, default=None): |
"""returns parameter or default""" |
"""returns parameter or default""" |
|
self.checkQuery() |
|
dlParams = self.REQUEST.get('dlParams') |
try: |
try: |
return self.getSubSession('dlQuery').get(param, default) |
return dlParams[param] |
except: |
except: |
return default |
return default |
|
|
def setDLParam(self, param, value): |
def setDLParam(self, param, value): |
"""sets parameter""" |
"""sets parameter""" |
dlParams = self.getSubSession('dlQuery') |
self.checkQuery() |
#try: |
dlParams = self.REQUEST.get('dlParams') |
dlParams[param] = value |
dlParams[param] = value |
#except: |
|
# self.setSubSession('dlQuery', {param: value}) |
|
return |
return |
|
|
def getAllDLParams(self): |
def getAllDLParams(self): |
"""parameter string for digilib""" |
"""parameter string for digilib""" |
dlParams = self.getSubSession('dlQuery') |
self.checkQuery() |
|
dlParams = self.REQUEST.get('dlParams') |
# save modes |
# save modes |
modes = self.getSubSession('dlModes') |
modes = self.REQUEST.get('dlModes') |
|
if modes: |
dlParams['mo'] = string.join(modes, ',') |
dlParams['mo'] = string.join(modes, ',') |
# assemble query string |
# assemble query string |
ret = "" |
ret = "" |
Line 642 class zogiLib(Folder):
|
Line 524 class zogiLib(Folder):
|
# omit trailing "&" |
# omit trailing "&" |
return ret.rstrip('&') |
return ret.rstrip('&') |
|
|
|
|
def setDLParams(self,pn=None,ws=None,rot=None,brgt=None,cont=None): |
def setDLParams(self,pn=None,ws=None,rot=None,brgt=None,cont=None): |
"""setze Parameter""" |
"""setze Parameter""" |
|
|
Line 658 class zogiLib(Folder):
|
Line 539 class zogiLib(Folder):
|
|
|
return self.display() |
return self.display() |
|
|
|
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) |
|
return bt |
|
|
|
|
def display(self): |
def display(self): |
"""(re)display page""" |
"""(re)display page""" |
if not self.getDLParam('wid'): |
|
wid = self.getWID() |
|
self.setDLParam('wid', wid) |
|
|
|
params = self.getAllDLParams() |
params = self.getAllDLParams() |
|
|
if self.basePath: |
if self.basePath: |
Line 685 class zogiLib(Folder):
|
Line 571 class zogiLib(Folder):
|
"""returns dlTarget""" |
"""returns dlTarget""" |
self.checkQuery() |
self.checkQuery() |
s = self.dlTarget |
s = self.dlTarget |
if s == None: |
if (s is None) or (s == ""): |
s = "" |
# s = "" |
# s = 'dl' |
s = 'dl' |
# if self.getDLParam('fn'): |
if self.getDLParam('fn'): |
# s += "_" + self.getDLParam('fn') |
s += "_" + self.getDLParam('fn') |
# if self.getDLParam('pn'): |
if self.getDLParam('pn'): |
# s += "_" + self.getDLParam('pn') |
s += "_" + self.getDLParam('pn') |
return s |
|
|
|
def setStaticHTML(self, static=True): |
|
"""sets the preference to static HTML""" |
|
self.checkQuery() |
|
self.REQUEST.SESSION['browserType']['staticHTML'] = static |
|
return |
|
|
|
def isStaticHTML(self): |
return s |
"""returns if the page is using static HTML only""" |
|
self.checkQuery() |
|
return self.REQUEST.SESSION['browserType']['staticHTML'] |
|
|
|
def getPT(self): |
|
"""pagenums""" |
|
di = self.getSubSession('dlInfo') |
|
if di: |
|
return int(di['pt']) |
|
else: |
|
return 1 |
|
|
|
def getPN(self): |
def getPN(self): |
"""Pagenum""" |
"""pagenumber""" |
pn = self.getDLParam('pn') |
pn = int(self.getDLParam('pn', 1)) |
try: |
return pn |
return int(pn) |
|
except: |
|
return 1 |
|
|
|
def getBiggerWS(self): |
def getPT(self): |
"""ws+1""" |
"""number of total pages""" |
ws = self.getDLParam('ws') |
pt = self.getDLParam('pt', None) |
try: |
if pt is None: |
return float(ws)+0.5 |
# get pt from dlInfo |
except: |
if self.REQUEST.has_key('dlInfo'): |
return 1.5 |
info = self.REQUEST.get('dlInfo') |
|
else: |
def getSmallerWS(self): |
info = self.getDLInfo() |
"""ws-1""" |
self.REQUEST.set('dlInfo', info) |
ws=self.getDLParam('ws') |
pt = int(info.get('pt', 1)) |
try: |
self.setDLParam('pt', pt) |
return max(float(ws)-0.5, 1) |
return int(pt) |
except: |
|
return 1 |
|
|
|
def hasMode(self, mode): |
def hasMode(self, mode): |
"""returns if mode is in the diglib mo parameter""" |
"""returns if mode is in the diglib mo parameter""" |
wid = self.getWID() |
return (mode in self.REQUEST.get('dlModes')) |
return (mode in self.REQUEST.SESSION['dlModes_'+wid]) |
|
|
|
def hasNextPage(self): |
def hasNextPage(self): |
"""returns if there is a next page""" |
"""returns if there is a next page""" |
Line 779 class zogiLib(Folder):
|
Line 641 class zogiLib(Folder):
|
def dl_StaticHTML(self): |
def dl_StaticHTML(self): |
"""set rendering to static HTML""" |
"""set rendering to static HTML""" |
self.checkQuery() |
self.checkQuery() |
self.REQUEST.SESSION['browserType']['staticHTML'] = True |
self.getBrowserType()['staticHTML'] = True |
return self.display() |
return self.display() |
|
|
def dl_DynamicHTML(self): |
def dl_DynamicHTML(self): |
"""set rendering to dynamic HTML""" |
"""set rendering to dynamic HTML""" |
self.checkQuery() |
self.checkQuery() |
self.REQUEST.SESSION['browserType']['staticHTML'] = False |
self.getBrowserType()['staticHTML'] = False |
return self.display() |
return self.display() |
|
|
def dl_HMirror(self): |
def dl_HMirror(self): |
Line 911 class zogiLib(Folder):
|
Line 773 class zogiLib(Folder):
|
self.setDLParam('mk', None) |
self.setDLParam('mk', None) |
return self.display() |
return self.display() |
|
|
def dl_Unmark(self): |
|
"""action to remove last mark""" |
|
mk = self.getDLParam('mk') |
|
if mk: |
|
marks = mk.split(',') |
|
marks.pop() |
|
mk = string.join(marks, ',') |
|
self.setDLParam('mk', mk) |
|
return self.display() |
|
|
|
def dl_db(self,db): |
def dl_db(self,db): |
"""set db""" |
"""set db""" |
self.setDLParam('db',db) |
self.setDLParam('db',db) |
Line 1013 def manage_addZogiLibPageTemplateForm(se
|
Line 865 def manage_addZogiLibPageTemplateForm(se
|
pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/addZogiLibPageTemplateForm')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/addZogiLibPageTemplateForm')).__of__(self) |
return pt() |
return pt() |
|
|
def manage_addZogiLibPageTemplate(self, id='zogiLibMainTemplate', title=None, layout=None, text=None, |
def manage_addZogiLibPageTemplate(self, title=None, layout=None, text=None, |
REQUEST=None, submit=None): |
REQUEST=None, submit=None): |
"Add a Page Template with optional file content." |
"Add a Page Template with optional file content." |
|
|
id = str(id) |
if not layout: layout = "book" |
|
id = 'main_%s'%layout |
self._setObject(id, zogiLibPageTemplate(id)) |
self._setObject(id, zogiLibPageTemplate(id)) |
ob = getattr(self, id) |
ob = getattr(self, id) |
if not layout: layout = "book" |
ob.pt_edit(open(os.path.join(package_home(globals()),'zpt/main_%s.zpt'%layout)).read(),None) |
ob.pt_edit(open(os.path.join(package_home(globals()),'zpt/zogiLibMain_%s.zpt'%layout)).read(),None) |
|
if title: |
if title: |
ob.pt_setTitle(title) |
ob.pt_setTitle(title) |
try: |
try: |
u = self.DestinationURL() |
url = self.DestinationURL() |
except AttributeError: |
except AttributeError: |
u = REQUEST['URL1'] |
url = REQUEST['URL1'] |
|
|
u = "%s/%s" % (u, urllib.quote(id)) |
url = "%s/%s" % (url, urllib.quote(id)) |
REQUEST.RESPONSE.redirect(u+'/manage_main') |
REQUEST.RESPONSE.redirect(url+'/manage_main') |
return '' |
return '' |
|
|