mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-07-11 07:38:56 +00:00
62 lines
1.9 KiB
Python
62 lines
1.9 KiB
Python
"""
|
|
web_utils file
|
|
"""
|
|
import base64
|
|
import datetime
|
|
|
|
from base.constants import ARTICLE_CARD_IMAGE_FOLDER, DATE_FORMAT
|
|
from guardian.utils import upload_image_to_alibaba, upload_base64_image_to_alibaba
|
|
|
|
|
|
def pop_id(data):
|
|
"""
|
|
to pop id, not in use
|
|
:param data:
|
|
:return: data
|
|
"""
|
|
data.pop('id') if 'id' in data else data
|
|
return data
|
|
|
|
|
|
def get_image_url(data):
|
|
"""
|
|
to get image url
|
|
:param data:
|
|
:return: image url
|
|
"""
|
|
if 'image_url' in data and 'http' in data['image_url']:
|
|
if 'image_name' in data:
|
|
data.pop('image_name')
|
|
return data['image_url']
|
|
elif 'image_url' in data and type(data['image_url']) == str and data['image_url'].startswith('data:image'):
|
|
base64_image = base64.b64decode(data.get('image_url').split(',')[1])
|
|
image_name = data.pop('image_name') if 'image_name' in data else f"{data['title']}.jpg"
|
|
filename = f"{ARTICLE_CARD_IMAGE_FOLDER}/{image_name}"
|
|
# upload image on ali baba
|
|
image_url = upload_base64_image_to_alibaba(base64_image, filename)
|
|
return image_url
|
|
elif 'image' in data and data['image'] is not None:
|
|
image = data.pop('image')
|
|
filename = f"{ARTICLE_CARD_IMAGE_FOLDER}/{image.name}"
|
|
# upload image on ali baba
|
|
image_url = upload_image_to_alibaba(image, filename)
|
|
return image_url
|
|
|
|
|
|
def get_dates(start_date, end_date):
|
|
"""
|
|
to get start and end date
|
|
:param start_date: format (yyyy-mm-dd)
|
|
:param end_date: format (yyyy-mm-dd)
|
|
:return: start and end date
|
|
"""
|
|
|
|
if start_date and end_date:
|
|
start_date = datetime.datetime.strptime(start_date, DATE_FORMAT).date()
|
|
end_date = datetime.datetime.strptime(end_date, DATE_FORMAT).date()
|
|
else:
|
|
end_date = datetime.date.today()
|
|
start_date = end_date - datetime.timedelta(days=6)
|
|
|
|
return start_date, end_date
|