Example #1
0
 def get_default_avatar(self, default_size=32):
     # user default avatar
     img_tag = """<img src="%s" width="%s" height="%s" class="avatar" alt="" />""" % \
             (get_default_avatar_url(), default_size, default_size)
     pattern = r'src="(.*)"'
     repl = r'src="%s\1"' % get_site_scheme_and_netloc()
     return re.sub(pattern, repl, img_tag)
Example #2
0
 def get_default_avatar(self, default_size=32):
     # user default avatar
     img_tag = """<img src="%s" width="%s" height="%s" class="avatar" alt="" />""" % \
             (get_default_avatar_url(), default_size, default_size)
     pattern = r'src="(.*)"'
     repl = r'src="%s\1"' % get_site_scheme_and_netloc()
     return re.sub(pattern, repl, img_tag)
Example #3
0
def add_notice_from_info(notices):
    '''Add 'msg_from' or 'default_avatar_url' to notice.
        
    '''
    default_avatar_url = get_default_avatar_url()
    for notice in notices:
        if notice.is_user_message():
            d = notice.user_message_detail_to_dict()
            if d.get('msg_from') is not None:
                notice.msg_from = d.get('msg_from')
            else:
                notice.default_avatar_url = default_avatar_url

        elif notice.is_group_msg():
            d = notice.group_message_detail_to_dict()
            if d.get('msg_from') is not None:
                notice.msg_from = d.get('msg_from')
            else:
                notice.default_avatar_url = default_avatar_url

        elif notice.is_file_uploaded_msg():
            notice.default_avatar_url = default_avatar_url

        elif notice.is_repo_share_msg():
            try:
                d = json.loads(notice.detail)
                notice.msg_from = d['share_from']
            except Exception as e:
                logger.error(e)
                notice.default_avatar_url = default_avatar_url

        elif notice.is_repo_share_to_group_msg():
            try:
                d = json.loads(notice.detail)
                notice.msg_from = d['share_from']
            except Exception as e:
                logger.error(e)
                notice.default_avatar_url = default_avatar_url

        elif notice.is_group_join_request():
            try:
                d = json.loads(notice.detail)
                notice.msg_from = d['username']
            except Exception as e:
                logger.error(e)
                notice.default_avatar_url = default_avatar_url

        elif notice.is_add_user_to_group():
            try:
                d = json.loads(notice.detail)
                notice.msg_from = d['group_staff']
            except Exception as e:
                logger.error(e)
                notice.default_avatar_url = default_avatar_url

        else:
            pass

    return notices
Example #4
0
def add_notice_from_info(notices):
    '''Add 'msg_from' or 'default_avatar_url' to notice.
        
    '''
    default_avatar_url = get_default_avatar_url()
    for notice in notices:
        if notice.is_user_message():
            d = notice.user_message_detail_to_dict()
            if d.get('msg_from') is not None:
                notice.msg_from = d.get('msg_from')
            else:
                notice.default_avatar_url = default_avatar_url

        elif notice.is_group_msg():
            d = notice.group_message_detail_to_dict()
            if d.get('msg_from') is not None:
                notice.msg_from = d.get('msg_from')
            else:
                notice.default_avatar_url = default_avatar_url

        elif notice.is_file_uploaded_msg():
            notice.default_avatar_url = default_avatar_url

        elif notice.is_repo_share_msg():
            try:
                d = json.loads(notice.detail)
                notice.msg_from = d['share_from']
            except Exception as e:
                logger.error(e)
                notice.default_avatar_url = default_avatar_url

        elif notice.is_repo_share_to_group_msg():
            try:
                d = json.loads(notice.detail)
                notice.msg_from = d['share_from']
            except Exception as e:
                logger.error(e)
                notice.default_avatar_url = default_avatar_url

        elif notice.is_group_join_request():
            try:
                d = json.loads(notice.detail)
                notice.msg_from = d['username']
            except Exception as e:
                logger.error(e)
                notice.default_avatar_url = default_avatar_url

        elif notice.is_add_user_to_group():
            try:
                d = json.loads(notice.detail)
                notice.msg_from = d['group_staff']
            except Exception as e:
                logger.error(e)
                notice.default_avatar_url = default_avatar_url

        else:
            pass

    return notices
Example #5
0
def api_avatar_url(user, size=AVATAR_DEFAULT_SIZE):
    avatar = get_primary_avatar(user, size=size)
    if avatar:
        url = avatar.avatar_url(size)
        date_uploaded = avatar.date_uploaded
        return url, False, date_uploaded
    else:
        return get_default_avatar_url(), True, None
Example #6
0
def api_avatar_url(user, size=AVATAR_DEFAULT_SIZE):
    avatar = get_primary_avatar(user, size=size)
    if avatar:
        url = avatar.avatar_url(size)
        date_uploaded = avatar.date_uploaded
        return url, False, date_uploaded
    else:
        return get_default_avatar_url(), True, None
Example #7
0
def avatar_url(user, size=AVATAR_DEFAULT_SIZE):
    avatar = get_primary_avatar(user, size=size)
    if avatar:
        return avatar.avatar_url(size)
    else:
        if AVATAR_GRAVATAR_BACKUP:
            params = {'s': str(size)}
            if AVATAR_GRAVATAR_DEFAULT:
                params['d'] = AVATAR_GRAVATAR_DEFAULT
            return "http://www.gravatar.com/avatar/%s/?%s" % (hashlib.md5(
                user.email).hexdigest(), urllib.urlencode(params))
        else:
            return get_default_avatar_url()
Example #8
0
def render_primary(request, extra_context={}, user=None, size=AVATAR_DEFAULT_SIZE, *args, **kwargs):
    size = int(size)
    avatar = get_primary_avatar(user, size=size)
    if avatar:
        # FIXME: later, add an option to render the resized avatar dynamically
        # instead of redirecting to an already created static file. This could
        # be useful in certain situations, particulary if there is a CDN and
        # we want to minimize the storage usage on our static server, letting
        # the CDN store those files instead
        return HttpResponseRedirect(avatar.avatar_url(size))
    else:
        url = get_default_avatar_url()
        return HttpResponseRedirect(url)
Example #9
0
def render_primary(request, extra_context={}, user=None, size=AVATAR_DEFAULT_SIZE, *args, **kwargs):
    size = int(size)
    avatar = get_primary_avatar(user, size=size)
    if avatar:
        # FIXME: later, add an option to render the resized avatar dynamically
        # instead of redirecting to an already created static file. This could
        # be useful in certain situations, particulary if there is a CDN and
        # we want to minimize the storage usage on our static server, letting
        # the CDN store those files instead
        return HttpResponseRedirect(avatar.avatar_url(size))
    else:
        url = get_default_avatar_url()
        return HttpResponseRedirect(url)
Example #10
0
def avatar_url(user, size=AVATAR_DEFAULT_SIZE):
    avatar = get_primary_avatar(user, size=size)
    if avatar:
        return avatar.avatar_url(size)
    else:
        if AVATAR_GRAVATAR_BACKUP:
            params = {'s': str(size)}
            if AVATAR_GRAVATAR_DEFAULT:
                params['d'] = AVATAR_GRAVATAR_DEFAULT
            return "http://www.gravatar.com/avatar/%s/?%s" % (
                hashlib.md5(user.email).hexdigest(),
                urllib.urlencode(params))
        else:
            return get_default_avatar_url()
Example #11
0
def add_notice_from_info(notices):
    '''Add 'msg_from' or 'default_avatar_url' to notice.
        
    '''
    default_avatar_url = get_default_avatar_url()
    for notice in notices:
        if notice.is_user_message():
            d = notice.user_message_detail_to_dict()
            notice.msg_from = d.get('msg_from')

        elif notice.is_group_msg():
            d = notice.group_message_detail_to_dict()
            if d.get('msg_from') is not None:
                notice.msg_from = d.get('msg_from')
            else:
                notice.default_avatar_url = default_avatar_url

        elif notice.is_grpmsg_reply():
            d = notice.grpmsg_reply_detail_to_dict()
            if d.get('reply_from') is not None:
                notice.msg_from = d.get('reply_from')
            else:
                notice.default_avatar_url = default_avatar_url

        elif notice.is_file_uploaded_msg():
            notice.default_avatar_url = default_avatar_url

        elif notice.is_repo_share_msg():
            d = json.loads(notice.detail)
            notice.msg_from = d['share_from']

        elif notice.is_priv_file_share_msg():
            d = json.loads(notice.detail)
            notice.msg_from = d['share_from']

        elif notice.is_group_join_request():
            d = json.loads(notice.detail)
            notice.msg_from = d['username']

        else:
            pass

    return notices
Example #12
0
File: views.py Project: 3c7/seahub
def add_notice_from_info(notices):
    '''Add 'msg_from' or 'default_avatar_url' to notice.
        
    '''
    default_avatar_url = get_default_avatar_url()
    for notice in notices:
        if notice.is_user_message():
            d = notice.user_message_detail_to_dict()
            notice.msg_from = d.get('msg_from')

        elif notice.is_group_msg():
            d = notice.group_message_detail_to_dict()
            if d.get('msg_from') is not None:
                notice.msg_from = d.get('msg_from')
            else:
                notice.default_avatar_url = default_avatar_url

        elif notice.is_grpmsg_reply():
            d = notice.grpmsg_reply_detail_to_dict()
            if d.get('reply_from') is not None:
                notice.msg_from = d.get('reply_from')
            else:
                notice.default_avatar_url = default_avatar_url

        elif notice.is_file_uploaded_msg():
            notice.default_avatar_url = default_avatar_url

        elif notice.is_repo_share_msg():
            d = json.loads(notice.detail)
            notice.msg_from = d['share_from']

        elif notice.is_priv_file_share_msg():
            d = json.loads(notice.detail)
            notice.msg_from = d['share_from']

        elif notice.is_group_join_request():
            d = json.loads(notice.detail)
            notice.msg_from = d['username']

        else:
            pass

    return notices
Example #13
0
def api_avatar_url(user, size=AVATAR_DEFAULT_SIZE):
    service_url = DTABLE_WEB_SERVICE_URL
    service_url = service_url.rstrip('/')

    # when store avatars in the media directory
    if not AVATAR_FILE_STORAGE:
        # urlparse('https://192.157.12.3:89/demo')
        # ParseResult(scheme='https', netloc='192.157.12.3:89', path='/demo', params='', query='', fragment='')
        parse_result = urlparse(service_url)
        service_url = '%s://%s' % (parse_result[0], parse_result[1])

    avatar = get_primary_avatar(user, size=size)
    if avatar:
        url = avatar.avatar_url(size)
        date_uploaded = avatar.date_uploaded
        # /media/avatars/6/9/5011f01afac2a506b9544c5ce21a0a/resized/32/109af9901c0fd38ab39d018f5cd4baf6.png
        return service_url + url, False, date_uploaded
    else:
        # /media/avatars/default.png
        return service_url + get_default_avatar_url(), True, None
Example #14
0
def add_notice_from_info(notices):
    '''Add 'msg_from' or 'default_avatar_url' to notice.

    '''
    default_avatar_url = get_default_avatar_url()
    for notice in notices:
        notice.default_avatar_url = default_avatar_url

        if notice.is_add_user_to_group_msg():
            try:
                d = json.loads(notice.detail)
                notice.msg_from = d['group_staff']
            except Exception as e:
                logger.error(e)

        if notice.is_share_dtable_to_user_msg():
            try:
                d = json.loads(notice.detail)
                notice.msg_from = d['share_user']
            except Exception as e:
                logger.error(e)

    return notices
Example #15
0
def avatar_url(user, size=AVATAR_DEFAULT_SIZE):
    avatar = get_primary_avatar(user, size=size)
    if avatar:
        url = avatar.avatar_url(size)
    else:
        if AVATAR_GRAVATAR_BACKUP:
            params = {'s': str(size)}
            if AVATAR_GRAVATAR_DEFAULT:
                params['d'] = AVATAR_GRAVATAR_DEFAULT
            return "http://www.gravatar.com/avatar/%s/?%s" % (
                hashlib.md5(user.email.encode('utf-8')).hexdigest(),
                urllib.parse.urlencode(params))
        else:
            url = get_default_avatar_url()

    # when store avatars in the media directory
    if not AVATAR_FILE_STORAGE:
        return url

    if SITE_ROOT != '/':
        return '/%s/%s' % (SITE_ROOT.strip('/'), url.strip('/'))
    else:
        return url