--- ECHO_content/ECHO_helpers.py 2012/09/03 14:48:22 1.103.2.7
+++ ECHO_content/ECHO_helpers.py 2012/01/03 13:02:31 1.104
@@ -11,7 +11,6 @@ from OFS.SimpleItem import SimpleItem
from Globals import package_home
import Globals
from AccessControl import ClassSecurityInfo
-from Acquisition import aq_parent,aq_chain,aq_base
import os.path
from OFS.Folder import Folder
import ECHO_collection
@@ -20,7 +19,8 @@ import bz2
import xmlrpclib
import sys
import logging
-#import amara
+import amara
+from xml.sax.saxutils import escape
#erstzt logging
def logger(txt,method,txt2):
@@ -34,7 +34,7 @@ def normalizeCt(str):
#str= str.replace(" ","_")
return str.replace("-"," ").lower()
-#decode and compress for xmlrpc communication
+#decode and compress for xmlrpc communication with OSAS_server
def encodeRPC(string):
return base64.encodestring(bz2.compress(string))
@@ -132,9 +132,6 @@ class ECHO_basis:
"""return utf-8 encoded string object for string or unicode object s"""
return utf8ify(s)
- def getBrowserType(self):
- """returns browserType object"""
- return browserType(self)
def manage_addECHO_locale(self,lang,title,label,text=None,content_type=None,RESPONSE=None):
return ECHO_collection.manage_addECHO_locale(self,lang,title,label)
@@ -147,8 +144,8 @@ class ECHO_basis:
def showRDF(self):
"""showrdf"""
self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
- ret="""\n\n"""
+ ret="""\n\n"""
ret+=self.getRDF(urn="echo:collectionroot")+"\n"
@@ -160,7 +157,7 @@ class ECHO_basis:
def RDF(self):
"""showrdf"""
self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
- ret="""\n\n"""
+ ret="""\n\n"""
ret+=self.getRDF(urn=self.absolute_url())+"\n"
@@ -252,7 +249,6 @@ class ECHO_basis:
return self.unicodify(getattr(self,'description',''));
-
def getTitle(self):
"""title"""
if hasattr(self,'getLanguage'):
@@ -265,9 +261,12 @@ class ECHO_basis:
locale=self.ZopeFind(self,obj_ids=["locale_"+lang])
if locale:
- return unicodify(locale[0][1].title)
-
- return unicodify(self.title)
+ return self.decode(locale[0][1].title)
+ else:
+ try:
+ return self.decode(self.title)
+ except:
+ return self.title
def getLabel(self):
"""title"""
@@ -294,7 +293,7 @@ class ECHO_basis:
ret=self.getId()
return ret
- return unicodify(self.label)
+ return self.decode(self.label)
def changeECHOEntriesForm(self):
"""change Entries for the ECHO Navigation environment"""
@@ -326,7 +325,9 @@ class ECHO_basis:
def getOverview(self):
"""map overview graphics"""
#return self.aq_parent.ZopeFind(self.aq_parent,obj_ids=['overview'])[0][1]
- return getattr(self, 'overview', None)
+ if self.hasOverview():
+ return getattr(self, 'overview')
+ return None
def getMapAreas(self):
"""returns the list of MapAreas"""
@@ -371,7 +372,7 @@ class ECHO_basis:
res = self.ZopeFind(self, obj_metatypes=('ECHO_mapText'))
if len(res) > 0:
text = res[0][1]
- return unicodify(text)
+ return text
return None
def ECHO_graphicEntry(self):
@@ -441,10 +442,10 @@ class ECHO_basis:
def createMapImg(self):
"""generate img-tag for map"""
- bt = browserType(self)
+ bt = BrowserCheck(self)
tag = ""
src = self.getOverview().absolute_url()
- if bt['isN4']:
+ if bt.isN4:
# N4 needs ilayer to create an id
tag += ''%src
else:
@@ -458,7 +459,7 @@ class ECHO_basis:
def createMapLink(self, ob, text=None, target="_blank"):
"""generate map link"""
- bt = browserType(self)
+ bt = BrowserCheck(self)
id = ob.getFullId()
url = ob.getTargetUrl()
if url == "":
@@ -479,9 +480,8 @@ class ECHO_basis:
text = "link"
tiptext = ob.getTip()
-
tag = ""
- if bt['isN4']:
+ if bt.isN4:
# N4 needs layer for highlighting
tag += '" + text + ""
@@ -490,15 +490,12 @@ class ECHO_basis:
tag = '%s"%text
-
+ tag += ">" + text + ""
return tag
def createMapAux(self, ob, arrowsrc="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?dw=15&fn=icons/pfeil", circlesrc="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?dw=15&fn=icons/kreis", target="_blank",backLink=None,alternativArrowsrc="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?dw=15&fn=icons/pfeil_blau"):
"""generate map link image, text and other stuff"""
- bt = browserType(self)
+ bt = BrowserCheck(self)
id = ob.getFullId()
link = ob.getLinkId()
url = ob.getTargetUrl()
@@ -513,9 +510,9 @@ class ECHO_basis:
else:
targetattr = 'target="%s"'%target
tiptext = ob.getTip()
-
tag = ""
- if bt['isN4']:
+
+ if bt.isN4:
#
# N4 needs layer and img elements
#
@@ -578,7 +575,7 @@ class ECHO_basis:
if float(rot) < 0:
marksrc = circlesrc
- if bt['isIEWin'] and bt['versIE'] > 5:
+ if bt.isIEWin and bt.versIE > 5:
# IE/Win 5.5 has "feature" for PNG transparency
tag += ''%(id,marksrc,rot,marksrc,rot)
else:
@@ -593,7 +590,7 @@ class ECHO_basis:
tag += ''
else:
# DOM - Area
- if bt['isIE']:
+ if bt.isIE:
# IE needs transparent img for area
tag += '"+ret+"Rerenderd all links to resources in: "+self.title+"
\n")
+
+ for resource in resources:
+ x=str(resource[1].copyIndex_meta2echo_resource())+"
"
+ if RESPONSE is not None:
+ RESPONSE.write(x+"\n")
+
+ ret+=x
+
+ if RESPONSE is not None:
+ #RESPONSE.redirect('./manage_main')
+ RESPONSE.write( "