Diff for /ECHO_content/ECHO_collection.py between versions 1.183 and 1.188

version 1.183, 2004/10/27 14:53:00 version 1.188, 2004/11/10 16:32:11
Line 29  from Products.PageTemplates.PageTemplate Line 29  from Products.PageTemplates.PageTemplate
 from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate  from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
 from Globals import Persistent, package_home  from Globals import Persistent, package_home
 from Acquisition import Implicit  from Acquisition import Implicit
 from ECHO_helpers import displayTypes, getText,readFieldFromXML  from ECHO_helpers import *
 import urllib  import urllib
 import smtplib  import smtplib
 import time  import time
Line 263  def content_html(self,type): Line 263  def content_html(self,type):
             pt.content_type="text/html"              pt.content_type="text/html"
             return pt()              return pt()
           
 def toList(field):  
     """Einzelfeld in Liste umwandeln"""  
     if type(field)==StringType:  
         return [field]  
     else:  
         return field  
           
   
   
Line 305  class BrowserCheck: Line 299  class BrowserCheck:
     """check the browsers request to find out the browser type"""      """check the browsers request to find out the browser type"""
           
     def __init__(self, zope):      def __init__(self, zope):
           """initialisiere"""
     self.ua = zope.REQUEST.get_header("HTTP_USER_AGENT")      self.ua = zope.REQUEST.get_header("HTTP_USER_AGENT")
     self.isN4 = (string.find(self.ua, 'Mozilla/4.') > -1) and (string.find(self.ua, 'MSIE') < 0)      self.isN4 = (string.find(self.ua, 'Mozilla/4.') > -1) and (string.find(self.ua, 'MSIE') < 0)
     self.isIE = string.find(self.ua, 'MSIE') > -1      self.isIE = string.find(self.ua, 'MSIE') > -1
Line 317  class BrowserCheck: Line 312  class BrowserCheck:
     self.isIEWin = self.isIE and self.isWin      self.isIEWin = self.isIE and self.isWin
     self.isIEMac = self.isIE and self.isMac      self.isIEMac = self.isIE and self.isMac
   
   class Hello(Folder):
       """helloo"""
       def __init__(self):
           self.test=test
   
       meta_type="ECHO_copyright"
       
       
       
       def __init__(self,id,title,copyrights):
           """init"""
           self.title=title
           self.id=id
           self.copyrights=copyrights[0:]
   
       def getCopyrights(self):
           """return coyprights"""
           return self.copyrights
               
       manage_options = Folder.manage_options+(
           {'label':'Main Config','action':'ECHO_copyright_configForm'},
           )
   
   
       def ECHO_copyright_configForm(self):
           """change form"""
           pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_copyright').__of__(self)
           pt.content_type="text/html"
           return pt()
   
       def ECHO_copyright_config(self,title,RESPONSE=None):
           """change"""
           self.title=title
           self.copyrights=[]
           self.copyrights=getCopyrightsFromForm(self,self.REQUEST.form)[0:]
   
           if RESPONSE is not None:
               RESPONSE.redirect('manage_main')
   
   
                   
Line 1011  class ECHO_resource(Folder,Persistent): Line 1044  class ECHO_resource(Folder,Persistent):
     def createImageUrl(self,pn=1):      def createImageUrl(self,pn=1):
         """create ImageUrl"""          """create ImageUrl"""
                   
         resourcepath=readFieldFromXML(self.metalink,'resource','archive-path').replace('/mpiwg/online','')          
           resourcepath=readFieldFromXML(self.metalink,'resource','archive-path')
                   
         digiliburlprefix=readFieldFromXML(self.metalink,'texttool','digiliburlprefix')          digiliburlprefix=readFieldFromXML(self.metalink,'texttool','digiliburlprefix')
         images=readFieldFromXML(self.metalink,'texttool','image')          images=readFieldFromXML(self.metalink,'texttool','image')
                   
   
           if (not resourcepath) or (not digiliburlprefix) or (not images):
               zLOG.LOG("ECHO (createImageUrl)",zLOG.ERROR,"Cannot create ImageUrl for %s"%self.absolute_url())
               return None
           resourcepath=resourcepath.replace('/mpiwg/online','')
         if not digiliburlprefix: digiliburlprefix="http://echo.mpiwg-berlin.mpg.de/zogilib?"          if not digiliburlprefix: digiliburlprefix="http://echo.mpiwg-berlin.mpg.de/zogilib?"
   
         if (not images) or (not resourcepath): return None          if (not images) or (not resourcepath): return None
Line 1028  class ECHO_resource(Folder,Persistent): Line 1067  class ECHO_resource(Folder,Persistent):
         resourcepath=readFieldFromXML(self.metalink,'resource','archive-path')          resourcepath=readFieldFromXML(self.metalink,'resource','archive-path')
         if (not presentationXML) or (not resourcepath):           if (not presentationXML) or (not resourcepath): 
         if RESPONSE:          if RESPONSE:
             RESPONSE.write("Error: %s"%self.getId())              RESPONSE.write("Error: %s\n"%self.getId())
         else:          else:
             return None,self.getId()              return None,self.absolute_url()
   
         print os.path.join(resourcepath,presentationXML)          try:
         fh=file(os.path.join(resourcepath,presentationXML),'w')          fh=file(os.path.join(resourcepath,presentationXML),'w')
         fh.write("""<info>          fh.write("""<info>
         <author></author>          <author></author>
Line 1042  class ECHO_resource(Folder,Persistent): Line 1081  class ECHO_resource(Folder,Persistent):
         </info>"""%self.title)          </info>"""%self.title)
         fh.close()          fh.close()
         return 1,self.getId()          return 1,self.getId()
           except:
               if RESPONSE:
                   RESPONSE.write("Error: %s\n"%self.getId())
               else:
                   return None,self.absolute_url()
   
                   
     def setStartPage(self,startpage=None,RESPONSE=None):      def setStartPage(self,startpage=None,RESPONSE=None):
         """set start page, if no startpage defined use the generic one of the resource"""          """set start page, if no startpage defined use the generic one of the resource"""
Line 1183  class ECHO_resource(Folder,Persistent): Line 1228  class ECHO_resource(Folder,Persistent):
         """getFullTextXML; gives the FullText as an XML Document, and <error></error> if somthing goes wrong."""          """getFullTextXML; gives the FullText as an XML Document, and <error></error> if somthing goes wrong."""
   
         try:          try:
             zLOG.LOG("ECHO Fulltext",zLOG.INFO,"open %s"%self.metalink)              #zLOG.LOG("ECHO Fulltext",zLOG.INFO,"open %s"%self.metalink)
             fh=ECHO_helpers.urlopen(self.metalink)              fh=ECHO_helpers.urlopen(self.metalink)
             zLOG.LOG("ECHO Fulltext",zLOG.INFO,"opened %s"%self.metalink)              #zLOG.LOG("ECHO Fulltext",zLOG.INFO,"opened %s"%self.metalink)
             dom=xml.dom.minidom.parse(fh)              dom=xml.dom.minidom.parse(fh)
             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)
   
             zLOG.LOG("ECHO Fulltext",zLOG.INFO,"found %s"%texturl)              #zLOG.LOG("ECHO Fulltext",zLOG.INFO,"found %s"%texturl)
                     fh.close()                      fh.close()
             zLOG.LOG("ECHO Fulltext",zLOG.INFO,"closed fh")              #zLOG.LOG("ECHO Fulltext",zLOG.INFO,"closed fh")
             #keine url              #keine url
             if not (texturl.split(":")[0] in ['http','ftp','file']):               if not (texturl.split(":")[0] in ['http','ftp','file']): 
             if not noredirect:              if not noredirect:
Line 2224  class ECHO_collection(Folder, Persistent Line 2269  class ECHO_collection(Folder, Persistent
         author and date werden leer!!!          author and date werden leer!!!
         """          """
   
         resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource','ECHO_collection'])  
   
           resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1)
                           
         for resource in resources:  
         if resource[1].meta_type=="ECHO_collection":  
                                                               
             resource[1].copyTitleToInfoXMLFolder(RESPONSE)          for resource in resources:
         else:  
             ret,txt=resource[1].copyTitleToInfoXML()              ret,txt=resource[1].copyTitleToInfoXML()
             if (not ret) and RESPONSE:              if (not ret) and RESPONSE:
             RESPONSE.write("error: %s\n"%txt)              RESPONSE.write("error: %s\n"%txt)
                     if ret and RESPONSE:                      if ret and RESPONSE:
             RESPONSE.write("ok: %s\n"%txt)              RESPONSE.write("ok: %s\n"%txt)
                           
             zLOG.LOG("ECHO",zLOG.INFO,txt)                 #zLOG.LOG("ECHO (copyTitleToInfoXMLFolder)",zLOG.INFO,txt)   
         if RESPONSE is not None:          if RESPONSE is not None:
               RESPONSE.write("done!\n")
               RESPONSE.close()
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
                           
     def copySearchFields(self,RESPONSE=None):      def copySearchFields(self,RESPONSE=None):
Line 3098  class ECHO_root(Folder,Persistent,Implic Line 3142  class ECHO_root(Folder,Persistent,Implic
     #return "http://enlil.museum.upenn.edu/cgi-bin/cdlget.plx?item=%s&project=ncdl"      #return "http://enlil.museum.upenn.edu/cgi-bin/cdlget.plx?item=%s&project=ncdl"
     ###END CDLI add      ###END CDLI add
   
   
       def checkResource(self,id):
           """checks if a resource is in the tree, gives back none or list of resources"""
           if hasattr(self,"_v_checkResource") and self._v_checkResource.has_key(id): #existiert ein cache und id ist bereits drin?
                   return self._v_checkResource[id]
   
           else:
               resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],obj_ids=[id],search_sub=1)
   
               if not hasattr(self,"_v_checkResource"): self._v_checkResource={}#lege cache an falls nicht existent
               if resources:
                   self._v_checkResource[id]=resources[0:] # slicing to be sure that data is stabil
               else:
                   self._v_checkResource[id]=None
               
               return self._v_checkResource[id]
           
     def sendForm(self,fromaddr,content,server='mail.mpiwg-berlin.mpg.de'):      def sendForm(self,fromaddr,content,server='mail.mpiwg-berlin.mpg.de'):
         """sendform"""          """sendform"""
         toaddrs=["dwinter@mpiwg-berlin.mpg.de"]          toaddrs=["dwinter@mpiwg-berlin.mpg.de"]
Line 3596  class ECHO_root(Folder,Persistent,Implic Line 3657  class ECHO_root(Folder,Persistent,Implic
                           
                 if self.checkRef(ref):                  if self.checkRef(ref):
             if pn:              if pn:
                 link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref+"&p="+pn)                  link.setAttribute("href",self.aq_parent.absolute_url()+"/references?id="+ref+"&p="+pn)
             else:              else:
                 link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref)                  link.setAttribute("href",self.aq_parent.absolute_url()+"/references?id="+ref)
   
   
             newxml=dom.toxml('utf-8')              newxml=dom.toxml('utf-8')
Line 4239  def manage_addECHO_institution(self, id, Line 4300  def manage_addECHO_institution(self, id,
         except: url=REQUEST['URL1']          except: url=REQUEST['URL1']
         REQUEST.RESPONSE.redirect('%s/manage_main' % url)          REQUEST.RESPONSE.redirect('%s/manage_main' % url)
     return id      return id
   

Removed from v.1.183  
changed lines
  Added in v.1.188


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