示例#1
0
文件: user.py 项目: mrmaple/open_qon
 def recalculate_participation(self):
     """Rebuild participation list."""
     
     # build best list of recent participation I have
     recent = []
     
     for date, item in self.__recent_blog_items:
         recent.append(item)
     
     for date, comment, item in self.__recent_blog_comments:
         recent.append(item)
     
     for date, comment, item in self.__recent_personal_comments:
         recent.append(item)
     
     for date, item in self.__recent_personal_news:
         recent.append(item)
     
     # get rid of duplicates
     recent = unique_items(recent)
     
     # limit to most recent items
     recent_by_date = [(i.watchable_last_change(), i) for i in recent]
     recent_by_date.sort()
     recent = recent_by_date[-self._recent_count:]
     
     self.__recent_participation = PersistentList([i for date, i in recent])
示例#2
0
文件: user.py 项目: mrmaple/open_qon
 def set_other_perms(self, perms):
     perms = coerce_to_list(perms)
     perms = unique_items(perms)
     self.check_perm(perms)
     self.__other_perms = []
     self.__other_perms.extend(perms)
     self._p_changed = 1
示例#3
0
 def set_dependencies(self, targets):
     """Register self as being dependent only on list of targets."""
     
     targets = unique_items(targets)
     
     self.remove_all_dependencies()
     
     for target in targets:
         self.add_dependency(target)
示例#4
0
文件: group.py 项目: mrmaple/open_qon
 def _calc_karma_score(self):
     """Calculate implied karma."""
     
     if not hasattr(self, '_karma_changed') or not self._karma_changed:
         return
         
     karma = 0
     
     group_members = self.get_group_members()
     
     for u in unique_items(self.owners + self.get_member_list()):
         if u not in group_members:
             karma += u.get_karma_score()
     
     for i in self.blog.get_items():
         karma += i.get_karma_score()
     
     self.__karma_score = karma
     del self._karma_changed
示例#5
0
文件: wiki.py 项目: mrmaple/open_qon
    def raw_to_html(self, raw, debug=0, suppress_tooltip=0):
        """Convert raw test to HTML and return it.
        
        Pass a non-zero numeric value to debug: none/5, info/1, warning/2, error/3, severe/4, or
        zero for no debug (same as 5).
        """
        from qon.ui.blocks.wiki import rst_to_html
        reader = Reader()

        html = rst_to_html(raw, wiki=self.page.wiki, container=self.page, reader=reader,
            debug=debug,
            suppress_tooltip=suppress_tooltip,
            )
        
        # rst parser keeps track of outbound wiki links. extract them
        # and store them in version, for use by Wiki
        refs = getattr(reader.document, '_qon_references', None)
        if refs:
            self._v_references = unique_items(refs)

        return html
示例#6
0
文件: user.py 项目: mrmaple/open_qon
 def add_to_group(self, item):
     item = coerce_to_list(item)
     typecheck_seq(item, HasUserID)
     self.__items.extend(item)
     self.__items = unique_items(self.__items)
     self._p_changed = 1
示例#7
0
文件: group.py 项目: mrmaple/open_qon
 def get_num_members(self):
     """return the number of unique members."""
     return len(unique_items(self.owners + self.get_member_list()))