############################################################################## # # Category.py # Classes for Categories # # Copyright (c) 2003-2005 Atsushi Shibata. All Rights Reserved. # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, provided that # the above copyright notice appear in all copies and that both that copyright # notice and this permission notice appear in supporting documentation, and that # the name of Atsushi Shibata not be used in advertising or publicity pertaining # to distribution of the software without specific, written prior permission. # # ATSUSHI SHIBAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO # EVENT SHALL SHIBAT ATSUSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF # USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # ############################################################################## #Import modules from python lib. from string import join,find,lower from time import time from Globals import Persistent,HTMLFile import Globals from Acquisition import Implicit from permissions import View,ManageCOREBlog,AddCOREBlogEntries,AddCOREBlogComments,ModerateCOREBlogEntries from OFS.Traversable import Traversable from AccessControl import ClassSecurityInfo from DateTime import DateTime from utility import remove_html __doc__="""Zope Blog Product 'COREBlog:Category' $Id: Category.py,v 1.3 2006/04/03 14:07:28 ats_shib Exp $""" __version__='$Revision: 1.3 $'[11:-2] class Category(Persistent,Implicit): """Class for COREBlog Category""" security = ClassSecurityInfo() security.setDefaultAccess("allow") meta_type='COREBlog Category' #icon ='' security.declarePrivate('__init__') def __init__(self,id,name,description,icon_path="",created = -1): self.id = str(id) self.name = name self.description = description self.icon_path = icon_path self.count = 0 if created != -1: self.created = created else: self.created = time() #Datetime information security.declareProtected(View, 'created_date') def created_date(self): """Return DateTime object for Object creation time""" return DateTime(self.created) security.declareProtected(ManageCOREBlog, 'get_count') def get_count(self): return self.count security.declareProtected(ManageCOREBlog, 'set_count') def set_count(self,count): self.count = count return self.count security.declareProtected(ManageCOREBlog, 'edit') def edit(self,name,description,icon_path): self.name = remove_html(name) self.description = description self.icon_path = remove_html(icon_path) Globals.InitializeClass(Category)