Skip to content

Commit 724ece3

Browse files
authored
Fix for github profile PNGs being saved in the root directory (boostorg#1930)
1 parent c73de39 commit 724ece3

File tree

1 file changed

+3
-10
lines changed

1 file changed

+3
-10
lines changed

users/models.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import uuid
22
import logging
3-
import os
43
from contextlib import suppress
54

65
import requests
@@ -10,7 +9,6 @@
109
BaseUserManager,
1110
PermissionsMixin,
1211
)
13-
from django.core.files import File
1412
from django.core.mail import send_mail
1513
from django.db import models, transaction
1614
from django.db.models.signals import post_save
@@ -263,16 +261,11 @@ class User(BaseUser):
263261
delete_permanently_at = models.DateTimeField(null=True, editable=False)
264262

265263
def save_image_from_provider(self, avatar_url):
264+
from django.core.files.base import ContentFile
265+
266266
response = requests.get(avatar_url)
267267
filename = f"{self.profile_image_filename_root}.png"
268-
os.path.join(settings.MEDIA_ROOT, "media", "profile-images", filename)
269-
270-
with open(filename, "wb") as f:
271-
f.write(response.content)
272-
273-
reopen = open(filename, "rb")
274-
django_file = File(reopen)
275-
self.image.save(filename, django_file, save=True)
268+
self.image.save(filename, ContentFile(response.content), save=True)
276269

277270
@cached_property
278271
def profile_image_filename_root(self):

0 commit comments

Comments
 (0)