version 1.189, 2004/11/24 15:17:04
|
version 1.190, 2004/11/27 22:38:43
|
Line 222 def manage_addECHO_layoutTemplate(self,
|
Line 222 def manage_addECHO_layoutTemplate(self,
|
REQUEST.RESPONSE.redirect(u+'/manage_main') |
REQUEST.RESPONSE.redirect(u+'/manage_main') |
return '' |
return '' |
|
|
class ECHO_fullText(ZopePageTemplate,ECHO_basis): |
class ECHO_fullText(ZopePageTemplate,ECHO_basis,ECHO_language): |
"""echo fulltext in xml""" |
"""echo fulltext in xml""" |
|
|
meta_type="ECHO_fullText" |
meta_type="ECHO_fullText" |
|
|
def donatusVariant2Lemma(self,nr='1'): |
|
"""analyze by donatus""" |
|
return donatusVariant2Lemma(donatus(self.lemmatize(nr))) |
|
|
|
def tagLex(self,nr="1"): |
|
"""generate Links""" |
|
global retLex |
|
global toggle |
|
|
|
toggle=0 |
|
retLex="" |
|
|
|
lemmatized=self.lemmatize(nr)[0:] |
|
#print "ho",repr(lemmatized) |
|
variants=donatusVariant2Lemma(donatus(lemmatized)) |
|
|
|
def createTag(name,attrs): |
|
global toggle |
|
|
|
if name=="w": |
|
toggle=1 |
|
return "" |
|
else: |
|
tag="<" |
|
tag+=name |
|
for attr in attrs.keys(): |
|
tag+=""" %s="%s" """%(attr,attrs[attr]) |
|
tag+=">" |
|
return tag |
|
|
|
def createData(data): |
|
global toggle |
|
astring="""<a href="http://141.14.236.86/cgi-bin/toc/dict?step=remotetable;word=%s;lang=de" target="_blank">%s</a> """ |
|
if toggle: # tag war ein w |
|
toggle=0 |
|
if variants.has_key(data): |
|
return astring%(variants[data][0],data) |
|
else: |
|
return astring%(data,data) |
|
|
|
|
|
|
|
# 3 handler functions |
|
def start_element(name, attrs): |
|
global retLex |
|
|
|
retLex+=createTag(name,attrs) |
|
def end_element(name): |
|
global retLex |
|
if not name=="w": |
|
retLex+="</%s>"%(name.encode('utf-8')) |
|
|
|
|
|
def char_data(data): |
|
global retLex |
|
if data: |
|
try: |
|
retLex+=createData(data) |
|
except: |
|
"""no""" |
|
|
|
p = xml.parsers.expat.ParserCreate() |
|
|
|
p.StartElementHandler = start_element |
|
p.EndElementHandler = end_element |
|
p.CharacterDataHandler = char_data |
|
|
|
p.Parse(lemmatized.encode('utf-8'),1) |
|
#print repr(lemmatized.encode('utf-8')) |
|
|
|
return retLex |
|
|
|
|
|
def lemmatize(self,nr='1',lang="de"): |
|
"""lemmatize""" |
|
global ret |
|
ret="" |
|
|
|
def createTag(name,attrs): |
|
tag="<" |
|
tag+=name |
|
for attr in attrs.keys(): |
|
tag+=""" %s="%s" """%(attr,attrs[attr]) |
|
tag+=">" |
|
return tag |
|
|
|
def insertW(str): |
|
splitted=str.split() |
|
wordlist=["<w>%s</w>"%split for split in splitted] |
|
return string.join(wordlist,'\n') |
|
|
|
# 3 handler functions |
|
def start_element(name, attrs): |
|
global ret |
|
ret+=createTag(name,attrs) |
|
def end_element(name): |
|
global ret |
|
ret+="</%s>"%(name.encode('utf-8')) |
|
|
|
def char_data(data): |
|
global ret |
|
ret+=insertW(data) |
|
|
|
p = xml.parsers.expat.ParserCreate() |
|
|
|
p.StartElementHandler = start_element |
|
p.EndElementHandler = end_element |
|
p.CharacterDataHandler = char_data |
|
|
|
p.Parse(self.getPage(nr), 1) |
|
txt="""<wtag locator="xxx"> |
|
<section lang="%s"><s>%s</s></section> |
|
</wtag>""" |
|
ret=txt%(lang,ret) |
|
|
|
return ret |
|
|
|
def getPage(self,nr='1'): |
def getPage(self,nr='1'): |
"""get page n""" |
"""get page n""" |
Line 399 class ECHO_resource(Folder,Persistent,EC
|
Line 283 class ECHO_resource(Folder,Persistent,EC
|
|
|
security.declareProtected('View','index_html') |
security.declareProtected('View','index_html') |
|
|
def showRDF(self): |
|
"""showrdf""" |
|
self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') |
|
ret="""<?xml version="1.0" encoding="utf-8"?>\n<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(urn="echo:colllectionroot")+"\n" |
|
|
|
ret+="""</RDF:RDF>""" |
|
return ret |
|
|
|
def getRDF(self,urn=None): |
def getRDF(self,urn=None): |
"""rdf""" |
"""rdf""" |
ret=getRDFDescription(self,self.link,urn=urn) |
ret=getRDFDescription(self,self.link,urn=urn) |
return ret+self.createSubElementRDF(urn=urn) |
return ret+self.createSubElementRDF(urn=urn) |
|
|
|
|
def createSubElementRDF(self,urn=None): |
|
"""rdf list""" |
|
if not urn: |
|
urn=self.absolute_url() |
|
ret="" |
|
|
|
rettemp="""<RDF:Seq RDF:about="%s">\n"""%urn |
|
flag=0 |
|
|
|
li="""<RDF:li RDF:resource="%s" />\n""" |
|
if not ('<error>' in self.getFullTextXML(noredirect='Yes')): |
|
nurn=self.absolute_url()+'/getFullTextXML' |
|
rettemp+=li%nurn |
|
flag=1 |
|
if not ('<error>' in self.getImageView(noredirect='Yes')): |
|
nurn=self.absolute_url()+'/getImageView' |
|
rettemp+=li%nurn |
|
flag=1 |
|
|
|
|
|
if not ('<error>' in self.showMetaDataXML()): |
|
nurn=self.absolute_url()+'/showMetaDataXML' |
|
rettemp+=li%nurn |
|
flag=1 |
|
|
|
rettemp+="</RDF:Seq>" |
|
|
|
if flag==1: |
|
ret+=rettemp |
|
|
|
if not ('<error>' in self.getFullTextXML(noredirect='Yes')): |
|
nurn=self.absolute_url()+'/getFullTextXML' |
|
ret+=getRDFDescription(self,self.absolute_url()+'/getFullTextXML',urn=nurn,nameDef="Fulltext",typeName="ECHO_fulltext") |
|
|
|
if not ('<error>' in self.getImageView(noredirect='Yes')): |
|
nurn=self.absolute_url()+'/getImageView' |
|
ret+=getRDFDescription(self,self.absolute_url()+'/getImageView',urn=nurn,nameDef="Image View",typeName="ECHO_imageview") |
|
|
|
if not ('<error>' in self.showMetaDataXML()): |
|
nurn=self.absolute_url()+'/showMetaDataXML' |
|
ret+=getRDFDescription(self,self.absolute_url()+'/showMetaDataXML',urn=nurn,nameDef="Metadata",typeName="ECHO_metaData") |
|
|
|
return ret |
|
|
|
def getAccessRightSelectorHTML(self,outlook="select"): |
def getAccessRightSelectorHTML(self,outlook="select"): |
"""htmlselector""" |
"""htmlselector""" |
values=['free','mpiwg'] |
values=['free','mpiwg'] |
Line 1572 class ECHO_collection(Folder, Persistent
|
Line 1403 class ECHO_collection(Folder, Persistent
|
return ret+"</RDF:Seq>" |
return ret+"</RDF:Seq>" |
|
|
|
|
def showRDF(self): |
|
"""showrdf""" |
|
self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') |
|
ret="""<?xml version="1.0" encoding="utf-8"?>\n<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(urn="echo:collectionroot")+"\n" |
|
|
|
ret+="""</RDF:RDF>""" |
|
|
|
return ret |
|
|
|
|
|
|
|
def changeLabels(self): |
def changeLabels(self): |
"""change form""" |
"""change form""" |
Line 2365 class ECHO_group(ECHO_collection):
|
Line 2185 class ECHO_group(ECHO_collection):
|
|
|
security.declareProtected('View','index_html') |
security.declareProtected('View','index_html') |
|
|
def showRDF(self): |
|
"""showrdf""" |
|
self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') |
|
ret="""<?xml version="1.0" encoding="utf-8"?>\n<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(urn="echo:collectionroot")+"\n" |
|
|
|
ret+="""</RDF:RDF>""" |
|
|
|
return ret |
|
|
|
def getRDF(self,urn=None): |
def getRDF(self,urn=None): |
"""rdf of the collection""" |
"""rdf of the collection""" |
Line 2820 class ECHO_root(Folder,Persistent,Implic
|
Line 2631 class ECHO_root(Folder,Persistent,Implic
|
) |
) |
|
|
|
|
def showRDF(self): |
|
"""showrdf""" |
|
self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') |
|
ret="""<?xml version="1.0" encoding="utf-8"?>\n<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(urn="echo:collectionroot")+"\n" |
|
|
|
ret+="""</RDF:RDF>""" |
|
return ret |
|
|
|
|
|
def reloadMetaDataFromStorageWarning(self,RESPONSE=None): |
def reloadMetaDataFromStorageWarning(self,RESPONSE=None): |
"""warning""" |
"""warning""" |