Annotation of ZSQLExtend/VLMAExtensions.py, revision 1.1

1.1     ! dwinter     1: ###Extensions for VLMA-Triples
        !             2: from OFS.Folder import Folder
        !             3: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
        !             4: from OFS.SimpleItem import SimpleItem
        !             5: from Globals import package_home
        !             6: import Globals
        !             7: from AccessControl import ClassSecurityInfo
        !             8: 
        !             9: import os.path
        !            10: 
        !            11: security=ClassSecurityInfo()
        !            12: security.declarePublic('VLMAObject')
        !            13: 
        !            14: class VLMAObject(SimpleItem):
        !            15:     """VLMAObject"""
        !            16: 
        !            17:     
        !            18:     def __init__(self,subject,subjectField,object,objectField,predicate=None):
        !            19:         self.subject=subject
        !            20:         self.subjectField=subjectField
        !            21:         self.object=object
        !            22:         self.objectField=objectField
        !            23:         self.predicate=predicate
        !            24: 
        !            25:     def change(self,subject,subjectField,object,objectField,predicate=None):
        !            26:         self.subject=subject[0:]
        !            27:         self.subjectField=subjectField[0:]
        !            28:         self.object=object[0:]
        !            29:         self.objectField=objectField[0:]
        !            30:         if predicate:
        !            31:             self.predicate=predicate[0:]
        !            32:         else:
        !            33:             self.predicate=None
        !            34: 
        !            35:     
        !            36: 
        !            37: 
        !            38: 
        !            39: Globals.InitializeClass(VLMAObject)
        !            40: 
        !            41: class VLMATriples(Folder):
        !            42:     """Klasse zur Erzeugung der Triplefiles fuer VLMA, muss subobject eine ZSQLExtendFolders sein"""
        !            43: 
        !            44:     meta_type="VLMATriples"
        !            45: 
        !            46:     manage_options=Folder.manage_options+(
        !            47:         {'label':'Main Config','action':'changeVLMATriplesForm'},
        !            48:        )
        !            49: 
        !            50:     def __init__(self,id,searchStatement,collectionObject,imageObject=None,thumbObject=None,title=""):
        !            51:         """init
        !            52:         @param collectionObject: VLMAObject
        !            53:         @param imageObject: VLMAObject
        !            54:         @param thumbObject: VLMAObject"""
        !            55:         
        !            56:         self.id=id
        !            57:         self.title=title
        !            58:         self._setObject('collectionObject',collectionObject)
        !            59:         self._setObject('imageObject',imageObject)
        !            60:         self._setObject('thumbObject',thumbObject)
        !            61:         self.searchStatement=searchStatement
        !            62: 
        !            63:     def getCollectionObject(self,field):
        !            64:         """get the obejct"""
        !            65:         return getattr(self.collectionObject,field)
        !            66: 
        !            67:     def getImageObject(self,field):
        !            68:         """get the obejct"""
        !            69:         return getattr(self.imageObject,field)
        !            70: 
        !            71:     def getThumbObject(self,field):
        !            72:         """get the obejct"""
        !            73:         return getattr(self.thumbObject,field)
        !            74:     
        !            75:     def createVLMATriples(self):
        !            76:         """standardview"""
        !            77: 
        !            78:         ret=""
        !            79: 
        !            80:         #collectionobject triple
        !            81:         for found in self.ZSQLSimpleSearch(self.searchStatement):
        !            82:             subject=self.collectionObject.subject%getattr(found,self.collectionObject.subjectField)
        !            83:             object=self.collectionObject.object%getattr(found,self.collectionObject.objectField)
        !            84:             predicate="metadata"
        !            85:             ret+="%s\t%s\t%s\n"%(subject,object,predicate)
        !            86:             if self.imageObject:
        !            87:                 subject=self.imageObject.subject%getattr(found,self.imageObject.subjectField)
        !            88:                 object=self.imageObject.object%getattr(found,self.imageObject.objectField)
        !            89:                 predicate="image"
        !            90:                 ret+="%s\t%s\t%s\n"%(subject,object,predicate)
        !            91: 
        !            92:             if self.thumbObject:
        !            93:                 subject=self.thumbObject.subject%getattr(found,self.thumbObject.subjectField)
        !            94:                 object=self.thumbObject.object%getattr(found,self.thumbObject.objectField)
        !            95:                 predicate="thumb"
        !            96:                 ret+="%s\t%s\t%s\n"%(subject,object,predicate)
        !            97:             
        !            98:         return ret
        !            99: 
        !           100:     index_html=createVLMATriples
        !           101: 
        !           102:     def changeVLMATriplesForm(self):
        !           103:         """Form for adding a VLMATriplesObject"""
        !           104:         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeVLMATriples.zpt')).__of__(self)
        !           105:         return pt()
        !           106: 
        !           107:     def changeVLMATriples(self,searchStatement,cS,cSF,cO,cOF,iS,iSF,iO,iOF,tS,tSF,tO,tOF,title="",REQUEST=None):
        !           108:         """changing triples"""
        !           109:         self.title=title[0:]
        !           110:         self.searchStatement=searchStatement[0:]
        !           111:         self.collectionObject.change(cS,cSF,cO,cOF)
        !           112:         if iS=="":
        !           113:             self.imageObject=None
        !           114:         else:
        !           115:             self.imageObject.change(iS,iSF,iO,iOF)
        !           116:         if tS=="":
        !           117:             self.thumbObject=None
        !           118:         else:
        !           119:             self.thumbObject.change(tS,tSF,tO,tOF)
        !           120: 
        !           121:         if REQUEST is not None:
        !           122:             return self.manage_main(self, REQUEST)
        !           123: 
        !           124: def manage_addVLMATriplesForm(self):
        !           125:     """Form for adding a VLMATriplesObject"""
        !           126:     pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addVLMATriples.zpt')).__of__(self)
        !           127:     return pt()
        !           128: 
        !           129: def manage_addVLMATriples(self,id,searchStatement,cS,cSF,cO,cOF,iS,iSF,iO,iOF,tS,tSF,tO,tOF,title="",REQUEST=None):
        !           130:     """Add a VLMATriples Object"""
        !           131:     cOb=VLMAObject(cS,cSF,cO,cOF)
        !           132:     if iS=="":
        !           133:         iOb=None
        !           134:     else:
        !           135:         iOb=VLMAObject(iS,iSF,iO,iOF)
        !           136:     if tS=="":
        !           137:         tOb=None
        !           138:     else:
        !           139:         tOb=VLMAObject(tS,tSF,tO,tOF)
        !           140: 
        !           141:     ob=VLMATriples(id,searchStatement,cOb,iOb,tOb,title=title)
        !           142: 
        !           143:     self._setObject(id,ob)
        !           144: 
        !           145:     if REQUEST is not None:
        !           146:         return self.manage_main(self, REQUEST, update_menu=1)
        !           147: 
        !           148:     

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