Diff for /ECHO_content/ECHO_movie.py between versions 1.3 and 1.14.2.1

version 1.3, 2005/03/17 19:27:34 version 1.14.2.1, 2011/10/13 07:48:27
Line 1 Line 1
   
 """preliminary object for displaying movies as part of a collection, shall be exchanged by a generalized ressource object"""  """preliminary object for displaying movies as part of a collection, shall be exchanged by a generalized ressource object"""
   
 import string  import string
Line 25  from Acquisition import Implicit Line 26  from Acquisition import Implicit
 import urllib  import urllib
 import smtplib  import smtplib
 import time  import time
 from Ft.Xml.Domlette import NonvalidatingReader  #from Ft.Xml.Domlette import NonvalidatingReader
 from Ft.Xml.Domlette import PrettyPrint  #from Ft.Xml.Domlette import PrettyPrint
 from Ft.Xml import EMPTY_NAMESPACE  #from Ft.Xml import EMPTY_NAMESPACE
   
 import Ft.Xml.XPath  #import Ft.Xml.XPath
 import cStringIO  import cStringIO
 import zLOG  import logging
   
 try:  try:
     from psycopg import libpq      from psycopg import libpq
Line 47  import urllib Line 48  import urllib
 import xml.dom.minidom  import xml.dom.minidom
 import ECHO_helpers  import ECHO_helpers
 from ECHO_helpers import *  from ECHO_helpers import *
 from ECHO_language import *  
   
   
 class ECHO_movie(Folder,Persistent,ECHO_basis):  class ECHO_movie(Folder,Persistent,ECHO_basis):
     """ECHO Ressource"""      """ECHO Ressource"""
Line 67  class ECHO_movie(Folder,Persistent,ECHO_ Line 66  class ECHO_movie(Folder,Persistent,ECHO_
     security.declareProtected('View','createPDF')      security.declareProtected('View','createPDF')
       
   
       def linkHTTP(self):
               """protokoll fuer link html"""
               
               splitted=self.link.split(":")
               if len(splitted)<2:
                       return self.link
               else:
                       splitted[0]="http"
   
               ret= ":".join(splitted)
               ret=ret.replace("//einst1","//einst3")
               return ret
       
       def linkRTSP(self):
               """protokoll fuer link html"""
               splitted=self.link.split(":")
               if len(splitted)<2:
                       return self.link
               else:
                       splitted[0]="RTSP"
   
               ret= ":".join(splitted)
               ret=ret.replace("//einst3","//einst1")
               return ret
       
       def lowresHTTP(self):
               """protokoll fuer link html"""
               if getattr(self,"lowresFile","")=="":
                       return None
               
               splitted=self.lowresFile.split(":")
               if len(splitted)<2:
                       return self.lowresFile
               else:
                       splitted[0]="http"
   
               ret= ":".join(splitted)
               ret=ret.replace("//einst1","//einst3")
               return ret
       
       def lowresRTSP(self):
               """protokoll fuer link html"""
               if getattr(self,"lowresFile","")=="":
                       return None
               
               splitted=self.lowresFile.split(":")
               if len(splitted)<2:
                       return self.lowresFile
               else:
                       splitted[0]="RTSP"
   
               ret= ":".join(splitted)
               ret=ret.replace("//einst3","//einst1")
               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) 
               if not urn:
                       urn=self.absolute_url()
               ret=""
   
               rettemp="""<rdf:Seq rdf:about="%s">\n"""%urn
   
               li="""<rdf:li rdf:resource="%s" />\n"""
               rettemp+=li%self.thumbUrl
               rettemp+=li%self.metalink
               rettemp+=li%self.rawFile
               rettemp+=li%getattr(self,'lowresFile','')
               rettemp+=li%self.link
               rettemp+="</rdf:Seq>"
   
               rettemp+=getRDFDescription(self,self.thumbUrl,nameDef="thumb",typeName="thumb",urn=self.thumbUrl)
               rettemp+=getRDFDescription(self,self.metalink,nameDef="metadata",typeName="ECHO_metaData",urn=self.metalink)
               rettemp+=getRDFDescription(self,self.rawFile,nameDef="raw",typeName="raw_movie",urn=self.rawFile)
               if not (getattr(self,'lowresFile','')==""):
                       rettemp+=getRDFDescription(self,self.lowresFile,nameDef="lores_movie",typeName="lores",urn=self.lowresFile)
               rettemp+=getRDFDescription(self,self.link,nameDef="hires",typeName="hires_movie",urn=self.link)
               return rettemp
       
     def getAccessRightSelectorHTML(self,outlook="select"):      def getAccessRightSelectorHTML(self,outlook="select"):
         """htmlselector"""          """htmlselector"""
Line 211  class ECHO_movie(Folder,Persistent,ECHO_ Line 287  class ECHO_movie(Folder,Persistent,ECHO_
     def copyTitleToInfoXML(self,RESPONSE=None):      def copyTitleToInfoXML(self,RESPONSE=None):
         """copy title from the resource"""          """copy title from the resource"""
         presentationXML=readFieldFromXML(self.metalink,'texttool','presentation')          presentationXML=readFieldFromXML(self.metalink,'texttool','presentation')
         resourcepath=readFieldFromXML(self.metalink,'resource','archive-path')              resourcepath=readFieldFromXML_xpath(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\n"%self.getId())              RESPONSE.write("Error: %s\n"%self.getId())
Line 305  class ECHO_movie(Folder,Persistent,ECHO_ Line 381  class ECHO_movie(Folder,Persistent,ECHO_
   
   
           
     def __init__(self,id,link,thumbUrl,rawFile,metalink,resourceID,title,label,description,contentType,renderingType,copyrightType,responsible,credits,weight,coords):      def __init__(self,id,link,thumbUrl,rawFile,lowresFile,metalink,resourceID,title,label,description,contentType,renderingType,copyrightType,responsible,credits,weight,coords):
   
         self.id = id          self.id = id
         """Festlegen der ID"""          """Festlegen der ID"""
Line 324  class ECHO_movie(Folder,Persistent,ECHO_ Line 400  class ECHO_movie(Folder,Persistent,ECHO_
         self.resourceID=resourceID          self.resourceID=resourceID
         self.thumbUrl=thumbUrl          self.thumbUrl=thumbUrl
         self.rawFile=rawFile          self.rawFile=rawFile
           self.lowresFile=lowresFile
           
         if coords:          if coords:
             coordsnew=[ string.split(x,",") for x in coords]              coordsnew=[ string.split(x,",") for x in coords]
Line 396  class ECHO_movie(Folder,Persistent,ECHO_ Line 473  class ECHO_movie(Folder,Persistent,ECHO_
   
   
           
     def changeECHO_movie_main(self,metalink,link,rawFile,thumbUrl,title,label,description,contentType,renderingType="",weight="",resourceID="",RESPONSE=None):      def changeECHO_movie_main(self,metalink,link,rawFile,lowresFile,thumbUrl,title,label,description,contentType,renderingType="",weight="",resourceID="",RESPONSE=None):
         """Aenderung der Properties"""          """Aenderung der Properties"""
     self.resourceID=resourceID      self.resourceID=resourceID
     self.title=title      self.title=title
Line 410  class ECHO_movie(Folder,Persistent,ECHO_ Line 487  class ECHO_movie(Folder,Persistent,ECHO_
         self.link=link          self.link=link
         self.thumbUrl=thumbUrl          self.thumbUrl=thumbUrl
         self.rawFile=rawFile          self.rawFile=rawFile
           self.lowresFile=lowresFile
                 
         self.metalink=metalink          self.metalink=metalink
                   
Line 481  class ECHO_movie(Folder,Persistent,ECHO_ Line 559  class ECHO_movie(Folder,Persistent,ECHO_
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
       def getMDValue(self,fieldNameTest,empty=None,generic=None):
               """get md values"""
               #TODO: cache mappinghash
               
               fieldName=None
               if generic:
                   ct=self.contentType.replace(" ","_").lower()
                   
                   #caching
                   if not hasattr(self,'_v_mapHash'): #noch keine cachevariable
                       self._v_mapHash={}
                       
                   tmp=self._v_mapHash.get(ct,None) 
                   if tmp: #teste ob type schon existiert
                       fieldName=tmp.get(fieldNameTest,None)
                   else:
                       self._v_mapHash[ct]={}
                       
                   #noch nicht gecached    
                   if not fieldName and hasattr(self.standardMD,ct):    
                       fieldName=getattr(self.standardMD,ct).generateMappingHash()[fieldNameTest][0]
                       self._v_mapHash[ct][fieldNameTest]=fieldName
   
     def getMDValue(self,fieldName,empty=None):  
         if not empty:          if not empty:
             return self.metaDataHash.get(fieldName,'!!NOT USED HERE in Type: %s'%self.contentType)              return self.metaDataHash.get(fieldName,'!!NOT USED HERE in Type: %s'%self.contentType)
                   
Line 515  class ECHO_movie(Folder,Persistent,ECHO_ Line 614  class ECHO_movie(Folder,Persistent,ECHO_
         self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')          self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml')
         return writeMetadata(self.metalink,self.metaDataHash)          return writeMetadata(self.metalink,self.metaDataHash)
   
     def changeECHO_movie(self,metalink,link,thumbUrl,rawFile,title,label,description,contentType,responsible,weight,coords=None,credits=None,RESPONSE=None):      def changeECHO_movie(self,metalink,link,thumbUrl,rawFile,lowresFile,title,label,description,contentType,responsible,weight,coords=None,credits=None,RESPONSE=None):
         """Aenderung der Properties"""          """Aenderung der Properties"""
                   
         setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight)          setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight)
Line 523  class ECHO_movie(Folder,Persistent,ECHO_ Line 622  class ECHO_movie(Folder,Persistent,ECHO_
         self.metalink=metalink          self.metalink=metalink
         self.thumbUrl=thumbUrl          self.thumbUrl=thumbUrl
         self.rawFile=rawFile          self.rawFile=rawFile
           self.lowresFile=lowresFile
                   
                   
         if RESPONSE is not None:          if RESPONSE is not None:
Line 574  class ECHO_movie(Folder,Persistent,ECHO_ Line 674  class ECHO_movie(Folder,Persistent,ECHO_
   
           
                   
     def getFieldValue(self,field):  
         """get value"""  
       
         try:  
       
             ret=self.metaDataHash[field]  
             if ret == "":  
                 return None  
             else:  
               
             return ret  
         except:  
             return None  
   
     def getMetaDataHash(self):      def getMetaDataHash(self):
         """md hash"""          """md hash"""
         return self.metaDataHash          return self.metaDataHash
Line 604  class ECHO_movie(Folder,Persistent,ECHO_ Line 690  class ECHO_movie(Folder,Persistent,ECHO_
         """copys metadatafields to the object"""          """copys metadatafields to the object"""
         fields=['author','title','year']          fields=['author','title','year']
         for field in fields:          for field in fields:
             setattr(self,'MD_'+field,self.getFieldValue(field))                      setattr(self,'MD_'+field,self.getMDValue(field))
           
   
     def findLabelsFromMapping(self,referenceType):      def findLabelsFromMapping(self,referenceType):
Line 799  def manage_addECHO_movieForm(self): Line 885  def manage_addECHO_movieForm(self):
   
   
   
 def manage_addECHO_movie(self,id,title,label,description="",responsible="",link="",thumbUrl="",rawFile="",metalink="",weight="",copyrightType=None,resourceID=None,contentType=None,renderingType=None,credits=None,coords=None,RESPONSE=None):  def manage_addECHO_movie(self,id,title,label,description="",responsible="",link="",thumbUrl="",rawFile="",lowresFile="",metalink="",weight="",copyrightType=None,resourceID=None,contentType=None,renderingType=None,credits=None,coords=None,RESPONSE=None):
     """addaresource"""      """addaresource"""
   
     newObj=ECHO_movie(id,link,thumbUrl,rawFile,metalink,resourceID,title,label,description,contentType,renderingType,copyrightType,responsible,credits,weight,coords)      newObj=ECHO_movie(id,link,thumbUrl,rawFile,lowresFile,metalink,resourceID,title,label,description,contentType,renderingType,copyrightType,responsible,credits,weight,coords)
   
     self._setObject(id,newObj)      self._setObject(id,newObj)
   

Removed from v.1.3  
changed lines
  Added in v.1.14.2.1


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