You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
6.5 KiB
89 lines
6.5 KiB
import base64, os
|
|
from django.conf import settings
|
|
from django.core.files.base import ContentFile
|
|
|
|
|
|
def decode_base64(my_str, upload_to=None):
|
|
if "data:" in my_str:
|
|
my_str = my_str[my_str.index("base64,") + 7:]
|
|
if not upload_to:
|
|
ext = my_str.split('/')[-1]
|
|
return ContentFile(base64.b64decode(my_str), name='temp.' + ext)
|
|
path = "%s/%s" % (settings.MEDIA_ROOT, upload_to)
|
|
os.makedirs(os.path.dirname(path), exist_ok=True)
|
|
url = "%s%s" % (settings.MEDIA_URL, upload_to)
|
|
with open(path, "wb") as fh:
|
|
fh.write(base64.b64decode(my_str))
|
|
return url
|
|
return my_str
|
|
|
|
|
|
def get_real_name(array, elem):
|
|
for i, j in array:
|
|
if i and (i == elem or j == elem):
|
|
return i
|
|
|
|
|
|
def get_empty_list():
|
|
return []
|
|
|
|
|
|
def custom_jwt_get_user_email(payload):
|
|
return payload.get('email')
|
|
|
|
|
|
EXAMPLE_BASE64 = "data:image/png;base64,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"
|
|
|