version 1.15, 2004/03/01 17:42:49
|
version 1.26, 2004/04/02 17:38:11
|
Line 30 import xml.dom.minidom
|
Line 30 import xml.dom.minidom
|
|
|
import urllib |
import urllib |
import xml.dom.minidom |
import xml.dom.minidom |
|
from ECHO_graphicalOverview import javaHandler,javaScriptMain |
|
|
#List of different types for the graphical linking viewer |
#List of different types for the graphical linking viewer |
viewClassificationListMaster=['view point','area'] |
viewClassificationListMaster=['view point','area'] |
Line 231 class ECHO_resource(Folder):
|
Line 231 class ECHO_resource(Folder):
|
if not hasattr(self,'coords'): |
if not hasattr(self,'coords'): |
self.coords=[] |
self.coords=[] |
|
|
|
print "vorher",self.coords |
pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resource.zpt').__of__(self) |
pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resource.zpt').__of__(self) |
return pt() |
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,content_type,responsible,weight,viewClassification="",coords=None,credits=None,RESPONSE=None): |
|
|
|
|
"""Änderung der Properties""" |
"""Änderung der Properties""" |
|
|
|
|
setECHO_collectionInformation(self,title,label,description,content_type,responsible,credits,weight,coords,viewClassification) |
coordsnew=[ string.split(x,",") for x in coords] |
|
|
|
|
|
setECHO_collectionInformation(self,title,label,description,content_type,responsible,credits,weight,coordsnew) |
|
|
|
self.coords=coordsnew[0:] |
self.link=link |
self.link=link |
self.metalink=metalink |
self.metalink=metalink |
|
|
Line 257 class ECHO_resource(Folder):
|
Line 259 class ECHO_resource(Folder):
|
{'label':'Graphics','action':'ECHO_graphicEntry'}, |
{'label':'Graphics','action':'ECHO_graphicEntry'}, |
) |
) |
|
|
|
def getOverview(self): |
|
"""overview graphics""" |
|
|
|
return self.aq_parent.ZopeFind(self.aq_parent,obj_ids=['overview'])[0][1] |
|
|
def ECHO_graphicEntry(self): |
def ECHO_graphicEntry(self): |
"""DO nothing""" |
"""DO nothing""" |
if 'overview' in self.aq_parent.__dict__.keys(): |
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=PageTemplateFile('Products/ECHO_content/zpt/ECHO_draw.zpt').__of__(self) |
return pt() |
return pt() |
else: |
else: |
Line 370 class ECHO_externalLink(Folder):
|
Line 378 class ECHO_externalLink(Folder):
|
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,content_type,responsible,weight,coords=None,credits=None,RESPONSE=None): |
|
|
"""Änderung der Properties""" |
"""Ä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,content_type,responsible,credits,weight,coords) |
|
|
|
self.coords=coordsnew[0:] |
self.link=link |
self.link=link |
if RESPONSE is not None: |
if RESPONSE is not None: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
Line 384 class ECHO_externalLink(Folder):
|
Line 392 class ECHO_externalLink(Folder):
|
{'label':'Main Config','action':'ECHO_externalLink_config'}, |
{'label':'Main Config','action':'ECHO_externalLink_config'}, |
) |
) |
|
|
|
def getCredits(self): |
|
"""Ausgabe der credits""" |
|
if self.credits: |
|
return self.credits |
|
else: |
|
return [] |
|
|
def index_html(self): |
def index_html(self): |
"""standard page""" |
"""standard page""" |
|
|
Line 406 def manage_addECHO_externalLink(self,id,
|
Line 421 def manage_addECHO_externalLink(self,id,
|
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
|
|
|
|
class ECHO_collection(Folder, Persistent, Implicit): |
class ECHO_collection(Folder, Persistent, Implicit): |
"""ECHO Collection""" |
"""ECHO Collection""" |
security=ClassSecurityInfo() |
security=ClassSecurityInfo() |
meta_type='ECHO_collection' |
meta_type='ECHO_collection' |
|
|
|
def getImageTag(self): |
|
"""GetTag""" |
|
try: |
|
return self.imageTag |
|
except: |
|
return "" |
|
|
|
def addResource(self,id,title,label,description,content_type,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None): |
|
"""SSS""" |
|
try: |
|
manage_addECHO_resource(self,id,title,label,description,content_type,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+="<element name=\""+element.title+"\" url=\""+element.absolute_url()+"\">" |
|
collections+=getCollection(element,depth)+"</element>\n" |
|
except: |
|
"""nothing""" |
|
return collections |
|
|
|
|
|
return "<collection>"+getCollection(self)+"</collection>" |
|
|
|
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') |
security.declarePublic('getCreditObject') |
def getCreditObject(self,name): |
def getCreditObject(self,name): |
Line 459 class ECHO_collection(Folder, Persistent
|
Line 517 class ECHO_collection(Folder, Persistent
|
|
|
return "Rerenderd all links to resources in: "+self.title |
return "Rerenderd all links to resources in: "+self.title |
|
|
|
security.declarePublic('ECHO_newViewerLink') |
|
|
|
|
def getCoords(self): |
def getCoords(self): |
try: |
try: |
Line 470 class ECHO_collection(Folder, Persistent
|
Line 530 class ECHO_collection(Folder, Persistent
|
|
|
return [] |
return [] |
|
|
def __init__(self,id,title,label,description,content_type,responsible,credits,weight,sortfield,coords): |
def __init__(self,id,title,label,description,content_type,responsible,credits,weight,sortfield,coords,imageTag=""): |
#print "CO",coords |
#print "CO",coords |
|
|
self.id = id |
self.id = id |
Line 481 class ECHO_collection(Folder, Persistent
|
Line 541 class ECHO_collection(Folder, Persistent
|
self.description=description |
self.description=description |
self.content_type=content_type |
self.content_type=content_type |
self.responsible=responsible |
self.responsible=responsible |
|
self.imageTag=imageTag |
self.weight=weight |
self.weight=weight |
self.sortfield=sortfield |
self.sortfield=sortfield |
coordsnew=[ string.split(x,",") for x in coords] |
coordsnew=[ string.split(x,",") for x in coords] |
Line 495 class ECHO_collection(Folder, Persistent
|
Line 555 class ECHO_collection(Folder, Persistent
|
|
|
) |
) |
|
|
|
def getOverview(self): |
|
"""overview graphics""" |
|
|
|
return self.aq_parent.ZopeFind(self.aq_parent,obj_ids=['overview'])[0][1] |
|
|
|
|
def ECHO_graphicEntry(self): |
def ECHO_graphicEntry(self): |
"""DO nothing""" |
"""DO nothing""" |
if 'overview' in self.aq_parent.__dict__.keys(): |
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=PageTemplateFile('Products/ECHO_content/zpt/ECHO_draw.zpt').__of__(self) |
return pt() |
return pt() |
else: |
else: |
Line 535 class ECHO_collection(Folder, Persistent
|
Line 604 class ECHO_collection(Folder, Persistent
|
security.declarePublic('changeECHO_collection') |
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,content_type,responsible,weight,credits=None,sortfield="weight",coords=None,RESPONSE=None,imageTag=""): |
"""Änderung der Properties""" |
"""Änderung der Properties""" |
|
|
|
self.imageTag=imageTag |
coordsnew=[ string.split(x,",") for x in coords] |
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,content_type,responsible,credits,weight,coordsnew) |
|
|
|
self.coords=coordsnew[0:] |
self.sortfield=sortfield |
self.sortfield=sortfield |
|
|
if RESPONSE is not None: |
if RESPONSE is not None: |
Line 549 class ECHO_collection(Folder, Persistent
|
Line 620 class ECHO_collection(Folder, Persistent
|
|
|
security.declarePublic('index_html') |
security.declarePublic('index_html') |
|
|
showOverview=DTMLFile('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): |
def index_html(self): |
Line 572 class ECHO_collection(Folder, Persistent
|
Line 649 class ECHO_collection(Folder, Persistent
|
else: |
else: |
return [] |
return [] |
|
|
|
|
|
|
def getGraphicCoords(self): |
def getGraphicCoords(self): |
"""Give list of coordinates""" |
"""Give list of coordinates""" |
subColTypes=['ECHO_collection','ECHO_externalLink','ECHO_resource'] |
subColTypes=['ECHO_collection','ECHO_externalLink','ECHO_resource'] |
Line 583 class ECHO_collection(Folder, Persistent
|
Line 662 class ECHO_collection(Folder, Persistent
|
for coordtemp in object.coords: |
for coordtemp in object.coords: |
if len(coordtemp)>3: |
if len(coordtemp)>3: |
coord=coordtemp[0:4] |
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=="": |
if not object.title=="": |
ids.append([string.join(coord,", "),object.getId(),object.title]) |
ids.append([string.join(coord,", "),object.getId(),object.title,object]) |
else: |
else: |
ids.append([string.join(coord,", "),object.getId(),object.getId()]) |
ids.append([string.join(coord,", "),object.getId(),object.getId(),object]) |
else: |
else: |
ids.append([string.join(coord,", "),object.getId(),object.getId()]) |
ids.append([string.join(coord,", "),object.getId(),object.getId(),object]) |
|
|
except: |
except: |
"""nothing""" |
"""nothing""" |
Line 638 def manage_addECHO_collectionForm(self):
|
Line 719 def manage_addECHO_collectionForm(self):
|
return pt() |
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,content_type,responsible,weight,sortfield,coords="",credits=None,RESPONSE=None,imageTag=""): |
"""add a echo collection""" |
"""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,content_type,responsible,credits,weight,sortfield,coords,imageTag) |
|
|
self._setObject(id,newObj) |
self._setObject(id,newObj) |
|
|
Line 653 class ECHO_root(Folder,Persistent,Implic
|
Line 734 class ECHO_root(Folder,Persistent,Implic
|
"""ECHO Root Folder""" |
"""ECHO Root Folder""" |
meta_type="ECHO_root" |
meta_type="ECHO_root" |
|
|
|
|
|
|
|
def ECHO_newViewerLink(self,obj=None): |
|
"""change links (:86 faellt weg)""" |
|
|
|
if not obj: |
|
obj = self |
|
|
|
entries=obj.ZopeFind(obj,obj_metatypes=['ECHO_resource','ECHO_collection']) |
|
|
|
for entry in entries: |
|
|
|
if entry[1].meta_type == 'ECHO_resource': |
|
|
|
entry[1].link=re.sub('\:86','',entry[1].link) |
|
|
|
else: |
|
|
|
entry[1].ECHO_newViewerLink(entry[1]) |
|
|
|
return "Rerenderd all links to resources in: "+self.title |
|
|
def __init__(self,id,title): |
def __init__(self,id,title): |
"""init""" |
"""init""" |
self.id = id |
self.id = id |
Line 724 class ECHO_root(Folder,Persistent,Implic
|
Line 827 class ECHO_root(Folder,Persistent,Implic
|
|
|
def getPartners(self): |
def getPartners(self): |
"""Get list of Partners. Presently only from a subfolder partners""" |
"""Get list of Partners. Presently only from a subfolder partners""" |
partnerTypes=['ECHO_partner'] |
|
ids=[] |
|
try: |
|
for entry in self.partners.__dict__.keys(): |
|
object=getattr(self.partners,entry) |
|
|
|
try: |
return [ item[1] for item in self.partners.ZopeFind(self.partners,obj_metatypes=['ECHO_partner'])] |
|
|
if object.meta_type in partnerTypes: |
|
ids.append(object) |
|
|
|
except: |
|
"""nothing""" |
|
except: |
|
ids=[] # no partners |
def getPartnersXML(self): |
return ids |
"""partner liste als xml""" |
|
partners=self.getPartners() |
|
ret="<partners>" |
|
for partner in partners: |
|
ret+="""<partner id="%s" title="%s"/>\n"""%(partner.getId(),partner.title) |
|
|
|
return ret+"\n</partners>" |
|
|
def getCollectionTree(self): |
def getCollectionTree(self): |
"""get the collection tree (list of triples (parent,child, depth)""" |
"""get the collection tree (list of triples (parent,child, depth)""" |