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
def gravatar(user): email = user.email.lower() default = 'mm' size = 256 g = Gravatar(email) url = g.get_image() return url
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')))
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)
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)
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)
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'), }
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)
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)
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
def avatar(self): g = Gravatar(self.email) return g.get_image(default='identicon')
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
def index(request): g = Gravatar(request.user.email) gravatar_img = g.get_image() return render(request, 'index.html', {'gravatar_img': gravatar_img})
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')
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')
def gravatar_url(value): g = Gravatar(value) return g.get_image(size=72)
def get_avatar(self, email): g = Gravatar(email) image_url = g.get_image(size=90) print(image_url)
def get_gravatar_url(email): g = Gravatar(email) return g.get_image(default='identicon')
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")
def get_avatar_url(self, email): # email = self.user.email g = Gravatar(email) return g.get_image()
def gravatar_url(self): from libgravatar import Gravatar email = (self.email) g = Gravatar(email) return g.get_image()
def gravatar_image(self): g = Gravatar(self.user.email) return g.get_image(size=100)
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')
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')