コード例 #1
0
ファイル: extra_tags.py プロジェクト: pekka/askbot-devel
def gravatar(user, size):
    """
    Creates an ``<img>`` for a user's Gravatar with a given size.

    This tag can accept a User object, or a dict containing the
    appropriate values.
    """
    #todo: rewrite using get_from_dict_or_object
    gravatar = get_from_dict_or_object(user, 'gravatar')
    username = get_from_dict_or_object(user, 'username')
    user_id = get_from_dict_or_object(user, 'id')
    slug = slugify(username)
    user_profile_url = reverse(
        'user_profile', kwargs={
            'id': user_id,
            'slug': slug
        })
    #safe_username = template.defaultfilters.urlencode(username)
    return mark_safe(
        GRAVATAR_TEMPLATE % {
            'user_profile_url': user_profile_url,
            'size': size,
            'gravatar_hash': gravatar,
            'alt_text': _('%(username)s gravatar image') % {
                'username': username
            },
            'username': username,
        })
コード例 #2
0
ファイル: extra_tags.py プロジェクト: pekka/askbot-devel
def question_counter_widget(question):

    view_count = get_from_dict_or_object(question,'view_count')
    answer_count = get_from_dict_or_object(question,'answer_count')
    vote_count = get_from_dict_or_object(question,'score')
    answer_accepted = get_from_dict_or_object(question,'answer_accepted')

    #background and foreground colors for each item
    (views_fg, views_bg) = colors.get_counter_colors(
                                view_count,
                                max = settings.VIEW_COUNTER_EXPECTED_MAXIMUM,
                                zero_bg = settings.COLORS_VIEW_COUNTER_EMPTY_BG,
                                zero_fg = settings.COLORS_VIEW_COUNTER_EMPTY_FG,
                                min_bg = settings.COLORS_VIEW_COUNTER_MIN_BG,
                                min_fg = settings.COLORS_VIEW_COUNTER_MIN_FG,
                                max_bg = settings.COLORS_VIEW_COUNTER_MAX_BG,
                                max_fg = settings.COLORS_VIEW_COUNTER_MAX_FG,
                            )

    (answers_fg, answers_bg) = colors.get_counter_colors(
                                answer_count,
                                max = settings.ANSWER_COUNTER_EXPECTED_MAXIMUM,
                                zero_bg = settings.COLORS_ANSWER_COUNTER_EMPTY_BG,
                                zero_fg = settings.COLORS_ANSWER_COUNTER_EMPTY_FG,
                                min_bg = settings.COLORS_ANSWER_COUNTER_MIN_BG,
                                min_fg = settings.COLORS_ANSWER_COUNTER_MIN_FG,
                                max_bg = settings.COLORS_ANSWER_COUNTER_MAX_BG,
                                max_fg = settings.COLORS_ANSWER_COUNTER_MAX_FG,
                            )
    if answer_accepted:
        #todo: maybe recalculate the foreground color too
        answers_bg = settings.COLORS_ANSWER_COUNTER_ACCEPTED_BG
        answers_fg = settings.COLORS_ANSWER_COUNTER_ACCEPTED_FG

    (votes_fg, votes_bg) = colors.get_counter_colors(
                                vote_count,
                                max = settings.VOTE_COUNTER_EXPECTED_MAXIMUM,
                                zero_bg = settings.COLORS_VOTE_COUNTER_EMPTY_BG,
                                zero_fg = settings.COLORS_VOTE_COUNTER_EMPTY_FG,
                                min_bg = settings.COLORS_VOTE_COUNTER_MIN_BG,
                                min_fg = settings.COLORS_VOTE_COUNTER_MIN_FG,
                                max_bg = settings.COLORS_VOTE_COUNTER_MAX_BG,
                                max_fg = settings.COLORS_VOTE_COUNTER_MAX_FG,
                            )

    #returns a dictionary with keys like 'votes_bg', etc
    return locals()