Exemple #1
0
def get_recent_change_descs(num_changes=
                            config.LayoutConfig.num_recent_changes):
    changelog = []
    changes = (Change.select()
               .order_by(Change.timestamp.desc())
               .limit(num_changes))
    for change in changes:
        username = change.user.username
        pos_chars = 0
        neg_chars = 0
        new_pages = 0
        if change.size_diff >= 0:
            char_diff = ('<span class="plus-chars">+%s</span> chars' %
                         change.size_diff)
            pos_chars = change.size_diff
        else:
            char_diff = ('<span class="minus-chars">-%s</span> chars' %
                         -change.size_diff)
            neg_chars = change.size_diff
        if change.change_type == 'new':
            change_action = 'created page'
            new_pages = 1
        elif change.change_type == 'edit':
            change_action = 'edited page'
        page_title = change.page.page_title
        page_url = '#'
        page_link = '<a href="%s">%s</a>' % (page_url, page_title)
        timeago = parse_datetime(change.timestamp)
        points = calc_user_score(pos_chars, neg_chars, new_pages)
        points_html = ('<span class="change-points">%s wikipoints</span>' %
                       points)
        # [Ckarpfinger]
        # [created page]
        # [What the f is git]
        # [2 days ago]
        # [(+31 chars)]
        # for [9001 wikipoints].
        summary_str = '<span class="username">%s</span> %s %s %s (%s) for %s.'
        summary = summary_str % (username, change_action, page_link, timeago,
                                 char_diff, points_html)
        changelog.append({'summary': summary, 'change': change})
    return changelog
Exemple #2
0
def get_recent_changes(num_changes=
                       config.LayoutConfig.num_recent_changes):
    changes = (Change.select()
               .order_by(Change.timestamp.desc())
               .limit(num_changes))
    return changes