--- zogiLib/zogiLib.py 2004/03/30 13:56:24 1.4
+++ zogiLib/zogiLib.py 2004/04/28 09:03:22 1.10
@@ -35,19 +35,6 @@ class zogiLib_navTemplate(ZopePageTempla
"""get path"""
return getPath(self,'thumbtemplate.templ')
- ## def changeECHO_pageTemplateWeightForm(self):
-## """change"""
-## pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)
-## return pt()
-
-## def changeECHO_pageTemplateWeight(self,weight,content_type,RESPONSE=None):
-## """change"""
-## self.weight=weight
-## self.content_type=content_type
-
-## if RESPONSE is not None:
-## RESPONSE.redirect('manage_main')
-
def copyContent(self):
"""copycontent to path"""
@@ -115,6 +102,66 @@ def readNavTemp(fileName):
except:
navTag=None
return navTag
+
+class zogiLib_mainTemplate(ZopePageTemplate):
+ """pageTemplate Objekt"""
+ meta_type="zogiLib_mainTemplate"
+
+
+ def __init__(self, id, text=None, content_type=None, version="book"):
+
+ default_content_string="zpt/zogiLibMain_%s.zpt"%version
+ self._default_content_fn = os.path.join(package_home(globals()),default_content_string)
+ self.id = str(id)
+ self.ZBindings_edit(self._default_bindings)
+ if text is None:
+ text = open(self._default_content_fn).read()
+ self.pt_edit(text, content_type)
+
+
+def manage_addZogiLibMainTemplateForm(self):
+ """Form for adding"""
+ pt=PageTemplateFile('Products/ECHO_content/zpt/AddOSAS_thumbTemplate.zpt').__of__(self)
+ return pt()
+
+
+
+
+def manage_addZogiLibMainTemplate(self, id,title=None, text=None,
+ REQUEST=None, submit=None):
+ "Add a Page Template with optional file content."
+
+
+ id = str(id)
+ if REQUEST is None:
+ self._setObject(id, zogiLib_mainTemplate(id, text))
+ ob = getattr(self, id)
+
+ if title:
+ ob.pt_setTitle(title)
+ return ob
+ else:
+ file = REQUEST.form.get('file')
+ headers = getattr(file, 'headers', None)
+ if headers is None or not file.filename:
+ zpt = zogiLib_mainTemplate(id)
+ else:
+ zpt = zogiLib_mainTemplate(id, file, headers.get('content_type'))
+
+ self._setObject(id, zpt)
+ ob = getattr(self, id)
+
+
+ try:
+ u = self.DestinationURL()
+ except AttributeError:
+ u = REQUEST['URL1']
+
+ if submit == " Add and Edit ":
+ u = "%s/%s" % (u, quote(id))
+ REQUEST.RESPONSE.redirect(u+'/manage_main')
+ return ''
+
class zogiImage(Image):
"""einzelnes Image"""
@@ -444,7 +491,7 @@ class zogiLib(Folder):
def getDlInfo(self):
"""DLInfo"""
paramH={}
- baseUrl=re.sub("servlet/Scaler","/dlInfo-xml.jsp",self.digilibBaseUrl)
+ baseUrl=re.sub("servlet/Scaler","dlInfo-xml.jsp",self.digilibBaseUrl)
url=urllib.urlopen(baseUrl+self.REQUEST['QUERY_STRING'])
dom=xml.dom.minidom.parse(url)
@@ -455,26 +502,33 @@ class zogiLib(Folder):
def getPageNumTotal(self):
"""pagenums"""
- return self.getDlInfo()['pt']
+ return self.getDlInfo()['pt'].encode('utf-8')
def generateImageFolder(self):
"""images ablegen"""
self.manage_addFolder('images')
- for image in os.listdir("../lib/python/Products/zogiLib/images"):
- fn=file("../lib/python/Products/zogiLib/images/"+image)
+ pathName=os.path.join(package_home(globals()),'images')
+ for image in os.listdir(pathName):
+ try:
+
+ fn=file(os.path.join(pathName,image))
+ self.images.manage_addImage(image,fn)
+ except:
+ print "ZOGILIB not imported:",image
+
- self.images.manage_addImage(image,fn)
- def __init__(self, id,title,digilibBaseUrl, localFileBase):
+ def __init__(self, id,title,digilibBaseUrl, localFileBase,version="book"):
"""init"""
self.id=id
self.title=title
self.digilibBaseUrl=digilibBaseUrl
self.localFileBase=localFileBase
- self._setObject('topTemplate',zogiLib_navTemplate(id='topTemplate'))
+ #self._setObject('topTemplate',zogiLib_navTemplate(id='topTemplate'))
+ self._setObject('mainTemplate',zogiLib_mainTemplate(id='mainTemplate',version=version))
self.generateImageFolder()
@@ -484,97 +538,65 @@ class zogiLib(Folder):
def option_js(self):
"""option_js"""
- ret="""function setParam(e) {
- if (document.all) s=e.srcElement;
- else s=e.target;
- if (window.opener) location=window.opener.location
- else location=document.location
- location=" %s/setParam?"+s.name+'='+s.value;
- }"""%self.REQUEST['URL1']
+ ret="""function setDLParam(e) {
+ if (document.all) {
+ s=e.srcElement;
+ } else {
+ s=e.target;
+ }
+ if (window.opener) {
+ window.opener.setParameter(s.name, s.value);
+ window.opener.display(9);
+ } else {
+ setParameter(s.name, s.value);
+ display(9);
+ }
+ }"""
return ret
def navigation_js(self):
"""Javascript"""
-
- return file("../lib/python/Products/zogiLib/js/navigation.js").read()
+ fileName=os.path.join(package_home(globals()),'js/navigation.js')
+ return file(fileName).read()
def generateTopJavaScript(self):
"""generate script"""
- ret="""var baseUrl = '%s'; """% self.REQUEST['URL0']
- ret+="""newParameter('fn', '%s', '', 1);
- newParameter('pn', '%s', '1', 1);
- newParameter('ws', '%s', '1.0', 1);
- newParameter('mo', '%s', '', 1);
- newParameter('mk', '%s', '', 3);
- newParameter('wx', '%s', '0.0', 2);
- newParameter('wy', '%s', '0.0', 2);
- newParameter('ww', '%s', '1.0', 2);
- newParameter('wh', '%s', '1.0', 2);
- newParameter('pt', '%s', '%s', 9);
- newParameter('brgt', '%s', '0.0', 1);
- newParameter('cont', '%s', '0.0', 1);
- newParameter('rot', '%s', '0.0', 1);
- newParameter('rgba', '%s', '', 1);
- newParameter('rgbm', '%s', '', 1);
- newParameter('ddpix', '%s', '', 9);
- newParameter('ddpiy', '%s', '', 9);"""%(getString(self,'fn'),
- getString(self,'pn',1),
- getString(self,'ws',1.0),
- getString(self,'mo',''),
- getString(self,'mk',''),
- getString(self,'wx',0.0),
- getString(self,'wy',0.0),
- getString(self,'ww',1.0),
- getString(self,'wh',1.0),
- getString(self,'pt',100),getString(self,'pt',100),
- getString(self,'brgt',0.0),
- getString(self,'cont',0.0),
- getString(self,'rot',0.0),
- getString(self,'rgba','0/0/0'),
- getString(self,'rgbm','0/0/0'),
- getString(self,'ddpix',0.0),
- getString(self,'ddpiy',0.0)
- )
-
+ ret="""
+ var baseUrl = '%s'; """% self.REQUEST['URL0']
ret+="""
+ newParameter('fn', '', 1);
+ newParameter('pn', '1', 1);
+ newParameter('ws', '1.0', 1);
+ newParameter('mo', '', 1);
+ newParameter('mk', '', 3);
+ newParameter('wx', '0.0', 2);
+ newParameter('wy', '0.0', 2);
+ newParameter('ww', '1.0', 2);
+ newParameter('wh', '1.0', 2);
+ newParameter('pt', '0', 9);
+ newParameter('brgt', '0.0', 1);
+ newParameter('cont', '0.0', 1);
+ newParameter('rot', '0.0', 1);
+ newParameter('rgba', '', 1);
+ newParameter('rgbm', '', 1);
+ newParameter('ddpix', '', 9);
+ newParameter('ddpiy', '', 9);
+ var picsize = new Size(100, 100);
+ document.id='digilib';
- var wwidth, wheight;
- if (self.innerHeight) // all except Explorer
- {
- wwidth = self.innerWidth;
- wheight = self.innerHeight;
- }
- else if (document.documentElement && document.documentElement.clientHeight)
- // Explorer 6 Strict Mode
- {
- wwidth = document.documentElement.clientWidth;
- wheight = document.documentElement.clientHeight;
- }
- else if (document.body) // other Explorers
- {
- wwidth = document.body.clientWidth;
- wheight = document.body.clientHeight;
- }
-
- document.id="digilib"
-
"""
return ret
-
-
-
-
-
def generateScalerImg(self,requestString):
- """generate Scaler Tag"""
+ """generate Scaler IMG Tag"""
retStr=self.digilibBaseUrl+requestString
- jS=""""""%retStr
+ jS=""""""%retStr
return jS
def changeZogiLibForm(self):
@@ -594,7 +616,7 @@ class zogiLib(Folder):
def nav_html(self,fileName):
"""navigations frame"""
-
+ ## currently not in use
# suche nach index.meta mit zogilib thumb info
templ=readNavTemp(self.localFileBase+"/"+fileName)
@@ -610,8 +632,9 @@ class zogiLib(Folder):
"""main action"""
- pt=PageTemplateFile('Products/zogiLib/zpt/zogiLibMain_book.zpt').__of__(self)
- return pt()
+ #pt=PageTemplateFile('Products/zogiLib/zpt/zogiLibMain_image.zpt').__of__(self)
+ #return pt()
+ return self.mainTemplate()
def storeQuery(self):
"""storeQuery in session"""
@@ -782,15 +805,22 @@ class zogiLib(Folder):
self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+'?'+ret)
-
+ def generateDivs(self):
+ """generate divs"""
+ pt=PageTemplateFile('Products/zogiLib/zpt/zogilib_divs').__of__(self)
+ return pt()
+
+ #divFileName=os.path.join(package_home(globals()),'zpt/zogilib_divs.zpt')
+ #return open(divFileName).read()
+
def manage_addZogiLibForm(self):
"""interface for adding zogilib"""
pt=PageTemplateFile('Products/zogiLib/zpt/addZogiLibForm').__of__(self)
return pt()
-def manage_addZogiLib(self,id,title,digilibBaseUrl, localFileBase,RESPONSE=None):
+def manage_addZogiLib(self,id,title,digilibBaseUrl, localFileBase,version="book",RESPONSE=None):
"""add dgilib"""
- newObj=zogiLib(id,title,digilibBaseUrl, localFileBase)
+ newObj=zogiLib(id,title,digilibBaseUrl, localFileBase, version)
self.Destination()._setObject(id,newObj)
if RESPONSE is not None:
RESPONSE.redirect('manage_main')