def do_all_user_blogitems(): i = 1 j = 1 for userid, user in db.user_db.root.items(): for bi in user.get_blog().get_items(): _fetch_url(i, path_to_obj(bi)) i += 1 if _DO_COMMENTS: for c in bi.get_comments(): _fetch_url(str(i) + "." + str(j), path_to_obj(c)) j += 1
def do_all_group_blogitems(): """ iterate through each group and index each discussion topic """ i = 1 j = 1 for groupid, group in db.group_db.root.items(): for bi in group.get_blog().get_items(): _fetch_url(i, path_to_obj(bi)) i += 1 if _DO_COMMENTS: for c in bi.get_comments(): _fetch_url(str(i) + "." + str(j), path_to_obj(c)) j += 1
def do_all_group_wikipages(): i = 1 for groupid, group in db.group_db.root.items(): w = group.get_wiki() for wikipagename, wikipage in w.pages.items(): _fetch_url(i, path_to_obj(wikipage)) i += 1
def do_all_group_polls(): """ iterate through each group and index each poll """ i = 1 for groupid, group in db.group_db.root.items(): for p in group.polls.get_polls(): _fetch_url(i, path_to_obj(p)) i += 1
def print_item(bi, group_short_name): title = bi.title.replace('\n', ' ') shortgroup = group_short_name url = path_to_obj(bi) author_name = bi.author.display_name().replace('\n', ' ') author_id = bi.author.get_user_id() date = bi.date modified = bi.modified last_modified = bi.last_modified() num_comments = bi.num_all_comments() feedback = bi.get_karma_score() plus_total, neg_total, pos_karma_givers, neg_karma_givers = bi.karma_details() plus_users = len(pos_karma_givers) neg_users = len(neg_karma_givers) decayed = (plus_total - neg_total) - feedback (times, members) = bi.item_views() watched_count = oids.get(bi._p_oid, 0) def num_comment_authors(comments): uniq_authors = {} for comment in comments: uniq_authors[comment.author] = 1 return len(uniq_authors.keys()) num_commenting_users = num_comment_authors(bi.get_all_comments()) print "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d" % \ (title, shortgroup, url, author_name, author_id, str(date), str(modified), str(last_modified), num_comments, num_commenting_users, feedback, plus_users, plus_total, \ neg_users, neg_total, decayed, times, members, watched_count)
def convert_atom_id_to_url(self, login_bundle, atom_id): """Given an atom_id, return the URL for that object.""" cur_user = self._check_login(login_bundle) obj = lookup_atom_id(atom_id) if obj: path = path_to_obj(obj) if path: return full_url(path) raise xmlrpclib.Fault(FAULT_INVALID_ITEM, 'Invalid atom_id.')
def print_item(bi, group_short_name): title = bi.title.replace('\n', ' ') shortgroup = group_short_name url = path_to_obj(bi) author_name = bi.author.display_name().replace('\n', ' ') author_id = bi.author.get_user_id() date = bi.date modified = bi.modified last_modified = bi.last_modified() num_comments = bi.num_all_comments() feedback = bi.get_karma_score() plus_total, neg_total, pos_karma_givers, neg_karma_givers = bi.karma_details() plus_users = len(pos_karma_givers) neg_users = len(neg_karma_givers) decayed = (plus_total - neg_total) - feedback print "%s\t%s\thttp://www.ned.com%s\t%s\t%s\t%s\t%s\t%s\t%d\t%d\t%d\t%d\t%d\t%d\t%d" % \ (title, shortgroup, url, author_name, author_id, str(date), str(modified), str(last_modified), num_comments, feedback, plus_users, plus_total, \ neg_users, neg_total, decayed)
def do_all_groups(): i = 1 for groupid, group in db.group_db.root.items(): _fetch_url(i, path_to_obj(group)) i += 1
def do_all_users(): i = 1 for userid, user in db.user_db.root.items(): _fetch_url(i, path_to_obj(user)) i += 1