--- ECHO_content/ECHO_collection.py 2004/11/29 20:39:08 1.192 +++ ECHO_content/ECHO_collection.py 2004/12/02 17:04:15 1.197 @@ -9,9 +9,11 @@ class ECHO_externalLink contains informa """ -from reportlab.pdfgen import canvas -from reportlab.lib.pagesizes import A4 - +try: + from reportlab.pdfgen import canvas + from reportlab.lib.pagesizes import A4 +except: + print "PDF generation will not work" import string @@ -127,7 +129,7 @@ class ECHO_copyright(Folder,ECHO_basis): def ECHO_copyright_configForm(self): """change form""" - pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_copyright').__of__(self) + pt=zptFile(self, 'zpt/ChangeECHO_copyright') pt.content_type="text/html" return pt() @@ -143,7 +145,7 @@ class ECHO_copyright(Folder,ECHO_basis): def manage_addECHO_copyrightForm(self): """Form for adding""" - pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_copyright.zpt').__of__(self) + pt=zptFile(self, 'zpt/AddECHO_copyright.zpt') return pt() def manage_addECHO_copyright(self, id,title,RESPONSE=None): @@ -183,11 +185,9 @@ class ECHO_layoutTemplate(ZopePageTempla def manage_addECHO_layoutTemplateForm(self): """Form for adding""" - pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddECHO_layoutTemplate.zpt')).__of__(self) + pt=zptFile(self, 'zpt/AddECHO_layoutTemplate.zpt') return pt() -from urllib import quote - def manage_addECHO_layoutTemplate(self, EchoType,title=None,REQUEST=None): "Add a Page Template with optional file content." @@ -245,8 +245,6 @@ class ECHO_fullText(ZopePageTemplate,ECH manage_addECHO_fullTextForm = PageTemplateFile( 'zpt/AddECHO_fullText.zpt', globals()) -from urllib import quote - def manage_addECHO_fullText(self, id, title=None, text=None, REQUEST=None, submit=None): "Add a Page Template with optional file content." @@ -274,7 +272,7 @@ def manage_addECHO_fullText(self, id, ti u = REQUEST['URL1'] if submit == " Add and Edit ": - u = "%s/%s" % (u, quote(id)) + u = "%s/%s" % (u, urllib.quote(id)) REQUEST.RESPONSE.redirect(u+'/manage_main') return '' @@ -296,32 +294,33 @@ class ECHO_resource(Folder,Persistent,EC def createPDF(self,RESPONSE=None,local=None,dpi=150): """erzeuge pdf file""" pages=1 - + dpi=float(dpi) imagePath=self.getImagePath().replace("/mpiwg/online","") image="http://nausikaa2.mpiwg-berlin.mpg.de/digitallibrary/servlet/Scaler?fn="+imagePath+"&dw=%i&dh=%i&pn=%i" xmlInfo="http://nausikaa2.mpiwg-berlin.mpg.de/digitallibrary/dlInfo-xml.jsp?fn="+imagePath + dom=xml.dom.minidom.parse(urllib.urlopen(xmlInfo)) for parameter in dom.getElementsByTagName('parameter'): if parameter.getAttribute('name')=="pt": pages=int(parameter.getAttribute('value')) break - tempfile.tempdir="/tmp/archivesImageServer" - - tmpPath=tempfile.mktemp() + + tempdir="/tmp/archivesImageServer" + if not os.path.exists(tempdir): + os.mkdir(tempdir) + + tmpPath=tempfile.mkdtemp(dir=tempdir) - tmpZip=tempfile.mktemp()+".pdf" - tmpFn=os.path.split(tmpZip)[1] + tmpZip=tempfile.mktemp(dir=tempdir) + tmpFn=os.path.split(tmpZip)[1] - if not os.path.exists(tempfile.tempdir): - os.mkdir(tempfile.tempdir) - if not os.path.exists(tmpPath): - os.mkdir(tmpPath) + if RESPONSE: RESPONSE.setHeader("Content-Type","text/html") @@ -330,12 +329,12 @@ class ECHO_resource(Folder,Persistent,EC RESPONSE.write(txt) c=canvas.Canvas(tmpZip) - for i in range(1,pages): + for i in range(1,pages+1): if RESPONSE: RESPONSE.write(str("
Get Page: %i
\n"%i))
faktor=dpi/72.0
- fn=tmpPath+"/%i.png"%i
+ fn=tmpPath+"/%i"%i
width,height=A4
#print image%(width*faktor,height*faktor,i)
@@ -517,7 +516,7 @@ class ECHO_resource(Folder,Persistent,EC
"""Form for changing the startpage"""
- pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resourceStartPage.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/ChangeECHO_resourceStartPage.zpt')
pt.content_type="text/html"
return pt()
@@ -614,7 +613,7 @@ class ECHO_resource(Folder,Persistent,EC
def changeViewerTemplateSetForm(self):
"""change the viewer template set"""
- pt=PageTemplateFile('Products/ECHO_content/zpt/changeResourceViewerTemplateSet').__of__(self)
+ pt=zptFile(self, 'zpt/changeResourceViewerTemplateSet')
return pt()
@@ -800,7 +799,7 @@ class ECHO_resource(Folder,Persistent,EC
return ret
def getInstitutionsHTML(self):
- """gibt Liste der frdernden Institutionen aus"""
+ """gibt Liste der foerdernden Institutionen aus"""
if hasattr(self,'support'):
obj=self.support
@@ -816,6 +815,8 @@ class ECHO_resource(Folder,Persistent,EC
return self.credits
else:
return []
+
+
def __init__(self,id,link,metalink,resourceID,title,label,description,contentType,renderingType,copyrightType,responsible,credits,weight,coords):
@@ -841,18 +842,9 @@ class ECHO_resource(Folder,Persistent,EC
coordsnew=[]
self.coords=coordsnew
+ self.viewClassification=""
- def getCoords(self):
- """gibt coordinaten als String zurück und löscht zugleich einträge die keine Koordinaten sind, letzteres zur korrektur der Eingabe der alten version"""
- retList=[]
- if hasattr(self,'coords'):
- for x in self.coords:
- if len(x)>1:
- retList.append(string.join(x,","))
- return retList
-
-
def getContentType(self):
try:
@@ -878,34 +870,29 @@ class ECHO_resource(Folder,Persistent,EC
if not hasattr(self,'weight'):
self.weight=""
- pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resource.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/ChangeECHO_resource.zpt')
return pt()
def ECHO_resource_config_main(self):
"""Main configuration"""
-
if not hasattr(self,'weight'):
self.weight=""
-
- pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resource_main.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/ChangeECHO_resource_main.zpt')
return pt()
def ECHO_resource_config_coords(self):
"""Coords configuration """
-
- pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resource_coords.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/ChangeECHO_resource_coords.zpt')
return pt()
def ECHO_resource_config_credits(self):
"""Main configuration"""
-
- pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resource_credits.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/ChangeECHO_resource_credits.zpt')
return pt()
def ECHO_resource_config_metadata(self):
"""Main configuration"""
-
if (hasattr(self,'metadata')) and not (hasattr(self,'metaDataHash')):
self.metaDataHash={}
self.contentType=self.bib_type
@@ -915,14 +902,14 @@ class ECHO_resource(Folder,Persistent,EC
DataHash[data_neu]=getattr(self,data)[0:]
- pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resource_metadata.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/ChangeECHO_resource_metadata.zpt')
return pt()
def changeECHO_resource_main(self,metalink,link,title,label,description,contentType,renderingType,weight,resourceID,RESPONSE=None):
- """Änderung der Properties"""
+ """Aenderung der Properties"""
self.resourceID=resourceID
self.title=title
self.label=label
@@ -939,25 +926,34 @@ class ECHO_resource(Folder,Persistent,EC
RESPONSE.redirect('manage_main')
- def changeECHO_resource_coords(self,coords,viewClassification,RESPONSE=None):
- """Änderung der Properties - coords"""
-
- if type(coords)==StringType:
- coords=[coords]
-
- try:
- coordsnew=[ string.split(x,",") for x in coords]
- except:
- coordsnew=[]
+ def changeECHO_resource_coords(self,RESPONSE=None):
+ """Aenderung der Properties - coords"""
+ #return self.REQUEST
+ for area in self.getMapAreas():
+ id = area.getId()
+ if self.REQUEST.has_key('del.'+id):
+ # delete this area
+ self._delObject(id)
+ # return to same menu
+ if RESPONSE is not None:
+ RESPONSE.redirect('ECHO_resource_config_coords')
+ return
+ # modify this area
+ coordstring = self.REQUEST.get('coords.'+id, '')
+ coords = string.split(coordstring, ',')
+ angle = self.REQUEST.get('angle.'+id, '0')
+ type = self.REQUEST.get('type.'+id, 'area')
+ if len(coords) == 4:
+ area.setCoordString(coordstring)
+ area.setAngle(angle)
+ area.setType(type)
+ # return to main menu
+ if RESPONSE is not None:
+ RESPONSE.redirect('manage_main')
- self.coords=coordsnew[0:]
- self.viewClassification=viewClassification
-
- if RESPONSE is not None:
- RESPONSE.redirect('manage_main')
def changeECHO_resource_credits(self,credits,responsible,copyrightType,RESPONSE=None):
- """Änderung der Properties"""
+ """Aenderung der Properties"""
self.credits=credits
self.responsible=responsible
self.copyrightType=copyrightType
@@ -1029,7 +1025,7 @@ class ECHO_resource(Folder,Persistent,EC
return writeMetadata(self.metalink,self.metaDataHash)
def changeECHO_resource(self,metalink,link,title,label,description,contentType,responsible,weight,viewClassification="",coords=None,credits=None,RESPONSE=None):
- """Änderung der Properties"""
+ """Aenderung der Properties"""
try:
coordsnew=[ string.split(x,",") for x in coords]
@@ -1049,8 +1045,8 @@ class ECHO_resource(Folder,Persistent,EC
manage_options = Folder.manage_options+(
{'label':'Main Config','action':'ECHO_resource_config_main'},
{'label':'Change Metadata','action':'ECHO_resource_config_metadata'},
- {'label':'Change Coords','action':'ECHO_resource_config_coords'},
- {'label':'Add coords','action':'ECHO_graphicEntry'},
+ {'label':'Edit Coords','action':'ECHO_resource_config_coords'},
+ {'label':'Change Coords','action':'ECHO_graphicEntry'},
{'label':'Sync Metadata','action':'ECHO_getResourceMD'},
{'label':'Change TemplateSets and Image Viewer','action':'changeViewerTemplateSetForm'},
{'label':'set/change startpage','action':'setStartPageForm'},
@@ -1059,14 +1055,13 @@ class ECHO_resource(Folder,Persistent,EC
def getOverview(self):
"""overview graphics"""
-
return self.aq_parent.ZopeFind(self.aq_parent,obj_ids=['overview'])[0][1]
def ECHO_graphicEntry(self):
"""DO nothing"""
overview = self.aq_parent.ZopeFind(self.aq_parent,obj_ids=['overview'])
if overview:
- pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_draw.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/ECHO_draw.zpt')
return pt()
else:
return "NO OVERVIEW GRAPHICS"
@@ -1264,7 +1259,7 @@ class ECHO_resource(Folder,Persistent,EC
self.REQUEST.SESSION['contentStorage']=metadict['bib_type']
self.REQUEST.SESSION['contentZope']=self.contentType
- return PageTemplateFile('Products/ECHO_content/zpt/ECHO_getResourceMDErrorContentType.zpt').__of__(self)()
+ return zptFile(self, 'zpt/ECHO_getResourceMDErrorContentType.zpt')()
self.REQUEST.SESSION['metadict']=metadict
@@ -1275,7 +1270,7 @@ class ECHO_resource(Folder,Persistent,EC
if template=="yes":
- pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_resourceMD.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/ECHO_resourceMD.zpt')
return pt()
@@ -1302,7 +1297,7 @@ class ECHO_resource(Folder,Persistent,EC
pdf=self.checkRDF(self.link)
if pdf:
fh=file(pdf,'r').read()
- self.REQUEST.RESPONSE.setHeader('Content-Type','x-Application/pdf')
+ self.REQUEST.RESPONSE.setHeader('Content-Type','application/pdf')
self.REQUEST.RESPONSE.write(fh)
self.REQUEST.RESPONSE.close()
return
@@ -1318,13 +1313,13 @@ class ECHO_resource(Folder,Persistent,EC
if sp:
return sp[1]()
- #prüfen ob irgendwo ein template
+ #pruefen ob irgendwo ein template
if hasattr(self,'startpage_index_template'):
return self.startpage_index_template()
#generisches template ausgeben
- pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_startpage_index_template_standard.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/ECHO_startpage_index_template_standard.zpt')
pt.content_type="text/html"
return pt()
@@ -1359,7 +1354,7 @@ Globals.InitializeClass(ECHO_resource)
def manage_addECHO_resourceForm(self):
"""Form for adding a ressource"""
- pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_resourceForm.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/AddECHO_resourceForm.zpt')
return pt()
@@ -1411,13 +1406,13 @@ class ECHO_externalLink(Folder,ECHO_basi
self.coords=['']
- pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_externalLink.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/ChangeECHO_externalLink.zpt')
return pt()
def changeECHO_externalLink(self,link,title,label,description,contentType,responsible,weight,coords=None,credits=None,RESPONSE=None):
- """Änderung der Properties"""
+ """Aenderung der Properties"""
try:
coordsnew=[ string.split(x,",") for x in coords]
except:
@@ -1443,7 +1438,7 @@ class ECHO_externalLink(Folder,ECHO_basi
def manage_addECHO_externalLinkForm(self):
"""Form for external Links"""
- pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_externalLinkForm.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/AddECHO_externalLinkForm.zpt')
return pt()
@@ -1473,7 +1468,7 @@ class ECHO_link(ECHO_externalLink):
def manage_addECHO_linkForm(self):
"""Form for external Links"""
- pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_linkForm.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/AddECHO_linkForm.zpt')
return pt()
@@ -1524,25 +1519,25 @@ class ECHO_collection(Folder, Persistent
def changeLabels(self):
"""change form"""
- pt=PageTemplateFile('Products/ECHO_content/zpt/changeLabelsForm').__of__(self)
+ pt=zptFile(self, 'zpt/changeLabelsForm')
pt.content_type="text/html"
return pt()
def changeTitles(self):
"""change form"""
- pt=PageTemplateFile('Products/ECHO_content/zpt/changeTitleForm').__of__(self)
+ pt=zptFile(self, 'zpt/changeTitleForm')
pt.content_type="text/html"
return pt()
def changeWeights(self):
"""change form"""
- pt=PageTemplateFile('Products/ECHO_content/zpt/changeWeightForm').__of__(self)
+ pt=zptFile(self, 'zpt/changeWeightForm')
pt.content_type="text/html"
return pt()
def changeMetaDataLinks(self):
"""change form"""
- pt=PageTemplateFile('Products/ECHO_content/zpt/changeMetaDataLinkForm').__of__(self)
+ pt=zptFile(self, 'zpt/changeMetaDataLinkForm')
pt.content_type="text/html"
return pt()
def changeAccessRightsCollection(self):
@@ -1667,7 +1662,7 @@ class ECHO_collection(Folder, Persistent
def changeViewerTemplateSetsForm(self):
"""change the viewer template set"""
- pt=PageTemplateFile('Products/ECHO_content/zpt/changeViewerTemplateSet').__of__(self)
+ pt=zptFile(self, 'zpt/changeViewerTemplateSet')
return pt()
def getViewerTemplateSets(self,obj_ids=None,RESPONSE=None):
@@ -1692,7 +1687,7 @@ class ECHO_collection(Folder, Persistent
def isSelectedViewerTemplateSet(self,obj,id):
- """is ausgewählt"""
+ """is ausgewaehlt"""
if self.REQUEST['viewerTemplateSet']==id:
return 1
@@ -1716,7 +1711,7 @@ class ECHO_collection(Folder, Persistent
"""Form for changing the startpage"""
- pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resourceStartPageFolder.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/ChangeECHO_resourceStartPageFolder.zpt')
pt.content_type="text/html"
return pt()
@@ -1767,7 +1762,7 @@ class ECHO_collection(Folder, Persistent
def reloadMetaDataFromStorageWarning(self,RESPONSE=None):
"""warning"""
- pt=PageTemplateFile('Products/ECHO_content/zpt/reloadMetaDataFromStorageWarning.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/reloadMetaDataFromStorageWarning.zpt')
pt.content_type="text/html"
return pt()
@@ -1814,7 +1809,7 @@ class ECHO_collection(Folder, Persistent
def createRessourcesFromXMLForm(self):
"""form"""
- pt=PageTemplateFile('Products/ECHO_content/zpt/createRessourcesFromXMLForm.zpt').__of__(self)
+ pt=zptFile(self, 'zpt/createRessourcesFromXMLForm.zpt')
return pt()
def createRessourcesFromXML(self,fileupload):
@@ -1876,7 +1871,7 @@ class ECHO_collection(Folder, Persistent
element=getattr(object,entry)
try:
if element.meta_type in ["ECHO_collection","ECHO_group"]:
- collections+="