[Sync] Image::new updated. + md5
This commit is contained in:
1 parent
e54c448704
commit
a8ba0a60eb
2 files changed
+14
-1
No files matched your search
@@ -5,6 +5,7 @@ from typing import Optional, List
|
||||
from db import collection
|
||||
from sync.data import request
|
||||
from sync.models import Model
|
||||
from utils.hash import md5
|
||||
from utils.image.resize import image_magick_pdf_to_img
|
||||
import os
|
||||
|
||||
@@ -22,6 +23,11 @@ def get_upload_url(url):
|
||||
return os.path.join(settings.image_url_upload, os.path.basename(url))
|
||||
|
||||
|
||||
def default_url_factory(file, size, ext):
|
||||
url = settings.image_url_base + '{}-{}{}'
|
||||
return url.format(md5(file), size, ext)
|
||||
|
||||
|
||||
class Image(Model):
|
||||
@staticmethod
|
||||
async def find_one(query):
|
||||
@@ -29,7 +35,9 @@ class Image(Model):
|
||||
return document
|
||||
|
||||
@staticmethod
|
||||
async def new(provider, file, sizes, url_factory):
|
||||
async def new(provider, file, sizes, url_factory=None):
|
||||
url_factory = url_factory if url_factory else default_url_factory
|
||||
|
||||
img = Image(provider, file, data=None, url_factory=url_factory)
|
||||
changed = await img.is_changed()
|
||||
if changed:
|
||||
|
||||
@@ -26,3 +26,8 @@ def hash_str(data):
|
||||
data = to_json(data)
|
||||
|
||||
return hash_data(str(data).encode())
|
||||
|
||||
|
||||
def md5(data: str) -> str:
|
||||
i = hashlib.md5(data.encode('utf-8'))
|
||||
return i.hexdigest()
|
||||
Reference in new issue
Block a user