--- ECHO_content/ECHO_collection.py 2008/12/17 12:12:26 1.301
+++ ECHO_content/ECHO_collection.py 2010/02/15 19:03:28 1.308
@@ -1,4 +1,4 @@
-"""New version of the product started February, 8th. Without scientific classification, use content-type for further classification."""
+"""New version of the produc started February, 8th. Without scientific classification, use content-type for further classification."""
"""Echo collection provides the classes for the ECHO content web-site.
class ECHO_collection is the basis class for an ECHO collection.
@@ -106,6 +106,7 @@ def setECHO_collectionInformation(self,t
self.weight=weight
import ECHO_resource
+from ECHO_resource import manage_addECHO_resource
class ECHO_resource(ECHO_resource.ECHO_resource):
"""depricated use class in ECHO_resource.py"""
@@ -379,7 +380,7 @@ class ECHO_fullText(ZopePageTemplate,ECH
try:
dom=xml.dom.minidom.parseString(self())
except:
- dom=xml.dom.minidom.parseString(self().encode('latin-1'))
+ dom=xml.dom.minidom.parseString(self.utf8ify(self()))
pages=dom.getElementsByTagName('page')
return pages[int(nr)-1].toxml()
@@ -721,7 +722,7 @@ class ECHO_collection(CatalogAware, Fold
ret=None
for name in zf.namelist():
- fn=tempfile.mkstemp()[1]
+ ds,fn=tempfile.mkstemp()
tf=file(fn,"w")
x=zf.read(name)
tf.write(x)
@@ -732,8 +733,11 @@ class ECHO_collection(CatalogAware, Fold
if not ret:
ret=""
ret+="Cannot import: %s (Already existing?)
"%name
+ os.close(ds)
os.remove(fn)
-
+
+ zf.close()
+
if ret:
return """
%s"""%ret
if RESPONSE:
@@ -852,17 +856,24 @@ class ECHO_collection(CatalogAware, Fold
if not urn:
urn=self.absolute_url()
- li="""\n"""
+ li="""\n"""
for content in contents:
+ try:
ret+=content[1].getRDF()+"\n"
-
- ret+="""\n"""%urn
+ except:
+ logging.error("getrdf: "+repr(content[1].getRDF()))
+ try:
+ ret+=self.unicodify(content[1].getRDF())+"\n"
+ except:
+ logging.error("--still cannot do it")
+ ret+=repr(content[1].getRDF())+"\n"
+ ret+="""\n"""%urn
for content in contents:
nurn=content[1].absolute_url()
ret+=li%nurn
- return ret+""
+ return ret+""
@@ -1610,17 +1621,17 @@ class ECHO_group(ECHO_collection):
if not urn:
urn=self.absolute_url()
- li="""\n"""
+ li="""\n"""
for content in contents:
- ret+=content[1].getRDF()+"\n"
+ ret+=self.unicodify(content[1].getRDF())+"\n"
- ret+="""\n"""%urn
+ ret+="""\n"""%urn
for content in contents:
nurn=content[1].absolute_url()
ret+=li%nurn
- return ret+""
+ return ret+""
def index_html(self):
"""standard page"""
@@ -1804,7 +1815,8 @@ class ECHO_userFolder(UserFolder):
return 1
return 0
-Globals.default__class_init__(ECHO_userFolder)
+# ROC: problem with 2.12
+#Globals.default__class_init__(ECHO_userFolder)
@@ -2055,8 +2067,8 @@ class ECHO_root(Folder,Persistent,Implic
global key
global value
seq=""
- if name=="RDF:Seq":
- key=attrs.get('RDF:about')
+ if name=="rdf:Seq":
+ key=attrs.get('rdf:about')
try: # teste ob liste
x=seqs[key][0]
except:
@@ -2064,20 +2076,20 @@ class ECHO_root(Folder,Persistent,Implic
seqs[key]=[]
- elif name=="RDF:Description":
- key=attrs.get('RDF:about')
+ elif name=="rdf:Description":
+ key=attrs.get('rdf:about')
- elif name=="RDF:li":
- name=attrs.get('RDF:resource')
+ elif name=="rdf:li":
+ name=attrs.get('rdf:resource')
seqs[key].append(name)
- elif name=="ECHONAVIGATION:type":
+ elif name=="echonavigation:type":
value="type"
- elif name=="ECHONAVIGATION:name":
+ elif name=="echonavigation:name":
value="name"
- elif name=="ECHONAVIGATION:linkClickable":
+ elif name=="echonavigation:linkClickable":
value="linkClickable"
def end_element(name):
@@ -2158,17 +2170,17 @@ class ECHO_root(Folder,Persistent,Implic
ret=getRDFDescription(self,self.absolute_url(),urn=urn)
- li="""\n"""
+ li="""\n"""
for content in contents:
ret+=content[1].getRDF()+"\n"
- ret+="""\n"""%urn
+ ret+="""\n"""%urn
for content in contents:
nurn=content[1].absolute_url()
ret+=li%nurn
- return ret+""
+ return ret+""
def showContent(self,path):