Diff for /ECHO_content/ECHO_collection.py between versions 1.102 and 1.121

version 1.102, 2004/06/07 14:53:55 version 1.121, 2004/06/18 13:29:18
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\(%s\)</a>"""%(link,copyright[1],label,copyright[0]),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("\&","&amp;",str)              str=re.sub("\&","&amp;",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("\&","&amp;",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,copyrightType, 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.

Removed from v.1.102  
changed lines
  Added in v.1.121


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