--- ECHO_content/ECHO_collection.py 2003/12/10 10:53:55 1.5 +++ ECHO_content/ECHO_collection.py 2004/01/27 13:33:27 1.11 @@ -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,coordstrs): +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 @@ -110,11 +115,19 @@ def setECHO_CollectionInformation(self,c coords=[] #coordinates of for rectangles - for coordstr in coordstrs: - - temco=coordstr.split(",") - #temco.append(angle) - coords.append(temco) + + #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:] @@ -168,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 @@ -183,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 [] @@ -207,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 @@ -291,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) @@ -336,7 +370,7 @@ class ECHO_externalLink(Folder): if not hasattr(self,'weight'): self.weight="" if not hasattr(self,'coords'): - print "HI" + self.coords=[''] print "G",self.coords @@ -449,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""" @@ -520,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,credits,weight,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 @@ -552,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""" @@ -626,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) @@ -665,6 +709,7 @@ class ECHO_root(Folder,Persistent,Implic except: """nothing""" + return ids def getCollectionTree(self):