Diff for /ECHO_content/ECHO_collection.py between versions 1.166 and 1.167

version 1.166, 2004/08/28 01:06:03 version 1.167, 2004/08/31 17:20:31
Line 520  class ECHO_copyright(Folder): Line 520  class ECHO_copyright(Folder):
         {'label':'Main Config','action':'ECHO_copyright_configForm'},          {'label':'Main Config','action':'ECHO_copyright_configForm'},
         )          )
   
   
     def ECHO_copyright_configForm(self):      def ECHO_copyright_configForm(self):
         """change form"""          """change form"""
         pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_copyright').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_copyright').__of__(self)
Line 2941  def manage_addECHO_userFolderForm(self): Line 2942  def manage_addECHO_userFolderForm(self):
     """add a user folder form"""      """add a user folder form"""
     return manage_addECHO_userFolder(self)      return manage_addECHO_userFolder(self)
   
 def getEdges(seqs,urn):  
     """edges"""  
     ret=[]  
     #print urn,seqs  
     for seqsList in seqs[urn]:  
           
         try:  
             for seq in seqsList:  
                 ret+=seq.getElementsByTagName("RDF:li")  
         except:  
                 ret+=seqsList.getElementsByTagName("RDF:li")  
     return ret  
   
 def createSubs(self,seqs,descrs,urn):  
     """create subs"""  
     for edge in getEdges(seqs,urn):  
         cn=createNode(self,descrs[edge.getAttribute('RDF:resource')])  
         if cn[0]=="CDLI_group":  
             #print "HHHHHH",cn[1],seqs,descrs,cn[2]  
             createSubs(cn[1],seqs,descrs,cn[2])  
 def getEdges2(seqs,urn):  
     """edges"""  
     ret=[]  
     #print urn,seqs  
   
     return seqs[urn]  
   
 def createSubs2(self,seqs,descrs,urn,level=0):  
     """create subs"""  
           
     for edge in getEdges2(seqs,urn):  def createNode(self,descrs,node):
         print "urnXX",urn.encode('utf-8'),level  
         cn=createNode2(self,descrs,edge)  
         if cn[0]=="CDLI_group":  
   
             createSubs2(cn[1],seqs,descrs,cn[2],level+1)  
             print "urnddonesubs",urn.encode('utf-8')  
         print "urndonenode",urn.encode('utf-8')  
     return  
   
 def createNode2(self,descrs,node):  
     name=descrs[node]['name']      name=descrs[node]['name']
     type=descrs[node]['type']      type=descrs[node]['type']
     urn=node      urn=node
     print "    will create",node.encode('utf-8')      #print "    will create",node.encode('utf-8')
     id=re.sub('[^a-zA-Z0-9]','',name).encode('ascii','ignore')      id=re.sub('[^a-zA-Z0-9]','',name).encode('ascii','ignore')
     #print "id",id      #print "id",id
     #print type      #print type
Line 3012  def createNode2(self,descrs,node): Line 2975  def createNode2(self,descrs,node):
                   
     return "XX"      return "XX"
   
 def createNode(self,nodes):  
     for node in nodes:  
         name=getTextFromNode(node.getElementsByTagName("ECHONAVIGATION:name")[0])  
         type=getTextFromNode(node.getElementsByTagName("ECHONAVIGATION:type")[0])  
         urn=node.getAttribute("RDF:about")  
           
         id=re.sub('[^a-zA-Z0-9]','',name).encode('ascii','ignore')  
         #print "id",id  
         #print type  
         self.REQUEST.RESPONSE.write("<p>%s</p>\n"%id)  
         if type=="CDLI_group":  
             print self.getId()  
           
             manage_addECHO_collection(self,id,name,name,"","","","","")  
             print "done::::",getattr(self,id)  
             return type,getattr(self,id),urn  
   
         if type=="CDLI_item":  
             manage_addECHO_resource(self,id,name,name,"","",urn,"","")  
         return "XX"  
           
           
   
 class ECHO_root(Folder,Persistent,Implicit):  class ECHO_root(Folder,Persistent,Implicit):
     """ECHO Root Folder"""      """ECHO Root Folder"""
Line 3042  class ECHO_root(Folder,Persistent,Implic Line 2983  class ECHO_root(Folder,Persistent,Implic
           
     meta_type="ECHO_root"      meta_type="ECHO_root"
   
       ###CDLI adds -> have to be removed
     def getTablet(self,item):      def getTablet(self,item):
         print "getTablet"          #print "getTablet"
       try:
         read=urllib.urlopen("http://enlil.museum.upenn.edu/cgi-bin/cdlget.plx?item=%s&project=ncdl"%item).read()          read=urllib.urlopen("http://enlil.museum.upenn.edu/cgi-bin/cdlget.plx?item=%s&project=ncdl"%item).read()
         print "gotTablet"  
         read=re.sub("\[search\]","search",read)          read=re.sub("\[search\]","search",read)
         print "reggotTablet"  
         return read[read.find("<body>")+6:read.rfind("</body>")]          return read[read.find("<body>")+6:read.rfind("</body>")]
       except:
           return "<h1>Sorry no connection to the data server enlil.museum.upenn.edu</h1>"
       #return "http://enlil.museum.upenn.edu/cgi-bin/cdlget.plx?item=%s&project=ncdl"
       ###END CDLI add
   
       
       def generateFromRDFForm(self):
           """change form"""
           pt=PageTemplateFile('Products/ECHO_content/zpt/generateFromRDFForm').__of__(self)
           pt.content_type="text/html"
           return pt()
   
       def generateFromRDF(self,file,startNode="/Cuneiform Corpus"):
   
           """generate from RDF"""
   
     def generateFromRDF2(self):  
         """generate from RDF2"""  
         global seqs          global seqs
         seqs={}          seqs={}
         global descrs          global descrs
Line 3060  class ECHO_root(Folder,Persistent,Implic Line 3014  class ECHO_root(Folder,Persistent,Implic
         key=""          key=""
         global value          global value
         value=""          value=""
   
           def getEdges(seqs,urn):
               """edges"""
               ret=[]
               return seqs[urn]
   
           def createSubs(self,seqs,descrs,urn,level=0):
               """create subs"""
               for edge in getEdges(seqs,urn):
                   cn=createNode(self,descrs,edge)
                   if cn[0]=="CDLI_group":
                       createSubs(cn[1],seqs,descrs,cn[2],level+1)
               return
   
         def start_element(name,attrs):          def start_element(name,attrs):
   
             global seqs              global seqs
Line 3116  class ECHO_root(Folder,Persistent,Implic Line 3084  class ECHO_root(Folder,Persistent,Implic
         p.StartElementHandler = start_element          p.StartElementHandler = start_element
         p.EndElementHandler = end_element          p.EndElementHandler = end_element
         p.CharacterDataHandler = char_data          p.CharacterDataHandler = char_data
         fileName="/Users/dwinter/Documents/Projekte/CDLI/test11.rdf"  
                   
         p.ParseFile(file(fileName))          
           p.ParseFile(file)
         self.REQUEST.RESPONSE.write("<html><body><h1>Start</h1>")          self.REQUEST.RESPONSE.write("<html><body><h1>Start</h1>")
         createSubs2(self,seqs,descrs,"/Cuneiform Corpus")          createSubs(self,seqs,descrs,startNode)
         self.REQUEST.RESPONSE.write("<h1>done</h1></body></html>")          self.REQUEST.RESPONSE.write("<h1>done</h1></body></html>")
         print "done"          #print "done"
   
                   
         return "done"          return "done"
           
     def generateFromRDF(self):  
         """generate Structure from rdf"""  
         dom=xml.dom.minidom.parse("/Users/dwinter/Documents/Projekte/CDLI/test10.rdf")  
         seqs={}  
         descrs={}  
         for seq in dom.getElementsByTagName("RDF:Seq"):  
            key=seq.getAttribute('RDF:about')  
            try:  
                seqs[key].append(seq)  
            except:  
                seqs[key]=[seq]  
   
           
         for descr in dom.getElementsByTagName("RDF:Description"):  
            key=descr.getAttribute('RDF:about')  
            try:  
                descrs[key].append(descr)  
            except:  
                descrs[key]=[descr]  
         createSubs(self,seqs,descrs,"echo:collectionroot")  
                   
                   
                   
Line 3176  class ECHO_root(Folder,Persistent,Implic Line 3124  class ECHO_root(Folder,Persistent,Implic
         {'label':'Main Config','action':'ECHO_copyright_configForm'},          {'label':'Main Config','action':'ECHO_copyright_configForm'},
         {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'},          {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'},
         {'label':'Change Weights','action':'changeWeights'},          {'label':'Change Weights','action':'changeWeights'},
           {'label':'Generate from RDF','action':'generateFromRDFForm'},
   
         )          )
   
           
Line 3442  class ECHO_root(Folder,Persistent,Implic Line 3392  class ECHO_root(Folder,Persistent,Implic
                                   
         return "changed all contenttypes in: "+self.title          return "changed all contenttypes in: "+self.title
           
       def deleteCache(self,obj=None,RESPONSE=None):
     def setCache(self,obj=None,RESPONSE=None):  
         """setze alle collections auf cache = CacheManager"""          """setze alle collections auf cache = CacheManager"""
   
   
         if not obj:          if not obj:
             obj = self              obj = self
                           
         entries=obj.ZopeFind(obj,obj_metatypes=['ECHO_collection'],search_sub=1)          entries=obj.ZopeFind(obj,search_sub=1)
   
         for entry in entries:          for entry in entries:
             print entry[0]          if hasattr(entry[1],'_v_hash'):
             entry[1].ZCacheable_setManagerId('CacheManager')              entry[1]._v_hash=None
               
   
   
                   
         return "changed all CM in: "+self.title          return "changed all CM in: "+self.title
           
   
       
     def ECHO_newViewerLink(self,obj=None):      def ECHO_newViewerLink(self,obj=None):
         """change links (:86 faellt weg)"""          """change links (:86 faellt weg)"""
   
Line 3539  class ECHO_root(Folder,Persistent,Implic Line 3492  class ECHO_root(Folder,Persistent,Implic
   
     def xml2html(self,str,quote="yes"):      def xml2html(self,str,quote="yes"):
         """link2html fuer VLP muss hier noch raus"""          """link2html fuer VLP muss hier noch raus"""
     print str      #print str
         if str:          if str:
             if quote=="yes2":              if quote=="yes2":
                 str=re.sub("\&","&amp;",str)                  str=re.sub("\&","&amp;",str)

Removed from v.1.166  
changed lines
  Added in v.1.167


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>