version 1.101, 2004/06/07 14:37:36
|
version 1.119, 2004/06/18 12:32:21
|
Line 46 import xml.dom.minidom
|
Line 46 import xml.dom.minidom
|
from ECHO_graphicalOverview import javaHandler,javaScriptMain |
from ECHO_graphicalOverview import javaHandler,javaScriptMain |
import ECHO_helpers |
import ECHO_helpers |
|
|
def getCopyrightsFromForm(argv): |
def getCopyrightsFromForm(self,argv): |
medias={} |
medias={} |
partners={} |
partners={} |
copyrights={} |
copyrights={} |
|
|
copyrightsFinal=[] |
copyrightsFinal=[] |
for arg in argv.keys(): |
for arg in argv.keys(): |
print arg |
|
if arg[0:5]=='media': |
if arg[0:5]=='media': |
nm=int(arg[5:]) |
nm=int(arg[5:]) |
medias[nm]=argv[arg] |
medias[nm]=argv[arg] |
Line 64 def getCopyrightsFromForm(argv):
|
Line 64 def getCopyrightsFromForm(argv):
|
nm=int(arg[5:]) |
nm=int(arg[5:]) |
copyrights[nm]=argv[arg] |
copyrights[nm]=argv[arg] |
|
|
|
|
|
|
copyrightsList=[(medias[nm],partners[nm],copyrights[nm]) for nm in medias.keys()] |
copyrightsList=[(medias[nm],partners[nm],copyrights[nm]) for nm in medias.keys()] |
for copyright in copyrightsList: |
for copyright in copyrightsList: |
|
|
|
if copyright[2]=='institution0000': |
|
copyrightsFinal.append((copyright[0],copyright[1],self.getPartnerCopyright(copyright[1],''))) |
|
else: |
if not copyright[0]=='': |
if not copyright[0]=='': |
copyrightsFinal.append(copyright) |
copyrightsFinal.append(copyright) |
|
|
|
|
return copyrightsFinal |
return copyrightsFinal |
|
|
#List of different types for the graphical linking viewer |
#List of different types for the graphical linking viewer |
Line 334 class ECHO_copyright(Folder):
|
Line 342 class ECHO_copyright(Folder):
|
pt.content_type="text/html" |
pt.content_type="text/html" |
return pt() |
return pt() |
|
|
def ECHO_copyright_config(self,title,RESPONSE): |
def ECHO_copyright_config(self,title,RESPONSE=None): |
"""change""" |
"""change""" |
self.title=title |
self.title=title |
self.copyrights=[] |
self.copyrights=[] |
self.copyrights=getCopyrightsFromForm(self.REQUEST.form)[0:] |
self.copyrights=getCopyrightsFromForm(self,self.REQUEST.form)[0:] |
|
|
if RESPONSE is not None: |
if RESPONSE is not None: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
Line 358 def manage_addECHO_copyright(self, id,ti
|
Line 366 def manage_addECHO_copyright(self, id,ti
|
|
|
|
|
|
|
self._setObject(id, ECHO_copyright(id, title,getCopyrightsFromForm(self.REQUEST.form))) |
self._setObject(id, ECHO_copyright(id, title,getCopyrightsFromForm(self,self.REQUEST.form))) |
|
|
if RESPONSE is not None: |
if RESPONSE is not None: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
Line 479 class ECHO_resource(Folder,Persistent):
|
Line 487 class ECHO_resource(Folder,Persistent):
|
else: |
else: |
return "<error>no fulltext available</error>" |
return "<error>no fulltext available</error>" |
|
|
def getCopyright(self): |
def getCopyrightsHTML(self): |
"""gib link auf copyright notiz aus""" |
"""gib (link auf copyright notiz, mediatyp, institution, copyrightType, label von copyrightType) aus""" |
if hasattr(self,'copyrightType') and hasattr(self.copyrightTypes,self.copyrightType): |
|
obj=getattr(self.copyrightTypes,self.copyrightType) |
if hasattr(self,'copyrightModell'): |
|
obj=self.copyrightModell |
|
|
else: |
else: |
obj=getattr(self.copyrightTypes,'generic') |
return "ERROR" |
|
ret=[] |
|
|
|
for copyright in obj.getCopyrights(): |
|
|
label=obj.label |
link="copyrightTypes/"+copyright[2]+'/copyright.html' |
link="copyrightTypes/"+obj.getId()+'/copyright.html' |
|
|
|
return """<a target="_blank" href="%s">%s</a>"""%(link,label) |
try: |
|
copyrightTypeObj=getattr(self.copyrightTypes,copyright[2]) |
|
label=copyrightTypeObj.label |
|
url=copyrightTypeObj.url |
|
|
|
if url!='': |
|
ret.append(("""<a target="_blank" href="%s">%s</a>"""%(url,label),copyright[0],copyright[1],copyright[2],label)) |
|
else: |
|
if hasattr(copyrightTypeObj, 'copyright.html'): |
|
ret.append(("""<a target="_blank" href="%s?partner=%s">%s</a>"""%(link,copyright[1],label),copyright[0],copyright[1],copyright[2],label)) |
|
else: |
|
ret.append((label,copyright[0],copyright[1],copyright[2],label)) |
|
except: |
|
"""nothing""" |
|
|
|
return ret |
|
|
def getCredits(self): |
def getCredits(self): |
"""Ausgabe der credits""" |
"""Ausgabe der credits""" |
Line 1374 class ECHO_collection(Folder, Persistent
|
Line 1401 class ECHO_collection(Folder, Persistent
|
for entry in entries: |
for entry in entries: |
if entry[1].meta_type == 'ECHO_resource': |
if entry[1].meta_type == 'ECHO_resource': |
entry[1].ECHO_getResourceMD(template="no") |
entry[1].ECHO_getResourceMD(template="no") |
|
entry[1].generate_title() |
|
|
else: |
else: |
self.ECHO_rerenderLinksMD(entry[1]) |
self.ECHO_rerenderLinksMD(entry[1]) |
Line 1480 class ECHO_collection(Folder, Persistent
|
Line 1508 class ECHO_collection(Folder, Persistent
|
else: |
else: |
return "#dddddd" |
return "#dddddd" |
|
|
def changeECHO_collection(self,title,label,description,contentType,responsible,weight,secondaryLink,secondaryLinkTitle,credits=None,sortfield="weight",coords=None,RESPONSE=None,imageTag="",bgcolour="",viewClassification=None): |
def changeECHO_collection(self,title,label,description,contentType,responsible,weight,secondaryLink,secondaryLinkTitle,credits=None,sortfield="weight",coords=None,RESPONSE=None,imageTag="",bgcolour="",viewClassification=None,location=None): |
"""Aenderung der Properties""" |
"""Aenderung der Properties""" |
|
|
self.secondaryLink=secondaryLink |
self.secondaryLink=secondaryLink |
Line 1488 class ECHO_collection(Folder, Persistent
|
Line 1516 class ECHO_collection(Folder, Persistent
|
self.imageTag=imageTag |
self.imageTag=imageTag |
self.bgcolour=bgcolour |
self.bgcolour=bgcolour |
self.viewClassification=viewClassification |
self.viewClassification=viewClassification |
|
self.location=location |
|
|
if coords: |
if coords: |
coordsnew=[ string.split(x,",") for x in coords] |
coordsnew=[ string.split(x,",") for x in coords] |
Line 1935 class ECHO_root(Folder,Persistent,Implic
|
Line 1964 class ECHO_root(Folder,Persistent,Implic
|
return retStr |
return retStr |
|
|
|
|
def copyrightTypeSelector_HTML(self,selected=None): |
def copyrightTypeSelector_HTML(self,selected=None,first=None): |
"""give type selector""" |
"""give type selector""" |
|
|
|
if not first: |
if not selected: |
if not selected: |
retStr="<option selected>\n" |
retStr="<option selected>\n" |
else: |
else: |
retStr="<option>\n" |
retStr="<option>\n" |
|
else: |
|
if not selected: |
|
retStr="""<option selected value="%s">%s\n"""%first |
|
else: |
|
retStr="""<option value="%s">%s\n"""%first |
|
|
|
|
try: # erste version copyrightTypes exists |
try: # erste version copyrightTypes exists |
Line 2101 class ECHO_root(Folder,Persistent,Implic
|
Line 2137 class ECHO_root(Folder,Persistent,Implic
|
if str: |
if str: |
|
|
str=re.sub("\&","&",str) |
str=re.sub("\&","&",str) |
dom=xml.dom.minidom.parseString("<?xml version='1.0' ?><txt>"+str+"</txt>") |
dom=xml.dom.minidom.parseString("<?xml version='1.0' encoding='utf-8'?><txt>"+str+"</txt>") |
links=dom.getElementsByTagName("link") |
links=dom.getElementsByTagName("link") |
|
|
|
|
Line 2111 class ECHO_root(Folder,Persistent,Implic
|
Line 2147 class ECHO_root(Folder,Persistent,Implic
|
if self.checkRef(ref): |
if self.checkRef(ref): |
link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref) |
link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref) |
|
|
return dom.toxml('utf-8') |
newxml=dom.toxml('utf-8') |
|
match=re.sub(r'<\?xml version=\"1.0\" encoding=\"utf-8\"\?>\n<txt>','',newxml) |
|
match=re.sub(r'</txt>','',match) |
|
|
|
return match |
|
|
return "" |
return "" |
|
|
|
def xml2html(self,str): |
|
"""link2html fuer VLP muss hier noch raus""" |
|
if str: |
|
|
|
str=re.sub("\&","&",str) |
|
dom=xml.dom.minidom.parseString(str) |
|
links=dom.getElementsByTagName("link") |
|
|
|
|
|
for link in links: |
|
link.tagName="a" |
|
ref=link.getAttribute("ref") |
|
if self.checkRef(ref): |
|
link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref) |
|
|
|
return dom.toxml('utf-8') |
|
return "" |
|
|
def checkRef(self,ref): |
def checkRef(self,ref): |
dbs={'vl_literature':'AND CD LIKE \'%lise%\'','vl_technology':'','vl_people':''} |
dbs={'vl_literature':'AND CD LIKE \'%lise%\'','vl_technology':'','vl_people':''} |
Line 2250 class ECHO_root(Folder,Persistent,Implic
|
Line 2308 class ECHO_root(Folder,Persistent,Implic
|
self.REQUEST.RESPONSE.setHeader("Content-Type", "text/xml") |
self.REQUEST.RESPONSE.setHeader("Content-Type", "text/xml") |
self.REQUEST.RESPONSE.write(ret) |
self.REQUEST.RESPONSE.write(ret) |
|
|
|
|
|
def getMetaDatasXML(self,viewerType=None,filter=None): |
|
"""gebe all ressourcen aus""" |
|
ret="""<?xml version="1.0" ?> |
|
<index>""" |
|
for resource in self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1): |
|
|
|
echo_url=resource[1].absolute_url() |
|
if resource[1].getFullTextXML(noredirect="yes"): |
|
if hasattr(resource[1],'link'): |
|
viewer_url=echo_url+"/getMetaDataXML" |
|
else: |
|
viewer_url="NO URL" |
|
if filter: |
|
if re.search(filter,viewer_url): |
|
ret+="""\n<resource echoLink="%s" viewerLink="%s"/>"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(viewer_url,safe='/:?')) |
|
else: |
|
ret+="""\n<resource echoLink="%s" viewerLink="%s"/>"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(viewer_url,safe='/:?')) |
|
ret +="""\n</index>""" |
|
|
|
|
|
self.REQUEST.RESPONSE.setHeader("Content-Type", "text/xml") |
|
self.REQUEST.RESPONSE.write(ret) |
|
|
|
|
|
def findPartners(self): |
|
"""find all partners in partners""" |
|
par=self.ZopeFind(self.partners, obj_metatypes='ECHO_partner') |
|
return par |
|
|
|
def getPartnerFromID(self): |
|
"""find partner form ID return object""" |
|
pa=self.REQUEST['partner'] |
|
par=self.ZopeFind(self.partners, obj_ids=[pa]) |
|
return par |
|
|
|
def getPartnerFromIDParameter(self, id): |
|
""" find partners from ID""" |
|
par=self.ZopeFind(self.partners, obj_ids=[id]) |
|
return par |
|
|
|
|
|
|
def manage_addECHO_root(self,id,title,RESPONSE=None): |
def manage_addECHO_root(self,id,title,RESPONSE=None): |
"""Add an ECHO_root""" |
"""Add an ECHO_root""" |
self._setObject(id,ECHO_root(id,title)) |
self._setObject(id,ECHO_root(id,title)) |
Line 2267 class ECHO_copyrightType(Folder):
|
Line 2368 class ECHO_copyrightType(Folder):
|
|
|
meta_type="ECHO_copyrightType" |
meta_type="ECHO_copyrightType" |
|
|
def __init__(self,id,title,label): |
def __init__(self,id,title,label,url): |
"""init""" |
"""init""" |
self.id=id |
self.id=id |
self.title=title |
self.title=title |
self.label=label |
self.label=label |
|
self.url=url |
|
|
manage_options = Folder.manage_options+( |
manage_options = Folder.manage_options+( |
{'label':'Main Config','action':'ECHO_copyrightType_config_mainForm'}, |
{'label':'Main Config','action':'ECHO_copyrightType_config_mainForm'}, |
Line 2283 class ECHO_copyrightType(Folder):
|
Line 2385 class ECHO_copyrightType(Folder):
|
pt.content_type="text/html" |
pt.content_type="text/html" |
return pt() |
return pt() |
|
|
def ECHO_copyrightType_config_main(self,title,label,RESPONSE=None): |
def ECHO_copyrightType_config_main(self,title,label,url,RESPONSE=None): |
"""change""" |
"""change""" |
self.title=title |
self.title=title |
self.label=label |
self.label=label |
|
self.url=url |
|
|
if RESPONSE is not None: |
if RESPONSE is not None: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
Line 2297 def manage_addECHO_copyrightTypeForm(sel
|
Line 2400 def manage_addECHO_copyrightTypeForm(sel
|
return pt() |
return pt() |
|
|
|
|
def manage_addECHO_copyrightType(self,id,title,label,RESPONSE=None): |
def manage_addECHO_copyrightType(self,id,title,label,url,RESPONSE=None): |
"""addaresource""" |
"""addaresource""" |
|
|
newObj=ECHO_copyrightType(id,title,label) |
newObj=ECHO_copyrightType(id,title,label,url) |
|
|
self._setObject(id,newObj) |
self._setObject(id,newObj) |
|
|
Line 2357 manage_addECHO_partnerForm=DTMLFile('dtm
|
Line 2460 manage_addECHO_partnerForm=DTMLFile('dtm
|
|
|
|
|
|
|
def manage_addECHO_partner(self, id, file,url, person, email, country, title='', precondition='', content_type='', |
def manage_addECHO_partner(self, id,file,url, person, email, country, copyrightType='', title='', precondition='', content_type='', |
REQUEST=None): |
REQUEST=None): |
""" |
""" |
Add a new ECHO_partner object. |
Add a new ECHO_partner object. |
Line 2376 def manage_addECHO_partner(self, id, fil
|
Line 2479 def manage_addECHO_partner(self, id, fil
|
self=self.this() |
self=self.this() |
|
|
# First, we create the image without data: |
# First, we create the image without data: |
self._setObject(id, ECHO_partner(id,title,url,'',person, email, country, content_type, precondition)) |
self._setObject(id, ECHO_partner(id,title,url,'',copyrightType, person, email, country, content_type, precondition)) |
|
|
# Now we "upload" the data. By doing this in two steps, we |
# Now we "upload" the data. By doing this in two steps, we |
# can use a database trick to make the upload more efficient. |
# can use a database trick to make the upload more efficient. |