Gravatar から画像を取ってくる

今年に入ってからまだ1本しかエントリー書いてなかったので、焦っています。

def get_gravatar(mailaddress):
    from urllib import urlencode
    from hashlib import md5
    from urlparse import urlunparse

    _query_string = urlencode({
        'd': DEFAULT_USER_ICON, 's': 160
    })
    call_api_addr = [
        'http', 'www.gravatar.com',
        '/avatar/%s' % (md5(mailaddress).hexdigest()), '', _query_string, ''
    ]

    return urlunparse(call_api_addr)

API がすっきりしていて綺麗ですね。

問い合わせたメールアドレスに対して Gravatar が登録されていない場合は DEDAULT_USER_ICON に指定した URL へリダイレクトしてくれます。