Diff for /ECHO_content/ECHO_movie.py between versions 1.4 and 1.15

version 1.4, 2005/03/22 20:31:26 version 1.15, 2012/01/03 13:02:31
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 31  from Ft.Xml import EMPTY_NAMESPACE Line 32  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"""
Line 76  class ECHO_movie(Folder,Persistent,ECHO_ Line 131  class ECHO_movie(Folder,Persistent,ECHO_
             urn=self.absolute_url()              urn=self.absolute_url()
         ret=""          ret=""
   
         rettemp="""<RDF:Seq RDF:about="%s">\n"""%urn              rettemp="""<rdf:Seq rdf:about="%s">\n"""%urn
                   
         li="""<RDF:li RDF:resource="%s" />\n"""              li="""<rdf:li rdf:resource="%s" />\n"""
         rettemp+=li%self.thumbUrl          rettemp+=li%self.thumbUrl
         rettemp+=li%self.metalink          rettemp+=li%self.metalink
         rettemp+=li%self.rawFile          rettemp+=li%self.rawFile
               rettemp+=li%getattr(self,'lowresFile','')
         rettemp+=li%self.link          rettemp+=li%self.link
         rettemp+="</RDF:Seq>"              rettemp+="</rdf:Seq>"
   
         rettemp+=getRDFDescription(self,self.thumbUrl,nameDef="thumb",typeName="thumbnail",urn=self.thumbUrl)              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.metalink,nameDef="metadata",typeName="ECHO_metaData",urn=self.metalink)
         rettemp+=getRDFDescription(self,self.rawFile,nameDef="raw",typeName="ECHO_dv_movie",urn=self.rawFile)              rettemp+=getRDFDescription(self,self.rawFile,nameDef="raw",typeName="raw_movie",urn=self.rawFile)
         rettemp+=getRDFDescription(self,self.link,nameDef="streaming internal",typeName="ECHO_streaming",urn=self.link)              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          return rettemp
           
     def getAccessRightSelectorHTML(self,outlook="select"):      def getAccessRightSelectorHTML(self,outlook="select"):
Line 229  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 323  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 342  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 414  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 428  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 499  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.getStandardMD(),ct):    
                       fieldName=getattr(self.getStandardMD(),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 533  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 541  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 592  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 622  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):
         """gib hash mit label -> generic zurueck"""          """gib hash mit label -> generic zurueck"""
     #return {},[]      #return {},[]
   
         temp=self.ZopeFind(self.standardMD)          temp=self.ZopeFind(self.getStandardMD())
   
     if referenceType=="":      if referenceType=="":
         referenceType="book"          referenceType="book"
Line 638  class ECHO_movie(Folder,Persistent,ECHO_ Line 706  class ECHO_movie(Folder,Persistent,ECHO_
         bibdata={}          bibdata={}
         retdata={}          retdata={}
     fields=[]      fields=[]
         fieldlist=self.standardMD.fieldList          fieldlist=self.getStandardMD().fieldList
   
         tags=self.findTagsFromMapping(self.contentType)          tags=self.findTagsFromMapping(self.contentType)
     self.referencetypes=tags[2]      self.referencetypes=tags[2]
Line 667  class ECHO_movie(Folder,Persistent,ECHO_ Line 735  class ECHO_movie(Folder,Persistent,ECHO_
     if referenceType=="":      if referenceType=="":
         referenceType="book"          referenceType="book"
           
     temp =  self.ZopeFind(self.standardMD)[0:]          temp =  self.ZopeFind(self.getStandardMD())[0:]
   
           
     #self.referencetypes=temp[0:]      #self.referencetypes=temp[0:]
Line 679  class ECHO_movie(Folder,Persistent,ECHO_ Line 747  class ECHO_movie(Folder,Persistent,ECHO_
   
         bibdata={}          bibdata={}
         retdata={}          retdata={}
         fieldlist=self.standardMD.fieldList          fieldlist=self.getStandardMD().fieldList
         fields=[]          fields=[]
     for referenceTypeF in temp:      for referenceTypeF in temp:
         #print referenceType          #print referenceType
Line 817  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.4  
changed lines
  Added in v.1.15


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