--- ECHO_content/ECHO_collection.py 2004/05/26 07:39:36 1.90
+++ ECHO_content/ECHO_collection.py 2004/06/04 10:04:16 1.96
@@ -75,11 +75,11 @@ def checkDiffs(self,metadict):
if (NoneToEmpty(self.getFieldValue(self.getFieldTag(tags,field)))==metadict[self.getFieldTag(tags,field)]):
diffs[self.getFieldTag(tags,field)]=1
else:
- #print "DIFF",field,self.getFieldValue(self.getFieldTag(tags,field)),metadict[self.getFieldTag(tags,field)]
+
diffs[self.getFieldTag(tags,field)]=0
except:
diffs[self.getFieldTag(tags,field)]=0
- #print "EX",field
+
return diffs
def content_html(self,type):
@@ -89,10 +89,10 @@ def content_html(self,type):
#if templates:
# return templates[0][1]()
- try:
+ if hasattr(self,type+"_template")
obj=getattr(self,type+"_template")
return obj()
- except:
+ else:
pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_%s_template_standard.zpt'%type).__of__(self)
pt.content_type="text/html"
return pt()
@@ -231,7 +231,7 @@ def readMetadata(url):
if len(metanode)==0:
metanode=dom.getElementsByTagName('archimedes')
metadict['bib_type']='Archimedes'
- #print "HELLO"
+
if not len(metanode)==0:
metacontent=metanode[0].childNodes
@@ -243,7 +243,8 @@ def readMetadata(url):
for node in metacontent:
try:
- metadict[re.sub('-','_',node.tagName.lower())]=urllib.unquote(getText(node.childNodes))
+ #print urllib.unquote(getText(node.childNodes)),getText(node.childNodes)
+ metadict[re.sub('-','_',node.tagName.lower())]=urllib.unquote(getText(node.childNodes))
except:
"""nothing"""
@@ -268,15 +269,15 @@ def setECHO_collectionInformation(self,t
coords=[]
#coordinates of for rectangles
- #print "cs", coordstrs
+
if coordstrs:
for coordstr in coordstrs:
- #print "cs", coordstr
+
try:
temco=coordstr.split(",")
except:
temco=[]
- #temco.append(angle)
+
coords.append(temco)
@@ -441,6 +442,18 @@ class ECHO_resource(Folder,Persistent):
self.REQUEST.RESPONSE.write("no fulltext available")
else:
return "no fulltext available"
+
+ def getCopyright(self):
+ """gib link auf copyright notiz aus"""
+ if hasattr(self,'copyrightType'):
+ obj=getattr(self.copyrightTypes,'copyrightType')
+ else:
+ obj=getattr(self.copyrightTypes,'generic')
+
+ label=obj.label
+ link="copyrightTypes/"+obj.getId()+'/copyright.html'
+
+ return """%s"""%(link,label)
def getCredits(self):
"""Ausgabe der credits"""
@@ -449,7 +462,7 @@ class ECHO_resource(Folder,Persistent):
else:
return []
- def __init__(self,id,link,metalink,resourceID,title,label,description,contentType,renderingType,responsible,credits,weight,coords):
+ def __init__(self,id,link,metalink,resourceID,title,label,description,contentType,renderingType,copyrightType,responsible,credits,weight,coords):
self.id = id
"""Festlegen der ID"""
@@ -462,6 +475,7 @@ class ECHO_resource(Folder,Persistent):
self.credits=toList(credits)
self.description=description
self.contentType=contentType
+ self.copyrightType=copyrightType
self.renderingType=renderingType
self.responsible=responsible
self.resourceID=resourceID
@@ -543,8 +557,7 @@ class ECHO_resource(Folder,Persistent):
for data in self.metadata:
data_neu=re.sub('-','_',data)
self.metaDataHash[data_neu]=getattr(self,data)
- #print data_neu, getattr(self,data)
- #print self.metaDataHash,self.metadata
+
pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resource_metadata.zpt').__of__(self)
return pt()
@@ -659,7 +672,7 @@ class ECHO_resource(Folder,Persistent):
manage_options = Folder.manage_options+(
{'label':'Main Config','action':'ECHO_resource_config_main'},
- {'label':'Change Credits & Copyright','action':'ECHO_resource_config_credits'},
+ {'label':'Change Partners & Copyright','action':'ECHO_resource_config_credits'},
{'label':'Change Metadata','action':'ECHO_resource_config_metadata'},
{'label':'Change Coords','action':'ECHO_resource_config_coords'},
{'label':'Add coords','action':'ECHO_graphicEntry'},
@@ -729,7 +742,7 @@ class ECHO_resource(Folder,Persistent):
def getFieldValue(self,field):
"""get value"""
- #print field
+
try:
ret=self.metaDataHash[field]
@@ -746,7 +759,7 @@ class ECHO_resource(Folder,Persistent):
def setFieldValue(self,field,value):
"""get value"""
- #print field
+
if not hasattr(self,'metaDataHash'):
setattr(self,'metaDataHash',{})
self.metaDataHash[field]=value[0:]
@@ -769,9 +782,9 @@ class ECHO_resource(Folder,Persistent):
fieldlist=self.standardMD.fieldList
for referenceTypeF in self.referencetypes:
- #print referenceTypeF[1].title,referenceType
+
if referenceTypeF[1].title.lower() == referenceType.lower():
- #print "OK"
+
try:
bibdata[referenceTypeF[1].title]=referenceTypeF[1].fields
referenceType=referenceTypeF[1].title
@@ -783,7 +796,7 @@ class ECHO_resource(Folder,Persistent):
fields=bibdata[referenceType]
for field in fieldlist:
retdata[field]=referenceTypeF[1].getValue(field)[1]
- #print retdata,fieldlist
+
return retdata,fieldlist,temp,fields
def findTagsFromMapping(self,referenceType):
@@ -826,16 +839,19 @@ class ECHO_resource(Folder,Persistent):
def copyIndex_meta2echo_resource(self,RESPONSE=None):
"""copy MD von Index_meta to the echo_resource"""
-
+
(metadict, error)=readMetadata(self.metalink)
self.metaDataHash={}
if not error=="": #Fehler beim Auslesen des Metafiles
return "ERROR:",error
fields=self.findTagsFromMapping(self.contentType)
+
#fields=self.findLabelsFromMapping(self.contentType)
for field in fields[1]:
+
if self.isDefinedInThisSet(fields,field):
+ #print urllib.unquote(metadict.get(self.getFieldTag(fields,field),''))
self.setFieldValue(self.getFieldTag(fields,field),metadict.get(self.getFieldTag(fields,field),''))
@@ -934,10 +950,10 @@ def manage_addECHO_resourceForm(self):
-def manage_addECHO_resource(self,id,title,label,description,responsible,link,metalink,weight,resourceID=None,contentType=None,renderingType=None,credits=None,coords=None,RESPONSE=None):
+def manage_addECHO_resource(self,id,title,label,description,responsible,link,metalink,weight,copyrightType=None,resourceID=None,contentType=None,renderingType=None,credits=None,coords=None,RESPONSE=None):
"""addaresource"""
- newObj=ECHO_resource(id,link,metalink,resourceID,title,label,description,contentType,renderingType,responsible,credits,weight,coords)
+ newObj=ECHO_resource(id,link,metalink,resourceID,title,label,description,contentType,renderingType,copyrightType,responsible,credits,weight,coords)
self._setObject(id,newObj)
@@ -986,7 +1002,7 @@ class ECHO_externalLink(Folder):
if not hasattr(self,'coords'):
self.coords=['']
- #print "G",self.coords
+
pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_externalLink.zpt').__of__(self)
return pt()
@@ -1301,7 +1317,7 @@ class ECHO_collection(Folder, Persistent
for entry in entries:
if entry[1].meta_type == 'ECHO_resource':
entry[1].ECHO_getResourceMD(template="no")
- #print "rerender",entry[1].getId()
+
else:
self.ECHO_rerenderLinksMD(entry[1])
@@ -1323,7 +1339,7 @@ class ECHO_collection(Folder, Persistent
return []
def __init__(self,id,title,label,description,contentType,responsible,credits,weight,sortfield,coords,secondaryLinkTitle,secondaryLink,imageTag="",bgcolour=""):
- #print "CO",coords
+
self.id = id
"""Festlegen der ID"""
@@ -1778,14 +1794,17 @@ class ECHO_root(Folder,Persistent,Implic
if not content or content=="":
return ""
ret="<%s>"%tag
- ret+=urllib.quote(content)
+ #ret+=urllib.quote(content)
+ ret+=content
+
ret+="%s>"%tag
return ret
def getValueFromClass(self,field,found):
"""retattribute falss existing"""
try:
- return getattr(found,field)
+
+ return getattr(found,field).decode('ascii','ignore')
except:
return ""
@@ -1903,7 +1922,7 @@ class ECHO_root(Folder,Persistent,Implic
def checkIfArrow(obj):
if hasattr(obj,'coords'):
for coordtemp in obj.coords:
- #print obj.title,len(coordtemp)
+
if (len(coordtemp)>4) and not (coordtemp[4]==''):
return 4
return None
@@ -1975,7 +1994,7 @@ class ECHO_root(Folder,Persistent,Implic
for word in words:
strUrl=url%word
- #print "str",strUrl
+
retStr+="""%s
"""%(strUrl,word)
str=retStr
if str:
@@ -1986,12 +2005,12 @@ class ECHO_root(Folder,Persistent,Implic
def link2html(self,str):
"""link2html fuer VLP muss hier noch raus"""
if str:
- #print str
+
str=re.sub("\&","&",str)
dom=xml.dom.minidom.parseString(""+str+"")
links=dom.getElementsByTagName("link")
- #print "link",links
+
for link in links:
link.tagName="a"
ref=link.getAttribute("ref")
@@ -2006,7 +2025,6 @@ class ECHO_root(Folder,Persistent,Implic
dbs={'vl_literature':'AND CD LIKE \'%lise%\'','vl_technology':'','vl_people':''}
res=None
for db in dbs.keys():
- #print ref,"select reference from %s where reference =\'%s\' %s"%(db,ref,dbs[db])
res=res or self.search(var=str("select reference from %s where reference =\'%s\' %s"%(db,ref,dbs[db])))
return res
@@ -2015,7 +2033,7 @@ class ECHO_root(Folder,Persistent,Implic
def PgQuoteString(self,string):
"""Quote string"""
- #print "PG",string
+
return libpq.PgQuoteString(string)
def getPartners(self):
@@ -2149,6 +2167,53 @@ def manage_addECHO_rootForm(self):
"""Nothing yet"""
pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_root.zpt').__of__(self)
return pt()
+
+class ECHO_copyrightType(Folder):
+ """copyright typ"""
+
+ meta_type="ECHO_copyrightType"
+
+ def __init__(self,id,title,label):
+ """init"""
+ self.id=id
+ self.title=title
+ self.label=label
+
+ manage_options = Folder.manage_options+(
+ {'label':'Main Config','action':'ECHO_copyrightType_config_mainForm'},
+ )
+
+ def ECHO_copyrightType_config_mainForm(self):
+ """change form"""
+ pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_copyrightType').__of__(self)
+ pt.content_type="text/html"
+ return pt()
+
+ def ECHO_copyrightType_config_main(self,title,label,RESPONSE=None):
+ """change"""
+ self.title=title
+ self.label=label
+
+ if RESPONSE is not None:
+ RESPONSE.redirect('manage_main')
+
+def manage_addECHO_copyrightTypeForm(self):
+ """Form for adding a ressource"""
+ pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_copyrightTypeForm.zpt').__of__(self)
+ return pt()
+
+
+def manage_addECHO_copyrightType(self,id,title,label,RESPONSE=None):
+ """addaresource"""
+
+ newObj=ECHO_copyrightType(id,title,label)
+
+ self._setObject(id,newObj)
+
+ if RESPONSE is not None:
+ RESPONSE.redirect('manage_main')
+
+
class ECHO_partner(Image,Persistent):
"""ECHO Partner"""