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>