--- ECHO_content/ECHO_collection.py 2003/12/09 14:29:53 1.4 +++ ECHO_content/ECHO_collection.py 2004/02/03 17:31:16 1.12 @@ -8,7 +8,6 @@ class ECHO_resource contains information class ECHO_externalLink contains information on externalLinks - """ import string import OFS.Image @@ -30,6 +29,10 @@ import urllib import xml.dom.minidom +#List of different types for the graphical linking viewer +viewClassificationListMaster=['view point','area'] + + def toList(field): """Einzelfeld in Liste umwandeln""" if type(field)==StringType: @@ -90,10 +93,12 @@ def readMetadata(url): return metadict,"" -def setECHO_CollectionInformation(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,credits,weight,coords): +def setECHO_CollectionInformation(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,credits,weight,coordstrs,viewClassification=""): """Allegemeine Informationen zu einer ECHO Collection""" + self.viewClassification=viewClassification + self.label = label self.title=title self.description=description @@ -108,9 +113,22 @@ def setECHO_CollectionInformation(self,c self.scientific_Information.scientific_Classification.science=science self.scientific_Information.scientific_Classification.practice=practice - + coords=[] #coordinates of for rectangles - self.coords=coords + + #print "cs", coordstrs + if coordstrs: + for coordstr in coordstrs: + #print "cs", coordstr + try: + temco=coordstr.split(",") + except: + temco=[] + #temco.append(angle) + coords.append(temco) + + + self.coords=coords[0:] class scientificClassification(SimpleItem,Persistent,Implicit): @@ -163,7 +181,21 @@ class ECHO_resource(Folder): """ECHO Ressource""" meta_type='ECHO_resource' + viewClassificationList=viewClassificationListMaster + def getViewClassification(self): + if hasattr(self,'viewClassification'): + return self.viewClassification + else: + return "" + + def getCredits(self): + """Ausgabe der credits""" + if self.credits: + return self.credits + else: + return [] + def __init__(self,id,link,metalink,title,label,description,content_type,responsible,credits,weight,coords): self.id = id @@ -178,13 +210,17 @@ class ECHO_resource(Folder): self.description=description self.content_type=content_type self.responsible=responsible - coordsnew=[ string.split(x,",") for x in coords] + + if coords: + coordsnew=[ string.split(x,",") for x in coords] + else: + coordsnew=[] + self.coords=coordsnew def getCoords(self): try: - print return [string.join(x,",") for x in self.coords] except: return [] @@ -202,12 +238,13 @@ class ECHO_resource(Folder): return pt() - def changeECHO_resource(self,metalink,link,context,science,practice,source_type,period,title,label,description,content_type,responsible,credits,weight,coords,RESPONSE=None): + def changeECHO_resource(self,metalink,link,context,science,practice,source_type,period,title,label,description,content_type,responsible,credits,weight,viewClassification="",coords="",RESPONSE=None): + """Änderung der Properties""" - setECHO_CollectionInformation(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,credits,weight,coords) + setECHO_CollectionInformation(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,credits,weight,coords,viewClassification) self.link=link @@ -286,7 +323,9 @@ def manage_AddECHO_resourceForm(self): return pt() -def manage_AddECHO_resource(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,link,metalink,credits,weight,coords,RESPONSE=None): + +def manage_AddECHO_resource(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,link,metalink,credits,weight,coords=None,RESPONSE=None): + """nothing yet""" scientificClassificationObj=scientificClassification(context,science,practice) @@ -331,9 +370,9 @@ class ECHO_externalLink(Folder): if not hasattr(self,'weight'): self.weight="" if not hasattr(self,'coords'): - print "HI" + self.coords=[''] - print "G",self.coords + #print "G",self.coords pt=PageTemplateFile('Products/ECHO_content/ChangeECHO_externalLink.zpt').__of__(self) return pt() @@ -444,15 +483,16 @@ class ECHO_collection(Folder, Persistent def getCoords(self): try: - print self.coords - return [string.join(x,",") for x in self.coords] - + + x= [string.join(x,",") for x in self.coords] + return x except: + return [] def __init__(self,id,title,label,description,content_type,responsible,credits,weight,sortfield,coords): - print "CO",coords + #print "CO",coords self.id = id """Festlegen der ID""" @@ -515,11 +555,14 @@ class ECHO_collection(Folder, Persistent security.declarePublic('changeECHO_Collection') - def changeECHO_Collection(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,credits,weight,coords,sortfield="weight",RESPONSE=None): - """Änderung der Properties""" + def changeECHO_Collection(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,weight,credits="",sortfield="weight",coords="",RESPONSE=None): + + """Änderung der Properties""" + #print "HI",coords coordsnew=[ string.split(x,",") for x in coords] + #print "HO",coordsnew setECHO_CollectionInformation(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,credits,weight,coordsnew) self.sortfield=sortfield @@ -547,6 +590,12 @@ class ECHO_collection(Folder, Persistent pt.content_type="text/html" return pt() + def getCredits(self): + """Ausgabe der credits""" + if self.credits: + return self.credits + else: + return [] def getGraphicCoords(self): """Give list of coordinates""" @@ -621,7 +670,7 @@ def manage_AddECHO_collectionForm(self): return pt() -def manage_AddECHO_collection(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,credits,weight,sortfield,coords,RESPONSE=None): +def manage_AddECHO_collection(self,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,weight,sortfield,coords,credits=None,RESPONSE=None): """nothing yet""" scientificClassificationObj=scientificClassification(context,science,practice) @@ -660,6 +709,7 @@ class ECHO_root(Folder,Persistent,Implic except: """nothing""" + return ids def getCollectionTree(self):