--- ECHO_content/ECHO_collection.py 2004/03/30 15:30:58 1.21
+++ ECHO_content/ECHO_collection.py 2004/04/04 17:48:22 1.28
@@ -30,7 +30,7 @@ import xml.dom.minidom
import urllib
import xml.dom.minidom
-
+from ECHO_graphicalOverview import javaHandler,javaScriptMain
#List of different types for the graphical linking viewer
viewClassificationListMaster=['view point','area']
@@ -96,7 +96,7 @@ def readMetadata(url):
return metadict,""
-def setECHO_collectionInformation(self,title,label,description,content_type,responsible,credits,weight,coordstrs,viewClassification=""):
+def setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordstrs,viewClassification=""):
"""Allegemeine Informationen zu einer ECHO Collection"""
@@ -105,7 +105,7 @@ def setECHO_collectionInformation(self,t
self.label = label
self.title=title
self.description=description
- self.content_type=content_type
+ self.contentType=contentType
self.responsible=responsible
self.credits=toList(credits)
self.weight=weight
@@ -193,7 +193,7 @@ class ECHO_resource(Folder):
else:
return []
- def __init__(self,id,link,metalink,title,label,description,content_type,responsible,credits,weight,coords):
+ def __init__(self,id,link,metalink,title,label,description,contentType,responsible,credits,weight,coords):
self.id = id
"""Festlegen der ID"""
@@ -205,7 +205,7 @@ class ECHO_resource(Folder):
self.weight=weight
self.credits=toList(credits)
self.description=description
- self.content_type=content_type
+ self.contentType=contentType
self.responsible=responsible
if coords:
@@ -236,15 +236,15 @@ class ECHO_resource(Folder):
return pt()
- def changeECHO_resource(self,metalink,link,title,label,description,content_type,responsible,weight,viewClassification="",coords=None,credits=None,RESPONSE=None):
+ def changeECHO_resource(self,metalink,link,title,label,description,contentType,responsible,weight,viewClassification="",coords=None,credits=None,RESPONSE=None):
"""Änderung der Properties"""
coordsnew=[ string.split(x,",") for x in coords]
- setECHO_collectionInformation(self,title,label,description,content_type,responsible,credits,weight,coordsnew)
-
+ setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordsnew)
+
self.coords=coordsnew[0:]
self.link=link
self.metalink=metalink
@@ -328,10 +328,10 @@ def manage_addECHO_resourceForm(self):
-def manage_addECHO_resource(self,id,title,label,description,content_type,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None):
+def manage_addECHO_resource(self,id,title,label,description,contentType,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None):
"""addaresource"""
- newObj=ECHO_resource(id,link,metalink,title,label,description,content_type,responsible,credits,weight,coords)
+ newObj=ECHO_resource(id,link,metalink,title,label,description,contentType,responsible,credits,weight,coords)
self._setObject(id,newObj)
@@ -345,7 +345,7 @@ class ECHO_externalLink(Folder):
meta_type='ECHO_externalLink'
- def __init__(self,id,link,title,label,description,content_type,responsible,credits,weight,coords):
+ def __init__(self,id,link,title,label,description,contentType,responsible,credits,weight,coords):
self.id = id
"""Festlegen der ID"""
@@ -356,7 +356,7 @@ class ECHO_externalLink(Folder):
self.title=title
self.weight=weight
self.description=description
- self.content_type=content_type
+ self.contentType=contentType
self.responsible=responsible
coordsnew=[ string.split(x,",") for x in coords]
self.coords=coordsnew
@@ -375,12 +375,12 @@ class ECHO_externalLink(Folder):
return pt()
- def changeECHO_externalLink(self,link,title,label,description,content_type,responsible,weight,coords=None,credits=None,RESPONSE=None):
+ def changeECHO_externalLink(self,link,title,label,description,contentType,responsible,weight,coords=None,credits=None,RESPONSE=None):
"""Änderung der Properties"""
coordsnew=[ string.split(x,",") for x in coords]
- setECHO_collectionInformation(self,title,label,description,content_type,responsible,credits,weight,coords)
+ setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coords)
self.coords=coordsnew[0:]
self.link=link
@@ -410,23 +410,66 @@ def manage_addECHO_externalLinkForm(self
return pt()
-def manage_addECHO_externalLink(self,id,title,label,description,content_type,responsible,link,weight,coords=None,credits=None,RESPONSE=None):
+def manage_addECHO_externalLink(self,id,title,label,description,contentType,responsible,link,weight,coords=None,credits=None,RESPONSE=None):
"""Add an external Link"""
- newObj=ECHO_externalLink(id,link,title,label,description,content_type,responsible,credits,weight,coords)
+ newObj=ECHO_externalLink(id,link,title,label,description,contentType,responsible,credits,weight,coords)
self._setObject(id,newObj)
if RESPONSE is not None:
RESPONSE.redirect('manage_main')
-
+
+
class ECHO_collection(Folder, Persistent, Implicit):
"""ECHO Collection"""
security=ClassSecurityInfo()
meta_type='ECHO_collection'
+ def getImageTag(self):
+ """GetTag"""
+ try:
+ return self.imageTag
+ except:
+ return ""
+ def addResource(self,id,title,label,description,contentType,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None):
+ """SSS"""
+ try:
+ manage_addECHO_resource(self,id,title,label,description,contentType,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None)
+ return "done"
+ except:
+ return None
+
+ def getCollectionTreeXML(self):
+ """Tree as XML"""
+
+ def getCollection(object,depth=0):
+ depth+=1
+ collections=""
+ for entry in object.__dict__.keys():
+ element=getattr(object,entry)
+ try:
+ if element.meta_type=="ECHO_collection":
+ collections+=""
+ collections+=getCollection(element,depth)+"\n"
+ except:
+ """nothing"""
+ return collections
+
+
+ return ""+getCollection(self)+""
+
+ def createJavaScript(self):
+ """CreateJava"""
+ ret=javaScriptMain
+
+ dynamical=""
+ for ob in self.getGraphicCoords():
+ dynamical+="""Coords.push(new Coord('%s', Img, %s));\n"""%(ob[1],ob[0])
+ ret+=javaHandler%dynamical
+ return ret
security.declarePublic('getCreditObject')
def getCreditObject(self,name):
@@ -487,7 +530,7 @@ class ECHO_collection(Folder, Persistent
return []
- def __init__(self,id,title,label,description,content_type,responsible,credits,weight,sortfield,coords):
+ def __init__(self,id,title,label,description,contentType,responsible,credits,weight,sortfield,coords,imageTag=""):
#print "CO",coords
self.id = id
@@ -496,9 +539,9 @@ class ECHO_collection(Folder, Persistent
self.label = label
self.title=title
self.description=description
- self.content_type=content_type
+ self.contentType=contentType
self.responsible=responsible
-
+ self.imageTag=imageTag
self.weight=weight
self.sortfield=sortfield
coordsnew=[ string.split(x,",") for x in coords]
@@ -561,13 +604,13 @@ class ECHO_collection(Folder, Persistent
security.declarePublic('changeECHO_collection')
- def changeECHO_collection(self,title,label,description,content_type,responsible,weight,credits=None,sortfield="weight",coords=None,RESPONSE=None):
+ def changeECHO_collection(self,title,label,description,contentType,responsible,weight,credits=None,sortfield="weight",coords=None,RESPONSE=None,imageTag=""):
"""Änderung der Properties"""
-
+ self.imageTag=imageTag
coordsnew=[ string.split(x,",") for x in coords]
- setECHO_collectionInformation(self,title,label,description,content_type,responsible,credits,weight,coordsnew)
+ setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordsnew)
self.coords=coordsnew[0:]
self.sortfield=sortfield
@@ -577,8 +620,14 @@ class ECHO_collection(Folder, Persistent
security.declarePublic('index_html')
- showOverview=DTMLFile('dtml/ECHO_content_overview',globals())
-
+
+ def showOverview(self):
+ """overview"""
+ if 'ECHO_overview.html' in self.__dict__.keys():
+ return getattr(self,'ECHO_overview.html')()
+ pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_content_overview.zpt').__of__(self)
+ return pt()
+
def index_html(self):
"""standard page"""
@@ -590,7 +639,7 @@ class ECHO_collection(Folder, Persistent
pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_content_standard.zpt').__of__(self)
- pt.content_type="text/html"
+ pt.contentType="text/html"
return pt()
def getCredits(self):
@@ -600,6 +649,8 @@ class ECHO_collection(Folder, Persistent
else:
return []
+
+
def getGraphicCoords(self):
"""Give list of coordinates"""
subColTypes=['ECHO_collection','ECHO_externalLink','ECHO_resource']
@@ -611,13 +662,15 @@ class ECHO_collection(Folder, Persistent
for coordtemp in object.coords:
if len(coordtemp)>3:
coord=coordtemp[0:4]
- if hasattr(object,'title'):
+ if hasattr(object,'label') and not object.label=="":
+ ids.append([string.join(coord,", "),object.getId(),object.label,object])
+ elif hasattr(object,'title'):
if not object.title=="":
- ids.append([string.join(coord,", "),object.getId(),object.title])
+ ids.append([string.join(coord,", "),object.getId(),object.title,object])
else:
- ids.append([string.join(coord,", "),object.getId(),object.getId()])
+ ids.append([string.join(coord,", "),object.getId(),object.getId(),object])
else:
- ids.append([string.join(coord,", "),object.getId(),object.getId()])
+ ids.append([string.join(coord,", "),object.getId(),object.getId(),object])
except:
"""nothing"""
@@ -666,11 +719,11 @@ def manage_addECHO_collectionForm(self):
return pt()
-def manage_addECHO_collection(self,id,title,label,description,content_type,responsible,weight,sortfield,coords="",credits=None,RESPONSE=None):
+def manage_addECHO_collection(self,id,title,label,description,contentType,responsible,weight,sortfield,coords="",credits=None,RESPONSE=None,imageTag=""):
"""add a echo collection"""
- newObj=ECHO_collection(id,title,label,description,content_type,responsible,credits,weight,sortfield,coords)
+ newObj=ECHO_collection(id,title,label,description,contentType,responsible,credits,weight,sortfield,coords,imageTag)
self._setObject(id,newObj)
@@ -681,6 +734,43 @@ class ECHO_root(Folder,Persistent,Implic
"""ECHO Root Folder"""
meta_type="ECHO_root"
+
+ def contentTypeSelector_HTML(self,selected=None):
+ """give type selector"""
+ if not selected:
+ retStr="