def __init__(self, name='', group=None): Watchable.__init__(self) self.group = group self.name = name self.modified = never self.__items = PersistentList() self.__categories = PersistentList()
def __init__(self, blog, author, title, summary, main='', dont_watch=0): qon.karma.HasKarma.__init__(self) Watchable.__init__(self) HasComments.__init__(self) self.blog = blog self.__deleted = 0 self.author = author self.title = title self.__summary = CompressedText(summary) if main: self.__main = CompressedText(main) else: self.__main = None self.__cached_html_summary = PersistentCache(self._update_html_cache) # history is a string, showing diffs as items are edited self.history = None self.date = datetime.utcnow() self.modified = None self.parent_blogitem = None # for comment, will point to parent blogitem upon add_comment(); otherwise None if dont_watch: """Comments aren't watchable.""" self.not_watchable = 1 else: # for watchable items only (not comments) self.__user_access = ConflictAvoidingOOBTree()
def __init__(self, creator, title, description, end_date, choices): """Create a poll. Choices is a list of strings.""" Watchable.__init__(self) # PollContainer (set by container when added) self.container = None # User who created poll self.creator = creator # Date created/modified self.date = datetime.utcnow() # End date self.end_date = end_date # Title/Description self.title = title self.__description = CompressedText(description) self.__cached_html = PersistentCache(self._update_html_cache) # Other settings and vote data self.__data = PollData(choices) # cache of PollData items self.__num_votes_cast = None # poll index within container self.__item_index = None
def __init__(self, user_id, name, owner): HasUserID.__init__(self) HasGroupMembership.__init__(self) Sponsored.__init__(self, self._min_sponsors) HasMembership.__init__(self) HasAccessPolicy.__init__(self) Watchable.__init__(self) qon.tags.HasTags.__init__(self) self.user_id = user_id self.name = name self.description = '' self.date = datetime.utcnow() self.__karma_score = 0 self.__deferrals = qon.defer.DeferralList() # set owner, so other modules like Wiki, Blog, etc., will have it self.add_owner(owner) self.wiki = qon.wiki.Wiki(self) self.blog = qon.blog.Blog(self) self.file_db = FileDB(self) self.polls = PollContainer(self) self.trackers = PersistentList() # track the number of PMs sent to members of this group self.total_group_pms = 0
def watchable_changed(self, now=None): Watchable.watchable_changed(self, now) # flush recent changes cache self.__cached_recent_changes.flush() # group changed, too self.group.watchable_changed(now)
def watchable_changed(self, now=None): # remove cached recent_items if hasattr(self, '_cached_recent_items_with_date'): del self._cached_recent_items_with_date # tells group he has changed, too Watchable.watchable_changed(self, now) self.ihb.watchable_changed(now)
def __init__(self, wiki, name=''): Watchable.__init__(self) qon.karma.HasKarma.__init__(self) self.wiki = wiki self.outbound_references = None self.inbound_references = None self.name = clean_page_name(name) self.versions = PersistentList() self.blog = Blog(self) self.locked_by_user = None self.__cached_html = PersistentCache(self._update_html_cache) self.__cached_html2 = PersistentCache(self._update_html2_cache) self.new_revision(force_new=1)
def __init__(self, group): Watchable.__init__(self) self.group = group self.pages = OOBTree.OOBTree() self.__cached_recent_changes = PersistentCache(self._update_recent_changes_cache) self.index_page = WikiPage(self, name='index') self.pages['index'] = self.index_page self.index_page.versions[-1].set_raw(_default_index_page % \ dict(top_header='='*len(self.group.name), bottom_header='='*len(self.group.name), title=self.group.name, group_name=self.group.get_user_id() ) ) self.index_page.versions[-1].set_date(datetime.utcnow()) self.index_page.versions[-1].set_author(self.group.owners[0]) self.index_page.versions[-1].set_title(self.group.name) self.__uniques = OOBTree.OOBTree() self._create_default_pages()
def watchable_changed(self, now=None): # tells group he has changed, too Watchable.watchable_changed(self, now) self.ihb.watchable_changed(now)
def watchable_changed(self, now=None): # tells container he has changed, too Watchable.watchable_changed(self, now) self.container.watchable_changed(now)
def __init__(self, ihb): """Create a Polls belonging to an IHasBlog.""" Watchable.__init__(self) self.ihb = ihb self.__polls = PersistentList()
def watchable_changed(self, now=None): # wiki changed, too Watchable.watchable_changed(self, now) self.wiki.watchable_changed(now)
def watchable_changed(self, now=None): # tells blog he has changed, too Watchable.watchable_changed(self, now) if self.blog: self.blog.watchable_changed(now)
def __init__(self, ihb): """Create a blog belonging to IHasBlog.""" Watchable.__init__(self) self.ihb = ihb self.__items = PersistentList() self.__main_item = None