X-Git-Url: https://scm.cri.minesparis.psl.eu/git/Portfolio.git/blobdiff_plain/2da869b2b46179d64c05eaac4081226fdbbbc9ff..e73353500c67453ef9663d67eaeee7dd46c358ee:/lightbox.py diff --git a/lightbox.py b/lightbox.py deleted file mode 100755 index 98adde2..0000000 --- a/lightbox.py +++ /dev/null @@ -1,86 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################ -# Copyright © 2005-2008 Benoît PIN # -# Plinn - http://plinn.org # -# # -# This program is free software; you can redistribute it # -# and/or modify it under the terms of the Creative Commons # -# "Attribution-Noncommercial 2.0 Generic" # -# http://creativecommons.org/licenses/by-nc/2.0/ # -############################################################ -""" Lightboxes contains references to images. - References are made with CMFUid stuff. -""" - -from Globals import InitializeClass -from AccessControl import ClassSecurityInfo -from Products.CMFCore.permissions import View, ModifyPortalContent -from Products.CMFCore.PortalContent import PortalContent -from Products.CMFDefault.DublinCore import DefaultDublinCoreImpl -from zope.component.factory import Factory - -class Lightbox( PortalContent, DefaultDublinCoreImpl): - "lightbox holds references to photos" - - security = ClassSecurityInfo() - - def __init__( self, id, title='', uids=[], description=''): - DefaultDublinCoreImpl.__init__(self) - self.id=id - self.uids = tuple(uids) - self._editMetadata(title=title, description=description) - - security.declareProtected(View, 'getUidList') - def getUidList(self): - return list(self.uids) - - security.declareProtected(ModifyPortalContent, 'append') - def append(self, uid): - if uid not in self.uids : - self.uids = self.uids + (uid,) - self.notifyModified() - self.reindexObject(idxs=['modified']) - return True - else : - return False - - security.declareProtected(ModifyPortalContent, 'extend') - def extend(self, uids): - already = 0 - new = [] - for uid in uids : - if uid not in self.uids : - new.append(uid) - else : - already = already + 1 - self.uids = self.uids + tuple(new) - if len(already < uids) : - self.notifyModified() - self.reindexObject(idxs=['modified']) - return already - - security.declareProtected(ModifyPortalContent, 'pop') - def pop(self, index=None): - i = index - if i is None : - i = len(self.uids) -1 - - self.uids = self.uids[:i] + self.uids[i+1:] - - self.notifyModified() - self.reindexObject(idxs=['modified']) - - security.declareProtected(ModifyPortalContent, 'remove') - def remove(self, value): - for i, v in enumerate(self.uids) : - if value == v : - self.pop(i) - break - else : - return - self.notifyModified() - self.reindexObject(idxs=['modified']) - -InitializeClass(Lightbox) - -LightboxFactory = Factory(Lightbox) \ No newline at end of file