Diff for /ECHO_content/ECHO_collection.py between versions 1.218 and 1.229

version 1.218, 2005/03/07 21:25:09 version 1.229, 2005/07/20 11:49:05
Line 1 Line 1
   
 """New version of the product started February, 8th. Without scientific classification, use content-type for further classification."""  """New version of the product started February, 8th. Without scientific classification, use content-type for further classification."""
 """Echo collection provides the classes for the ECHO content web-site.  """Echo collection provides the classes for the ECHO content web-site.
   
Line 40  from Globals import Persistent, package_ Line 39  from Globals import Persistent, package_
 from Acquisition import Implicit  from Acquisition import Implicit
   
 import urllib  import urllib
   import cgi
 import smtplib  import smtplib
 import time  import time
 from Ft.Xml.Domlette import NonvalidatingReader  from Ft.Xml.Domlette import NonvalidatingReader
Line 87  def setECHO_collectionInformation(self,t Line 87  def setECHO_collectionInformation(self,t
         self.credits=toList(credits)          self.credits=toList(credits)
         self.weight=weight          self.weight=weight
   
   class ECHO_locale(ZopePageTemplate):
       """localisierung"""
   
       meta_type="ECHO_locale"
   
       def __init__(self,id,lang,title,label,text=None,content_type=None):
           self.lang=lang
           self.title=title
           self.label=label
           if text:
               self.pt_edit(text, content_type)
           self.id=id
   
       manage_options = ZopePageTemplate.manage_options+(
           {'label':'Main Config','action':'change_ECHO_localeForm'},
           )
   
       def change_ECHO_localeForm(self):
           """change form"""
           pt=zptFile(self, 'zpt/ChangeECHO_localeForm.zpt')
           return pt()
       
       def change_ECHO_locale(self,lang,title,label,text=None,content_type=None,RESPONSE=None):
           """change echo locale"""
           self.lang=lang
           self.title=title
           self.label=label
           if not text is None:
               self.pt_edit(text, content_type)
   
           if RESPONSE is not None:
               RESPONSE.redirect('manage_main')
   
           
   def manage_addECHO_localeForm(self):
        """Form for adding"""
        pt=zptFile(self, 'zpt/AddECHO_localeForm.zpt')
        return pt()
   
   def manage_addECHO_locale(self,lang,title,label,text=None,content_type=None,RESPONSE=None):
       """add echo locale"""
   
       id="locale_"+lang
       
       self._setObject(id, ECHO_locale(id,lang,title,label,text,content_type))
       if RESPONSE is not None:
           RESPONSE.redirect('manage_main')
   
                           
 class ECHO_copyright(Folder,ECHO_basis):  class ECHO_copyright(Folder,ECHO_basis):
     """Copyright informationen"""      """Copyright informationen"""
Line 263  class ECHO_resource(Folder,Persistent,EC Line 311  class ECHO_resource(Folder,Persistent,EC
   
     getSubCols = ECHO_helpers.getSubCols      getSubCols = ECHO_helpers.getSubCols
   
     security.declareProtected('View','index_html')  
   
       
       
     security.declareProtected('View','createPDF')      security.declareProtected('View','createPDF')
     def createPDF(self,RESPONSE=None,local=None,dpi=150):      def createPDF(self,RESPONSE=None,local=None,dpi=150):
Line 1201  class ECHO_resource(Folder,Persistent,EC Line 1246  class ECHO_resource(Folder,Persistent,EC
         if not error=="": #Fehler beim Auslesen des Metafiles          if not error=="": #Fehler beim Auslesen des Metafiles
         return "ERROR:",error          return "ERROR:",error
           
       if not self.contentType:
           self.contentType=metadict['bib_type'].lower()
   
     if not (metadict['bib_type'].lower()==self.contentType.lower()):      if not (metadict['bib_type'].lower()==self.contentType.lower()):
         self.REQUEST.SESSION['contentStorage']=metadict['bib_type']          self.REQUEST.SESSION['contentStorage']=metadict['bib_type']
Line 1239  class ECHO_resource(Folder,Persistent,EC Line 1286  class ECHO_resource(Folder,Persistent,EC
             return None              return None
                   
                   
       security.declareProtected('View','index_html')
     def index_html(self):      def index_html(self):
         """standard page"""          """standard page"""
         pdf=self.checkRDF(self.link)          pdf=self.checkRDF(self.link)
Line 1307  def manage_addECHO_resourceForm(self): Line 1355  def manage_addECHO_resourceForm(self):
   
   
 def manage_addECHO_resource(self,id,title,label,description="",responsible="",link="",metalink="",weight="",copyrightType=None,resourceID=None,contentType=None,renderingType=None,credits=None,coords=None,RESPONSE=None):  def manage_addECHO_resource(self,id,title,label,description="",responsible="",link="",metalink="",weight="",copyrightType=None,resourceID=None,contentType=None,renderingType=None,credits=None,coords=None,RESPONSE=None):
     """addaresource"""      """addresource"""
   
     newObj=ECHO_resource(id,link,metalink,resourceID,title,label,description,contentType,renderingType,copyrightType,responsible,credits,weight,coords)      newObj=ECHO_resource(id,link,metalink,resourceID,title,label,description,contentType,renderingType,copyrightType,responsible,credits,weight,coords)
   
Line 1368  class ECHO_externalLink(Folder,ECHO_basi Line 1416  class ECHO_externalLink(Folder,ECHO_basi
                           
     manage_options = Folder.manage_options+(      manage_options = Folder.manage_options+(
         {'label':'Main Config','action':'ECHO_externalLink_config'},          {'label':'Main Config','action':'ECHO_externalLink_config'},
       {'label':'Graphic Coords','action':'ECHO_graphicEntry'},
         )          )
   
                   
Line 1406  class ECHO_link(ECHO_externalLink): Line 1455  class ECHO_link(ECHO_externalLink):
         else:          else:
             return ECHO_basis.content_html(self,'collection')              return ECHO_basis.content_html(self,'collection')
           
       def index_html(self):
           """standard link"""
           if self.link:
            splitted=self.link.split("?")
            if len(splitted)>1:
               params=cgi.parse_qs(splitted[1])
   
               for x in params.keys():
                   if type(params[x]) is ListType:
                       params[x]=params[x][0]
           
   
            else:
               params={}
           
            params['backLink']=self.aq_parent.absolute_url()
            params['startLink']=splitted[0]+"?"+urllib.urlencode(params)
           
           
            return self.REQUEST.RESPONSE.redirect(splitted[0]+"?"+urllib.urlencode(params))
           else:
            return ""
   
 def manage_addECHO_linkForm(self):  def manage_addECHO_linkForm(self):
         """Form for external Links"""          """Form for external Links"""
         pt=zptFile(self, 'zpt/AddECHO_linkForm.zpt')          pt=zptFile(self, 'zpt/AddECHO_linkForm.zpt')
Line 1433  class ECHO_collection(Folder, Persistent Line 1505  class ECHO_collection(Folder, Persistent
   
     path="/mpiwg/online/permanent/shipbuilding"      path="/mpiwg/online/permanent/shipbuilding"
   
       def localizeObjects(self):
           """localize all objects"""
           contents=self.ZopeFind(self,obj_metatypes=['ECHO_link','ECHO_mapText'])
           find=self.ZopeFind(self,obj_ids=('locale_en'))
           if not find:
           self.manage_addECHO_locale("en",'','')
           for content in contents:
               if content[1].meta_type=='ECHO_link':
                   find=content[1].ZopeFind(content[1],obj_metatypes=('ECHO_mapText'))
                   root=find[0][1]
   
                   locale=find[0][1].ZopeFind(find[0][1],obj_ids=('locale_en'))
               else:
                   root=content[1]
                   locale=content[1].ZopeFind(content[1],obj_ids=('locale_en'))
               if not locale:
                   root.manage_addECHO_locale("en",'','')
               
           pt=zptFile(self, 'zpt/localizeObjects.zpt')
           return pt()
   
   
       def localize(self,REQUEST,RESPONSE):
           """localize"""
           for key in REQUEST.form.keys():
               splitted=key.split("!")
   
               if splitted[0]=="" or splitted[0]=="en" or splitted[0]=="title" or splitted[0]=="label":
                   if splitted[0]=="en":
                       setattr(self.locale_en,splitted[1],REQUEST.form[key])
                   else:
                       setattr(self,splitted[0],REQUEST.form[key])
               else:
                   obj=getattr(self,splitted[0])
   
                   if obj.meta_type=="ECHO_mapText":
                       if splitted[1]=="en":
                           obj.locale_en.pt_edit(REQUEST.form[key],None)
                       else:
                           obj.pt_edit(REQUEST.form[key],None)
                   else:
                       text=obj.ZopeFind(obj,obj_metatypes=['ECHO_mapText'])
                       if splitted[1]=="en":
                           
                           text[0][1].locale_en.pt_edit(REQUEST.form[key],None)
                       else:
                           text[0][1].pt_edit(REQUEST.form[key],None)
           if RESPONSE is not None:
               RESPONSE.redirect('manage_main')
   
   
     def getRDF(self,urn=None):      def getRDF(self,urn=None):
         """rdf of the collection"""          """rdf of the collection"""
                   
Line 1530  class ECHO_collection(Folder, Persistent Line 1653  class ECHO_collection(Folder, Persistent
         ret=""          ret=""
         argv=self.REQUEST.form          argv=self.REQUEST.form
                   
         resources=self.ZopeFind(self,obj_metatypes=['ECHO_pageTemplate','ECHO_resource','ECHO_collection','ECHO_link','ECHO_externalLink'])          resources=self.ZopeFind(self,obj_metatypes=['ECHO_pageTemplate','ECHO_movie','ECHO_resource','ECHO_collection','ECHO_link','ECHO_externalLink'])
         for resource in resources:          for resource in resources:
                         
             try:              try:
Line 1545  class ECHO_collection(Folder, Persistent Line 1668  class ECHO_collection(Folder, Persistent
         ret=""          ret=""
         argv=self.REQUEST.form          argv=self.REQUEST.form
                   
         resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'])          resources=self.ZopeFind(self,obj_metatypes=['ECHO_pageTemplate','ECHO_movie','ECHO_resource','ECHO_collection','ECHO_link','ECHO_externalLink'])
         for resource in resources:          for resource in resources:
                         
             try:              try:
Line 1555  class ECHO_collection(Folder, Persistent Line 1678  class ECHO_collection(Folder, Persistent
                 pass                  pass
         return ret          return ret
                   
       def changeLabelsInCollection(self):
           """change all lables of a collection"""
           ret=""
           argv=self.REQUEST.form
           
           resources=self.ZopeFind(self,obj_metatypes=['ECHO_pageTemplate','ECHO_movie','ECHO_resource','ECHO_collection','ECHO_link','ECHO_externalLink'])
           for resource in resources:
              
               try:
                   ret+=resource[1].getId()+"   "+argv[resource[1].getId()]+"</br>"
                               resource[1].label=argv[resource[1].getId()][0:]
               except:
                   pass
           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 1776  class ECHO_collection(Folder, Persistent Line 1914  class ECHO_collection(Folder, Persistent
             return ""              return ""
   
   
     def addMovie(self,id,title,label,description,contentType,responsible,link,thumbUrl,rawFile,metalink,weight,credits=None,coords=None,RESPONSE=None):      def addMovie(self,id,title,label,description,contentType,responsible,link,thumbUrl,rawFile,lowresFile,metalink,weight,credits=None,coords=None,RESPONSE=None):
         """SSS"""          """SSS"""
     print "we are here"  
     #manage_addECHO_movie(self,id,title,label,description,responsible,link,thumbUrl,rawFile,metalink,weight,credits=None,coords=None,RESPONSE=None)      #manage_addECHO_movie(self,id,title,label,description,responsible,link,thumbUrl,rawFile,metalink,weight,credits=None,coords=None,RESPONSE=None)
     if not hasattr(self,id):      if not hasattr(self,id):
         try:          try:
             manage_addECHO_movie(self,id,title,label,description,responsible,link,thumbUrl,rawFile,metalink,weight,credits=None,coords=None,RESPONSE=None)              manage_addECHO_movie(self,id,title,label,description,responsible,link,thumbUrl,rawFile,lowresFile,metalink,weight,credits=None,coords=None,RESPONSE=None)
             return "done"              return "done"
         except:          except:
             return None              return None
     else:      else:
         obj=getattr(self,id)          obj=getattr(self,id)
         obj.changeECHO_movie_main(metalink,link,rawFile,thumbUrl,title,label,description,contentType,weight=weight)          obj.changeECHO_movie_main(metalink,link,rawFile,lowresFile,thumbUrl,title,label,description,contentType,weight=weight)
   
       return "changed"
                   
     def addResource(self,id,title,label,description,contentType,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None):      def addResource(self,id,title,label,description,contentType,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None):
         """SSS"""          """SSS"""
Line 1910  class ECHO_collection(Folder, Persistent Line 2050  class ECHO_collection(Folder, Persistent
         {'label':'Main Config','action':'ECHO_collection_config'},          {'label':'Main Config','action':'ECHO_collection_config'},
         {'label':'Change Labels','action':'changeLabels'},          {'label':'Change Labels','action':'changeLabels'},
         {'label':'Change Titles','action':'changeTitles'},          {'label':'Change Titles','action':'changeTitles'},
       {'label':'Localize','action':'localizeObjects'},
     {'label':'Change Weights','action':'changeWeights'},      {'label':'Change Weights','action':'changeWeights'},
         {'label':'Rerender Labels and Titles','action':'ECHO_rerenderLinksMDWarning'},          {'label':'Rerender Labels and Titles','action':'ECHO_rerenderLinksMDWarning'},
         {'label':'Graphic Coords','action':'ECHO_graphicEntry'},          {'label':'Graphic Coords','action':'ECHO_graphicEntry'},
Line 1978  class ECHO_collection(Folder, Persistent Line 2119  class ECHO_collection(Folder, Persistent
         pt=zptFile(self, 'zpt/ECHO_content_overview.zpt')          pt=zptFile(self, 'zpt/ECHO_content_overview.zpt')
         return pt()          return pt()
   
     security.declareProtected('View','index_html')  
           
       security.declareProtected('View','index_html')
     def index_html(self):      def index_html(self):
         """standard page"""          """standard page"""
         if self.ZCacheable_isCachingEnabled():          if self.ZCacheable_isCachingEnabled():
Line 2048  class ECHO_collection(Folder, Persistent Line 2189  class ECHO_collection(Folder, Persistent
         """javascript"""          """javascript"""
         return sendFile(self, 'js/hl_add.js', 'text/plain')          return sendFile(self, 'js/hl_add.js', 'text/plain')
   
     def getAllMapAreas(self):      def getAllMapAreas(self,mapColTypes=['ECHO_collection','ECHO_resource','ECHO_link','ECHO_externalLink']):
         """Give list of coordinates"""          """Give list of coordinates"""
         mapColTypes=['ECHO_collection','ECHO_resource']          
         areas=[]          areas=[]
         for entry in self.getSubCols(subColTypes=mapColTypes):          for entry in self.getSubCols(subColTypes=mapColTypes):
             object=entry              object=entry
Line 2383  class ECHO_root(Folder,Persistent,Implic Line 2524  class ECHO_root(Folder,Persistent,Implic
     def item2(self,txt):      def item2(self,txt):
         return txt[2]          return txt[2]
                   
       def setLanguage(self,lang):
           """Set language cookie"""
           self.REQUEST.RESPONSE.setCookie('lang_exhibition',lang,path="")
   
       def switchLanguage(self):
           """Set language cookie"""
           if self.getLanguage()=="en":
               lang="de"
           else:
               lang="en"
           
           self.REQUEST.RESPONSE.setCookie('lang_exhibition',lang,path="")
           self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1'])
       def getLanguage(self):
           """get language cookie"""
           lang= self.REQUEST.cookies.get('lang_exhibition','de')
           if lang == '':
               lang="de"
           return lang
       
     def getContentOverviewTemplate(self):      def getContentOverviewTemplate(self):
     """produces overview template with macro"""      """produces overview template with macro"""
     pt = zptObjectOrFile(self, 'content_overview_template')      pt = zptObjectOrFile(self, 'content_overview_template')
     return pt      return pt
   
       def mapstyle_css(self):
           """send mapstyle.css"""
           sendFile(self, 'html/ECHO_mapstyle.css', 'text/css')
   
   
     ###Cdli adds -> have to be removed      ###Cdli adds -> have to be removed
     def getTablet(self,item):      def getTablet(self,item):
         #print "getTablet"          #print "getTablet"
Line 2673  class ECHO_root(Folder,Persistent,Implic Line 2839  class ECHO_root(Folder,Persistent,Implic
   
     def renderingTypeSelector_HTML(self,selected=None):      def renderingTypeSelector_HTML(self,selected=None):
          """give type selector"""           """give type selector"""
      if not selected:  
          retStr="<option selected>\n"  
      else:  
          retStr="<option>\n"  
            
      try: # erste version renderingTypes exists  
          for renderingType in self.ZopeFind(self.renderingTypes,obj_metatypes=["ECHO_renderingType"]):  
              if selected and (renderingType[0]==selected):  
                  retStr+="""<option selected value="%s">%s\n"""%(renderingType[0],renderingType[0])  
              else:                  
                  retStr+="""<option value="%s">%s\n"""%(renderingType[0],renderingType[0])  
      except:  
          """nothing"""  
      return retStr  
   
     def renderingTypeSelector_HTML(self,selected=None):  
          """give type selector"""  
      if not selected:       if not selected:
          retStr="<option selected>\n"           retStr="<option selected>\n"
      else:       else:

Removed from v.1.218  
changed lines
  Added in v.1.229


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