--- ECHO_content/ECHO_collection.py 2003/12/09 11:20:31 1.3 +++ ECHO_content/ECHO_collection.py 2004/01/08 17:01:35 1.7 @@ -30,6 +30,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 +94,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 +114,14 @@ 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 + for coordstr in coordstrs: + + temco=coordstr.split(",") + #temco.append(angle) + coords.append(temco) + self.coords=coords[0:] class scientificClassification(SimpleItem,Persistent,Implicit): @@ -163,7 +174,14 @@ 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 __init__(self,id,link,metalink,title,label,description,content_type,responsible,credits,weight,coords): self.id = id @@ -184,7 +202,8 @@ class ECHO_resource(Folder): def getCoords(self): try: - return [ string.join(x,",") for x in self.coords] + print + return [string.join(x,",") for x in self.coords] except: return [] @@ -201,12 +220,12 @@ 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,coords,viewClassification,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 @@ -230,10 +249,13 @@ class ECHO_resource(Folder): else: return "NO OVERVIEW GRAPHICS" - def ECHO_enterCoords(self,coordstr,RESPONSE=None): + def ECHO_enterCoords(self,coordstr,angle="",RESPONSE=None): """Enter coords""" coords=self.coords - coords.append(coordstr.split(",")) + temco=coordstr.split(",") + temco.append(angle) + coords.append(temco) + self.coords=coords[0:] #pt=PageTemplateFile('Products/ECHO_content/ECHO_draw.zpt').__of__(self) if RESPONSE is not None: @@ -282,7 +304,7 @@ 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=[],RESPONSE=None): """nothing yet""" scientificClassificationObj=scientificClassification(context,science,practice) @@ -440,7 +462,10 @@ class ECHO_collection(Folder, Persistent def getCoords(self): try: - return [ string.join(x,",") for x in self.coords] + print self.coords + return [string.join(x,",") for x in self.coords] + + except: return [] @@ -477,10 +502,12 @@ class ECHO_collection(Folder, Persistent else: return "NO OVERVIEW GRAPHICS" - def ECHO_enterCoords(self,coordstr,RESPONSE=None): + def ECHO_enterCoords(self,coordstr,angle="",RESPONSE=None): """Enter coords""" coords=self.coords - coords.append(coordstr.split(",")) + temco=coordstr.split(",") + temco.append(angle) + coords.append(temco) self.coords=coords[0:] #pt=PageTemplateFile('Products/ECHO_content/ECHO_draw.zpt').__of__(self) if RESPONSE is not None: @@ -551,8 +578,9 @@ class ECHO_collection(Folder, Persistent #print "MT:",object.meta_type if object.meta_type in subColTypes: #print "MT:",object.meta_type,object.getId() - for coord in object.coords: - if len(coord)==4: + for coordtemp in object.coords: + if len(coordtemp)>3: + coord=coordtemp[0:4] if hasattr(object,'title'): if not object.title=="": ids.append([string.join(coord,", "),object.getId(),object.title])