def _receive(self):
     """
     Downloads a Gravatar image. May raise an HTTPError.
     """
     g = Gravatar(self._email)
     response = urlopen(g.get_image(size=self._resolution, default="404", use_ssl=True))
     return response
Beispiel #2
0
def gravatar(user):
    email = user.email.lower()
    default = 'mm'
    size = 256
    g = Gravatar(email)
    url = g.get_image()
    return url
Beispiel #3
0
def gravatar_url(email, size=150):
    default = "https://picsum.photos/{}.jpg".format(size)
    g = Gravatar(email)
    gravatar_url = g.get_image(size=size,
                               default=default,
                               filetype_extension=True)
    return gravatar_url
 def to_dict(self):
     g = Gravatar(self.email)
     return {
         "email": self.email,
         "name": self.name,
         "avatar_url": g.get_image()
     }
def profile():
    g = Gravatar("*****@*****.**")
    return render_template(
        'profile.html',
        gravatar=g.get_image(
            size=40,
            default=request.url_root +
            url_for('static', filename='assets/img/default-avatar.png')))
Beispiel #6
0
 def create(self, validated_data):
     g = Gravatar(validated_data['email'])
     gravatar = g.get_image(size=120, default='retro', use_ssl=True)
     user = CustomUser.objects.create_user(validated_data['username'],
                                           validated_data['email'],
                                           validated_data['password'],
                                           gravatar=gravatar)
     return user
    def avatar_url(self):
        if self.has_avatar:
            config = get_config()

            if config.AVATAR_STORAGE == 'local':
                return f'/users/{self.id}/avatar'

            return self.get_storage_blob().public_url

        # otherwise return a gravatar url
        av = Gravatar(self.email)
        return av.get_image(size=200,
                            default=DEFAULT_AV_URL,
                            filetype_extension=True,
                            use_ssl=True)
Beispiel #8
0
    def post(self, request, *args, **kwargs):
        """Method for updating your profile."""
        me = get_object_or_404(CustomUser, id=request.user.id)

        if 'refreshAvatar' in request.data:
            g = Gravatar(me.email)
            me.gravatar = g.get_image(size=120, default='retro', use_ssl=True)

        for key in request.data:
            setattr(me, key, request.data[key])

        me.save()
        serializer = ProfileSerializer(me).data

        return Response(serializer)
Beispiel #9
0
def fetch_avatar(email):
    g = Gravatar(email)
    url = g.get_image(size=100)
    response = urllib2.urlopen(url)

    f = open("/tmp/tmp.png", "wb")
    f.write(response.read())
    f.close()

    img = Magick.Image("/tmp/tmp.png")
    img.magick('XBM')
    img.write("/tmp/out.xbm")
    f = open("/tmp/out.xbm", "rt")
    content = f.read()
    f.close()
    return xbm_to_base64(content)
Beispiel #10
0
 def to_json(self):
     gravatar = Gravatar(self.user.email)
     src = gravatar.get_image()
     return {
         'id':
         self.id,
         'username':
         self.username,
         'gravatar':
         src,
         'contents':
         self.contents,
         'childs': [child.to_json() for child in self.childs],
         'created':
         None if self.created is None else
         self.created.strftime('%Y%m%dT%H%M%S%z'),
     }
Beispiel #11
0
def userinfo(request, pk):
    response_json_data = {}
    try:
        user = Admin.objects.get(id=pk)
        response_json_data['nickname'] = user.nickname
        response_json_data['email'] = user.email
        response_json_data['type'] = user.usertype
        response_json_data['image'] = ""
        if user.email is not None:
            image = Gravatar(user.email)
            response_json_data['image'] = image.get_image()
        if user.usertype == 2:
            info = Student.objects.get(student_id=pk)
            response_json_data['name'] = info.name
            response_json_data['id'] = info.student_id
            response_json_data['classroom'] = info.classroom.name
            response_json_data['classroom_id'] = info.classroom_id
            response_json_data['department_name'] = info.department.name
            response_json_data['department_id'] = info.department.department_id
            response_json_data['sex'] = info.sex
            response_json_data['age'] = info.age
            response_json_data['person_id'] = info.person_id
            response_json_data['phone_num'] = info.phone_num
        elif user.usertype == 1:
            info = Teacher.objects.get(teacher_id=pk)
            response_json_data['id'] = info.teacher_id
            response_json_data['department_id'] = info.department_id
            response_json_data['age'] = info.age
            response_json_data['name'] = info.name
            response_json_data['department_name'] = info.department.name
            response_json_data['department_id'] = info.department.department_id
            response_json_data['address'] = info.address
            response_json_data['sex'] = info.sex
            response_json_data['person_id'] = info.person_id
            response_json_data['phone_num'] = info.phone_num
        response_json_data["code"] = 200
        response_json_data["msg"] = "获取成功"
        return JsonResponse(response_json_data)

    except ObjectDoesNotExist:
        response_json_data["code"] = 404
        response_json_data["msg"] = "用户不存在"
        return JsonResponse(response_json_data)
Beispiel #12
0
def getDiscuss(request):
    discuss = Discuss.objects.all().order_by('-time')
    response_json_data = {
        'code': 200,
        'msg': '请求成功',
        'num': discuss.count(),
        'result': [],
    }
    for i in discuss:
        try:
            user = Admin.objects.get(id=i.student.student_id)
            if user.email is not None:
                image = Gravatar(user.email)
            else:
                image = "",
            response_json_data['result'].append({
                'discuss_id':
                i.discuss_id,
                'username':
                i.student.name,
                'img':
                image.get_image(),
                'class':
                i.student.classroom.name,
                'like_num':
                i.like_num,
                'text':
                i.text,
                'time':
                i.time.strftime("%Y-%m-%d %H:%I:%S"),
            })
        except ObjectDoesNotExist:
            response_json_data['result'].append({
                'discuss_id': i.discuss_id,
                'username': i.student.name,
                'img': '',
                'class': i.student.classroom.name,
                'like_num': i.like_num,
                'text': i.text,
                'time': i.time,
            })
    return JsonResponse(response_json_data)
Beispiel #13
0
def get_gravatar_image(email):
    '''
        输入email 判断这个邮箱是否有头像 
        有就保存 没有就返回 默认头像
    '''
    # 判断数据库有没有这个邮箱 有就直接用
    emails = class_comment.query_email(email=email)
    if len(emails) > 0:
        if emails[-1].vcardurl != 'default_img':
            return emails[-1].vcardurl

    imgpath = os.path.join(config.cwd, 'app', 'static', 'img', 'gravatar')
    g = Gravatar(email)
    r = requests.get(g.get_image(default="404"))

    if r.status_code == 404:
        return "default_img"
    else:
        i_type = r.headers.get('Content-Type', '')[-3:].lower()
        if i_type not in ['jpg', 'png']:
            i_type = 'jpg'
        count = len(os.listdir(imgpath))
        filename = ''
        while filename == '':
            count += 1
            imgname = '{}.{}'.format(count, i_type)
            target_filename = os.path.join(imgpath, imgname)
            if os.path.isfile(target_filename):
                continue
            else:
                filename = target_filename
                break
        with open(filename, 'wb') as f:
            f.write(r.content)
        result = url_for('static', filename='img/gravatar/{}'.format(imgname))
        return result
Beispiel #14
0
 def avatar(self):
     g = Gravatar(self.email)
     return g.get_image(default='identicon')
Beispiel #15
0
def get_users_avatar(app_user_mail):
    print(app_user_mail.lower())
    gravatar_mail = Gravatar(app_user_mail.lower())
    avatar_url = gravatar_mail.get_image(size=150, default='http://www.charliejsanchez.com/wp-content/uploads/2017/12/default.jpg')
    return avatar_url
Beispiel #16
0
def index(request):
    g = Gravatar(request.user.email)
    gravatar_img = g.get_image()

    return render(request, 'index.html', {'gravatar_img': gravatar_img})
Beispiel #17
0
 def image(self):
     g = Gravatar(self.email)
     return g.get_image()
 def get_gravatar(self, obj):
     gravatar = Gravatar(obj.email)
     return gravatar.get_image(size=240, default='identicon')
Beispiel #19
0
def gravatar_url(email):
    g = Gravatar(email)
    return g.get_image(size=200)
class GravatarImageTestCase(unittest.TestCase):
    """Test case for the Gravatar class and the get_image method."""
    def setUp(self):
        self.g = Gravatar('*****@*****.**')

    def test_without_params(self):
        """Test a get_image with default parameters."""
        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346'
        result = self.g.get_image()
        self.assertEqual(image_url, result)

    def test_image_size(self):
        """Test image size parameter."""
        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?size=24'
        result = self.g.get_image(size=24)
        self.assertEqual(image_url, result)

    def test_invalid_image_size(self):
        """Test an invalid image size value."""
        self.assertRaises(ValueError, self.g.get_image, size=0)
        self.assertRaises(ValueError, self.g.get_image, size=2049)

    def test_filetype_extension(self):
        """Test filetype_extension parameter."""
        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346.jpg'
        result = self.g.get_image(filetype_extension=True)
        self.assertEqual(image_url, result)

    def test_default(self):
        """Test default parameter."""
        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?default=monsterid'
        result = self.g.get_image(default='monsterid')
        self.assertEqual(image_url, result)

        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?default=http%3A%2F%2Fexample.com%2Fimages%2Favatar.jpg'
        result = self.g.get_image(
            default='http://example.com/images/avatar.jpg')
        self.assertEqual(image_url, result)

        invalid_default_url = 'ftp://example.com/images/avatar.php?key=value'
        self.assertRaises(ValueError,
                          self.g.get_image,
                          default=invalid_default_url)

    def test_forcedefault(self):
        """Test forcedefault parameter."""
        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?forcedefault=y'
        result = self.g.get_image(force_default=True)
        self.assertEqual(image_url, result)

    def test_use_ssl(self):
        """Test use_ssl parameter."""
        image_url = 'https://secure.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346'
        result = self.g.get_image(use_ssl=True)
        self.assertEqual(image_url, result)

    def test_rating(self):
        """Test the rating parameter."""
        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?rating=g'
        result = self.g.get_image(rating='g')
        self.assertEqual(image_url, result)

        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?rating=pg'
        result = self.g.get_image(rating='pg')
        self.assertEqual(image_url, result)

        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?rating=r'
        result = self.g.get_image(rating='r')
        self.assertEqual(image_url, result)

        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?rating=x'
        result = self.g.get_image(rating='x')
        self.assertEqual(image_url, result)

        self.assertRaises(ValueError, self.g.get_image, rating='invalid')
Beispiel #21
0
def gravatar_url(value):
    g = Gravatar(value)
    return g.get_image(size=72)
Beispiel #22
0
 def get_avatar(self, email):
   g = Gravatar(email)
   image_url = g.get_image(size=90)
   print(image_url)
Beispiel #23
0
def get_gravatar_url(email):
    g = Gravatar(email)
    return g.get_image(default='identicon')
Beispiel #24
0
def gravatar(email, size=40):
    '''Get commenter's avatar from Gravatar service via API (depends on libgravatar)'''
    g = Gravatar(email)
    return g.get_image(size, "mm")
Beispiel #25
0
 def get_avatar_url(self, email):
     # email = self.user.email
     g = Gravatar(email)
     return g.get_image()
Beispiel #26
0
 def gravatar_url(self):
     from libgravatar import Gravatar
     email = (self.email)
     g = Gravatar(email)
     return g.get_image()
Beispiel #27
0
 def gravatar_image(self):
     g = Gravatar(self.user.email)
     return g.get_image(size=100)
Beispiel #28
0
 def avatar(self):
     """Retorna a partir do endereço de e-mail, um avatar
     configurado no Gravatar ou um dos avatares padrão deles."""
     g = Gravatar(self.email)
     return g.get_image(default='identicon')
Beispiel #29
0
class GravatarImageTestCase(unittest.TestCase):
    """Test case for the Gravatar class and the get_image method."""

    def setUp(self):
        self.g = Gravatar('*****@*****.**')

    def test_without_params(self):
        """Test a get_image with default parameters."""
        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346'
        result = self.g.get_image()
        self.assertEqual(image_url, result)

    def test_image_size(self):
        """Test image size parameter."""
        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?size=24'
        result = self.g.get_image(size=24)
        self.assertEqual(image_url, result)

    def test_invalid_image_size(self):
        """Test an invalid image size value."""
        self.assertRaises(ValueError, self.g.get_image, size=0)
        self.assertRaises(ValueError, self.g.get_image, size=2049)

    def test_filetype_extension(self):
        """Test filetype_extension parameter."""
        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346.jpg'
        result = self.g.get_image(filetype_extension=True)
        self.assertEqual(image_url, result)

    def test_default(self):
        """Test default parameter."""
        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?default=monsterid'
        result = self.g.get_image(default='monsterid')
        self.assertEqual(image_url, result)

        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?default=http%3A%2F%2Fexample.com%2Fimages%2Favatar.jpg'
        result = self.g.get_image(default='http://example.com/images/avatar.jpg')
        self.assertEqual(image_url, result)

        invalid_default_url = 'ftp://example.com/images/avatar.php?key=value'
        self.assertRaises(ValueError, self.g.get_image, default=invalid_default_url)

    def test_forcedefault(self):
        """Test forcedefault parameter."""
        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?forcedefault=y'
        result = self.g.get_image(force_default=True)
        self.assertEqual(image_url, result)

    def test_use_ssl(self):
        """Test use_ssl parameter."""
        image_url = 'https://secure.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346'
        result = self.g.get_image(use_ssl=True)
        self.assertEqual(image_url, result)

    def test_rating(self):
        """Test the rating parameter."""
        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?rating=g'
        result = self.g.get_image(rating='g')
        self.assertEqual(image_url, result)

        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?rating=pg'
        result = self.g.get_image(rating='pg')
        self.assertEqual(image_url, result)

        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?rating=r'
        result = self.g.get_image(rating='r')
        self.assertEqual(image_url, result)

        image_url = 'http://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?rating=x'
        result = self.g.get_image(rating='x')
        self.assertEqual(image_url, result)

        self.assertRaises(ValueError, self.g.get_image, rating='invalid')