version 1.131, 2004/06/28 14:42:32
|
version 1.140, 2004/07/16 17:55:43
|
Line 184 class BrowserCheck:
|
Line 184 class BrowserCheck:
|
self.isIEMac = self.isIE and self.isMac |
self.isIEMac = self.isIE and self.isMac |
|
|
|
|
|
|
|
|
def writeMetadata(url,metadict,project=None,startpage=None,xslt=None,thumbtemplate=None,topbar=None,digiLibTemplate=None): |
def writeMetadata(url,metadict,project=None,startpage=None,xslt=None,thumbtemplate=None,topbar=None,digiLibTemplate=None): |
"""Einlesen der Metadaten und und erstellen des geaenderten XML file""" |
"""Einlesen der Metadaten und und erstellen des geaenderten XML file""" |
def updateTextToolNode(tag,value): |
def updateTextToolNode(tag,value): |
Line 484 class ECHO_resource(Folder,Persistent):
|
Line 486 class ECHO_resource(Folder,Persistent):
|
|
|
getSubCols = ECHO_helpers.getSubCols |
getSubCols = ECHO_helpers.getSubCols |
|
|
|
security.declareProtected('View','index_html') |
|
def getRDF(self): |
|
"""rdf""" |
|
ret="" |
|
about="""<RDF:Description about="%s">""" |
|
name="""<ECHONAVIGATION:name>%s</ECHONAVIGATION:name>""" |
|
link="""<ECHONAVIGATION:link>%s</ECHONAVIGATION:link>""" |
|
urn="urn:"+re.sub('/',':',self.absolute_url()) |
|
|
|
about2=about%urn |
|
name2=name%self.getId() |
|
link2=link%self.link |
|
|
|
ret=about2+"\n"+name2+"\n"+link2+"\n"+"</RDF:description>" |
|
return ret |
|
|
|
|
|
def getAccessRightSelectorHTML(self,outlook="select"): |
|
"""htmlselector""" |
|
values=['free','mpiwg'] |
|
|
|
if outlook=="select": |
|
ret="""<select name="%s">"""%self.getId() |
|
|
|
for value in values: |
|
if value==self.getAccessRightMD(): |
|
ret+="<option selected>%s</option>"%value |
|
else: |
|
ret+="<option>%s</option>"%value |
|
return ret+"</select>" |
|
|
|
else: |
|
ret="" |
|
for value in values: |
|
print |
|
if value==self.getAccessRightMD(): |
|
ret+="""<input type="radio" name="%s" value="%s" checked>%s"""%(self.getId(),value,value) |
|
else: |
|
ret+="""<input type="radio" name="%s" value="%s">%s"""%(self.getId(),value,value) |
|
return ret |
|
|
|
|
|
|
|
def getAccessRightMD(self): |
|
"""set accessright""" |
|
url=self.metalink |
|
|
|
try: |
|
geturl="" |
|
for line in urllib.urlopen(url).readlines(): |
|
geturl=geturl+line |
|
|
|
|
|
except: |
|
return (None,"Cannot open: "+url) |
|
|
|
try: |
|
dom=xml.dom.minidom.parseString(geturl) |
|
root=dom.getElementsByTagName('resource')[0] |
|
except: |
|
return (None,"Cannot parse: "+url+"<br>"+geturl) |
|
|
|
internal=dom.getElementsByTagName('internal') |
|
if internal: |
|
institution=dom.getElementsByTagName('institution') |
|
return getText(institution[0].childNodes) |
|
|
|
free=dom.getElementsByTagName('free') |
|
if free: |
|
return "free" |
|
|
|
return "free" #default free |
|
|
|
def changeAccessRightMD(self,accessright,RESPONSE=None): |
|
"""change the rights""" |
|
|
|
params="accessright=%s"%accessright |
|
|
|
|
|
#print urllib.urlopen(self.absolute_url()+'/setAccessRightXML'+'?'+params).read() |
|
|
|
|
|
urllib.urlopen('http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/setAccessRightXML'+urllib.quote('?'+params))).read() |
|
|
|
|
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage_main') |
|
|
|
|
|
def setAccessRightXML(self,accessright): |
|
"""set accessright""" |
|
url=self.metalink |
|
|
|
try: |
|
geturl="" |
|
for line in urllib.urlopen(url).readlines(): |
|
geturl=geturl+line |
|
|
|
|
|
except: |
|
return (None,"Cannot open: "+url) |
|
|
|
try: |
|
dom=xml.dom.minidom.parseString(geturl) |
|
root=dom.getElementsByTagName('resource')[0] |
|
except: |
|
return (None,"Cannot parse: "+url+"<br>"+geturl) |
|
|
|
metanodes=dom.getElementsByTagName('access-conditions') |
|
|
|
if not metanodes: |
|
nodenew=dom.createElement('access-conditions') |
|
root.appendChild(nodenew) |
|
metanode=nodenew |
|
else: |
|
metanode=metanodes[0] |
|
|
|
accesses=metanode.getElementsByTagName('access') |
|
|
|
if not accesses: |
|
nodenew2=dom.createElement('access') |
|
metanode.appendChild(nodenew2) |
|
metanode2=nodenew2 |
|
else: |
|
metanode2=accesses[0] |
|
|
|
internal=metanode.getElementsByTagName('internal') |
|
|
|
if internal: |
|
metanode2.removeChild(internal[0]).unlink() |
|
|
|
free=metanode.getElementsByTagName('free') |
|
|
|
if free: |
|
metanode2.removeChild(internal[0]).unlink() |
|
|
|
|
|
if accessright=='free': |
|
nodenew3=dom.createElement('free') |
|
metanode2.appendChild(nodenew3) |
|
elif accessright=='mpiwg': |
|
nodenew3=dom.createElement('internal') |
|
nodenew4=dom.createElement('institution') |
|
metanodetext=dom.createTextNode('mpiwg') |
|
nodenew4.appendChild(metanodetext) |
|
nodenew3.appendChild(nodenew4) |
|
metanode2.appendChild(nodenew3) |
|
|
|
return dom.toxml().encode('utf-8') |
|
|
def setStartPageForm(self): |
def setStartPageForm(self): |
"""Form for changing the startpage""" |
"""Form for changing the startpage""" |
|
|
Line 515 class ECHO_resource(Folder,Persistent):
|
Line 667 class ECHO_resource(Folder,Persistent):
|
|
|
path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server |
path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server |
path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server |
path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server |
|
path=re.sub('http://foxridge.rz-berlin.mpg.de:8080','',path) # falls foxridge als server |
|
path=re.sub('http://foxridge.rz-berlin.mpg.de','',path) # falls foxridge als server |
path=re.sub('/index.meta','',path) |
path=re.sub('/index.meta','',path) |
|
|
|
|
Line 554 class ECHO_resource(Folder,Persistent):
|
Line 707 class ECHO_resource(Folder,Persistent):
|
paramList=['project','startpage','xslt','thumbtemplate','topbar','digiLibTemplate'] |
paramList=['project','startpage','xslt','thumbtemplate','topbar','digiLibTemplate'] |
|
|
|
|
writeMetadata(self.metalink,self.metaDataHash,project,None,xslt,thumbtemplate,topbar,digiLibTemplate) |
#writeMetadata(self.metalink,self.metaDataHash,project,None,xslt,thumbtemplate,topbar,digiLibTemplate) |
|
|
params="project=%s&xslt=%s&thumbtemplate=%s&topbar=%s&digiLibTemplate=%s"%(project,xslt,thumbtemplate,topbar,digiLibTemplate) |
params="project=%s&xslt=%s&thumbtemplate=%s&topbar=%s&digiLibTemplate=%s"%(project,xslt,thumbtemplate,topbar,digiLibTemplate) |
|
|
Line 575 class ECHO_resource(Folder,Persistent):
|
Line 728 class ECHO_resource(Folder,Persistent):
|
path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server |
path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server |
path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server |
path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server |
|
|
|
path=re.sub('http://foxridge.rz-berlin.mpg.de:8080','',path) # falls foxridge als server |
|
path=re.sub('http://foxridge.rz-berlin.mpg.de','',path) # falls foxridge als server |
|
|
return urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines() |
return urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines() |
|
|
Line 584 class ECHO_resource(Folder,Persistent):
|
Line 739 class ECHO_resource(Folder,Persistent):
|
|
|
def getTitle(self): |
def getTitle(self): |
"""title""" |
"""title""" |
return self.title.decode('utf-8','ignore') |
try: |
|
return self.title.encode('utf-8','ignore') |
|
except: |
|
self.title=self.title.decode('iso-8859-1','ignore')[0:] #correnct conding error |
|
return self.title.encode('utf-8','ignore') |
|
|
def getLabel(self): |
def getLabel(self): |
"""title""" |
"""title""" |
return self.label.decode('utf-8','ignore') |
try: |
|
return self.label.encode('utf-8','ignore') |
|
except: |
|
self.label=self.label.decode('iso-8859-1','ignore')[0:] #correnct conding error |
|
return self.label.encode('utf-8','ignore') |
|
|
def content_html(self): |
def content_html(self): |
"""template fuer content""" |
"""template fuer content""" |
Line 608 class ECHO_resource(Folder,Persistent):
|
Line 771 class ECHO_resource(Folder,Persistent):
|
texttools=dom.getElementsByTagName('texttool') |
texttools=dom.getElementsByTagName('texttool') |
text=texttools[0].getElementsByTagName('text') |
text=texttools[0].getElementsByTagName('text') |
texturl=getText(text[0].childNodes) |
texturl=getText(text[0].childNodes) |
self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') |
|
if not noredirect: |
if not noredirect: |
|
self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') |
self.REQUEST.RESPONSE.redirect(texturl) |
self.REQUEST.RESPONSE.redirect(texturl) |
else: |
else: |
return texturl |
return texturl |
Line 753 class ECHO_resource(Folder,Persistent):
|
Line 917 class ECHO_resource(Folder,Persistent):
|
self.contentType=self.bib_type |
self.contentType=self.bib_type |
for data in self.metadata: |
for data in self.metadata: |
data_neu=re.sub('-','_',data) |
data_neu=re.sub('-','_',data) |
self.metaDataHash[data_neu]=getattr(self,data)[0:] |
self.meta |
|
DataHash[data_neu]=getattr(self,data)[0:] |
|
|
|
|
pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resource_metadata.zpt').__of__(self) |
pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resource_metadata.zpt').__of__(self) |
Line 1077 class ECHO_resource(Folder,Persistent):
|
Line 1242 class ECHO_resource(Folder,Persistent):
|
if RESPONSE: |
if RESPONSE: |
return RESPONSE.redirect('manage_main') |
return RESPONSE.redirect('manage_main') |
|
|
def ECHO_getResourceMD(self,template="yes"): |
def ECHO_getResourceMD(self,template="yes",back=None): |
"""Einlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur Resource""" |
"""Einlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur Resource""" |
(metadict, error)=readMetadata(self.metalink) |
(metadict, error)=readMetadata(self.metalink) |
|
|
|
if back: |
|
self.REQUEST.SESSION['back']=back |
|
|
if not error=="": #Fehler beim Auslesen des Metafiles |
if not error=="": #Fehler beim Auslesen des Metafiles |
return "ERROR:",error |
return "ERROR:",error |
Line 1147 class ECHO_resource(Folder,Persistent):
|
Line 1313 class ECHO_resource(Folder,Persistent):
|
|
|
|
|
security.declarePublic('generate_label') # has to be change, presentlyset because of OSAS koordination |
security.declarePublic('generate_label') # has to be change, presentlyset because of OSAS koordination |
|
|
def generate_label(self): |
def generate_label(self): |
"""Erzeugt_standard_Label aus Template""" |
"""Erzeugt_standard_Label aus Template""" |
pt=getattr(self,"label_template_"+self.contentType.lower()) |
pt=getattr(self,"label_template_"+self.contentType.lower()) |
Line 1155 class ECHO_resource(Folder,Persistent):
|
Line 1322 class ECHO_resource(Folder,Persistent):
|
return pt() |
return pt() |
|
|
security.declarePublic('generate_title') # has to be change, presentlyset because of OSAS koordination |
security.declarePublic('generate_title') # has to be change, presentlyset because of OSAS koordination |
|
|
def generate_title(self,RESPONSE=None): |
def generate_title(self,RESPONSE=None): |
"""Erzeugt_standard_Label aus Template""" |
"""Erzeugt_standard_Label aus Template""" |
pt=getattr(self,"label_template_"+self.contentType.lower()) |
pt=getattr(self,"label_template_"+self.contentType.lower()) |
Line 1190 class ECHO_externalLink(Folder):
|
Line 1358 class ECHO_externalLink(Folder):
|
|
|
def getTitle(self): |
def getTitle(self): |
"""title""" |
"""title""" |
return self.title.encode('utf-8') |
try: |
|
return self.title.encode('utf-8','ignore') |
|
except: |
|
self.title=self.title.decode('iso-8859-1','ignore')[0:] #correnct conding error |
|
return self.title.encode('utf-8','ignore') |
|
|
def getLabel(self): |
def getLabel(self): |
"""title""" |
"""title""" |
return self.label.encode('utf-8') |
try: |
|
return self.label.encode('utf-8','ignore') |
|
except: |
|
self.label=self.label.decode('iso-8859-1','ignore')[0:] #correnct conding error |
|
return self.label.encode('utf-8','ignore') |
|
|
def content_html(self): |
def content_html(self): |
"""template fuer content""" |
"""template fuer content""" |
Line 1313 class ECHO_collection(Folder, Persistent
|
Line 1489 class ECHO_collection(Folder, Persistent
|
|
|
path="/mpiwg/online/permanent/shipbuilding" |
path="/mpiwg/online/permanent/shipbuilding" |
|
|
|
def showRDF(self): |
|
ret="""<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ECHONAVIGATION="http://www.echo.eu/rdf#">\n""" |
|
ret+=self.getRDF()+"\n" |
|
ret+="""</RDF:RDF>""" |
|
|
|
def getRDF(self): |
|
"""rdf of the collection""" |
|
contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection']) |
|
|
|
about="""<RDF:Description about="%s">""" |
|
name="""<ECHONAVIGATION:name>%s</ECHONAVIGATION:name>""" |
|
|
|
urn="urn:"+re.sub('/',':',self.absolute_url()) |
|
|
|
about2=about%urn |
|
name2=name%self.getId() |
|
|
|
|
|
ret=about2+"\n"+name2+"\n"+"</RDF:description>" |
|
urn="urn:"+re.sub('/',':',self.absolute_url()) |
|
li="""<RDF:li resource="%s" />\n""" |
|
|
|
|
|
for content in contents: |
|
ret+=content[1].getRDF()+"\n" |
|
|
|
ret+="""<RDF:Seq about="%s"/>\n"""%urn |
|
for content in contents: |
|
nurn="urn:"+re.sub('/',':',content[1].absolute_url()) |
|
ret+=li%nurn |
|
return ret+"</rdf:Seq>" |
|
|
|
|
|
def changeLabels(self): |
|
"""change form""" |
|
pt=PageTemplateFile('Products/ECHO_content/zpt/changeLabelsForm').__of__(self) |
|
pt.content_type="text/html" |
|
return pt() |
|
|
|
def changeTitles(self): |
|
"""change form""" |
|
pt=PageTemplateFile('Products/ECHO_content/zpt/changeTitleForm').__of__(self) |
|
pt.content_type="text/html" |
|
return pt() |
|
|
|
def changeAccessRightsCollection(self): |
|
"""change""" |
|
ret="" |
|
argv=self.REQUEST.form |
|
|
|
resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource']) |
|
for resource in resources: |
|
|
|
try: |
|
ret+=resource[1].getId()+" "+argv[resource[1].getId()]+"</br>" |
|
resource[1].changeAccessRightMD(argv[resource[1].getId()]) |
|
except: |
|
"""not""" |
|
return ret |
|
|
|
def changeLabelsInCollection(self): |
|
"""change all lables of a collection""" |
|
ret="" |
|
argv=self.REQUEST.form |
|
|
|
resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource']) |
|
for resource in resources: |
|
|
|
try: |
|
ret+=resource[1].getId()+" "+argv[resource[1].getId()]+"</br>" |
|
resource[1].label=argv[resource[1].getId()][0:] |
|
except: |
|
"""not""" |
|
return ret |
|
|
|
def changeTitlesInCollection(self): |
|
"""change all lables of a collection""" |
|
ret="" |
|
argv=self.REQUEST.form |
|
|
|
resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource']) |
|
for resource in resources: |
|
|
|
try: |
|
ret+=resource[1].getId()+" "+argv[resource[1].getId()]+"</br>" |
|
resource[1].title=argv[resource[1].getId()][0:] |
|
except: |
|
"""not""" |
|
return ret |
|
|
def updateCollection(self,RESPONSE=None): |
def updateCollection(self,RESPONSE=None): |
"""liest verzeichnisse aus dem pfad und legt sie dann als objekte in den ordner""" |
"""liest verzeichnisse aus dem pfad und legt sie dann als objekte in den ordner""" |
files=os.listdir(self.path) |
files=os.listdir(self.path) |
Line 1466 class ECHO_collection(Folder, Persistent
|
Line 1732 class ECHO_collection(Folder, Persistent
|
|
|
def getTitle(self): |
def getTitle(self): |
"""title""" |
"""title""" |
return self.title.encode('utf-8') |
try: |
|
return self.title.encode('utf-8','ignore') |
|
except: |
|
self.title=self.title.decode('iso-8859-1','ignore')[0:] #correnct conding error |
|
return self.title.encode('utf-8','ignore') |
|
|
def getLabel(self): |
def getLabel(self): |
"""title""" |
"""title""" |
return self.label.encode('utf-8') |
try: |
|
return self.label.encode('utf-8','ignore') |
|
except: |
|
self.label=self.label.decode('iso-8859-1','ignore')[0:] #correnct conding error |
|
return self.label.encode('utf-8','ignore') |
|
|
def createRessourcesFromXMLForm(self): |
def createRessourcesFromXMLForm(self): |
"""form""" |
"""form""" |
Line 1493 class ECHO_collection(Folder, Persistent
|
Line 1765 class ECHO_collection(Folder, Persistent
|
ret+="<p>"+label+"</p>" |
ret+="<p>"+label+"</p>" |
manage_addECHO_resource(self,id,label.encode('ascii'),label.encode('ascii'),"","","",link.encode('ascii'),"","") |
manage_addECHO_resource(self,id,label.encode('ascii'),label.encode('ascii'),"","","",link.encode('ascii'),"","") |
return ret |
return ret |
|
|
def getImageTag(self): |
def getImageTag(self): |
"""GetTag""" |
"""GetTag""" |
try: |
try: |
Line 1670 class ECHO_collection(Folder, Persistent
|
Line 1943 class ECHO_collection(Folder, Persistent
|
|
|
security.declarePublic('ECHO_rerenderLinksMD') |
security.declarePublic('ECHO_rerenderLinksMD') |
|
|
def ECHO_rerenderLinksMD(self,obj=None): |
def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']): |
"""Rerender all Links""" |
"""Rerender all Links""" |
ret="" |
ret="" |
|
|
Line 1683 class ECHO_collection(Folder, Persistent
|
Line 1956 class ECHO_collection(Folder, Persistent
|
if entry[1].meta_type == 'ECHO_resource': |
if entry[1].meta_type == 'ECHO_resource': |
try: |
try: |
entry[1].ECHO_getResourceMD(template="no") |
entry[1].ECHO_getResourceMD(template="no") |
|
if "title" in types: |
entry[1].generate_title() |
entry[1].generate_title() |
|
if "label" in types: |
entry[1].generate_label() |
entry[1].generate_label() |
ret+="OK:"+entry[0]+"-- "+entry[1].getLabel().decode('utf-8')+"-- "+entry[1].getTitle().decode('utf-8')+"<br>" |
ret+="OK:"+entry[0]+"-- "+entry[1].getTitle().decode('utf-8')+"-- "+entry[1].getTitle().decode('utf-8')+"<br>" |
except: |
except: |
ret+="Error:"+entry[0]+"<br>" |
ret+="Error:"+entry[0]+"<br>" |
|
|
Line 1732 class ECHO_collection(Folder, Persistent
|
Line 2007 class ECHO_collection(Folder, Persistent
|
|
|
manage_options = Folder.manage_options+( |
manage_options = Folder.manage_options+( |
{'label':'Main Config','action':'ECHO_collection_config'}, |
{'label':'Main Config','action':'ECHO_collection_config'}, |
{'label':'Rerender Links','action':'ECHO_rerenderLinksMD'}, |
{'label':'Change Labels','action':'changeLabels'}, |
|
{'label':'Change Titles','action':'changeTitles'}, |
|
{'label':'Rerender Labels and Titles','action':'ECHO_rerenderLinksMD'}, |
{'label':'Graphics','action':'ECHO_graphicEntry'}, |
{'label':'Graphics','action':'ECHO_graphicEntry'}, |
{'label':'create resources from XML','action':'createRessourcesFromXMLForm'}, |
{'label':'create resources from XML','action':'createRessourcesFromXMLForm'}, |
{'label':'Change Viewer Templates','action':'changeViewerTemplateSetsForm'}, |
{'label':'Change Viewer Templates','action':'changeViewerTemplateSetsForm'}, |
Line 1947 class ECHO_group(ECHO_collection):
|
Line 2224 class ECHO_group(ECHO_collection):
|
) |
) |
|
|
security.declareProtected('View','index_html') |
security.declareProtected('View','index_html') |
|
|
|
def getRDF(self): |
|
"""rdf of the collection""" |
|
contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection']) |
|
|
|
urn="urn:"+re.sub('/',':',self.absolute_url()) |
|
li="""<RDF:li resource="%s" />\n""" |
|
ret="" |
|
|
|
for content in contents: |
|
ret+=content[1].getRDF()+"\n" |
|
|
|
ret+="""<RDF:Seq about="%s"/>\n"""%urn |
|
for content in contents: |
|
nurn="urn:"+re.sub('/',':',content[1].absolute_url()) |
|
ret+=li%nurn |
|
return ret+"</rdf:Seq>" |
|
|
def index_html(self): |
def index_html(self): |
"""standard page""" |
"""standard page""" |
displayedObjects=self.ZopeFind(self,obj_metatypes=displayTypes) |
displayedObjects=self.ZopeFind(self,obj_metatypes=displayTypes) |
Line 2615 class ECHO_root(Folder,Persistent,Implic
|
Line 2910 class ECHO_root(Folder,Persistent,Implic
|
for resource in self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1): |
for resource in self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1): |
|
|
echo_url=resource[1].absolute_url() |
echo_url=resource[1].absolute_url() |
if resource[1].getFullTextXML(noredirect="yes"): |
|
if hasattr(resource[1],'link'): |
if hasattr(resource[1],'link'): |
viewer_url=echo_url+"/getMetaDataXML" |
meta_url=echo_url+"/getMetaDataXML" |
else: |
else: |
viewer_url="NO URL" |
meta_url="NO_URL" |
if filter: |
|
if re.search(filter,viewer_url): |
if filter and not re.search(filter,viewer_url): |
ret+="""\n<resource echoLink="%s" viewerLink="%s"/>"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(viewer_url,safe='/:?')) |
continue |
else: |
|
ret+="""\n<resource echoLink="%s" viewerLink="%s"/>"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(viewer_url,safe='/:?')) |
ret+="""\n<resource resourceLink="%s" metaLink="%s"/>"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(meta_url,safe='/:?')) |
|
|
ret +="""\n</index>""" |
ret +="""\n</index>""" |
|
|
|
|