From ffd8396fa03f9d5d0711da81da9c8be80ae23fdc Mon Sep 17 00:00:00 2001 From: Roman Timashev Date: Tue, 10 Mar 2020 18:32:51 +0300 Subject: [PATCH] sync building image update: compile image via proxy --- modules/sync/kazimir/Token.py | 2 ++ modules/sync/sync/__init__.py | 15 +++++++-------- modules/sync/sync/models/Image.py | 3 +++ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/modules/sync/kazimir/Token.py b/modules/sync/kazimir/Token.py index dcdc2963..aa5612ff 100644 --- a/modules/sync/kazimir/Token.py +++ b/modules/sync/kazimir/Token.py @@ -121,10 +121,12 @@ class ImageToken(Token): return data async def compile(self): + s = 1500 # ('big', 1500, 667) img = await self.get_data() alt = img['alt'] caption = markdown_to_html(img['caption']) src = img['src'] + src = f'https://images.weserv.nl/?url=${src}&w=${s}&h=${s}' tpl = f'''
diff --git a/modules/sync/sync/__init__.py b/modules/sync/sync/__init__.py index 4886435d..ab8dc7fc 100644 --- a/modules/sync/sync/__init__.py +++ b/modules/sync/sync/__init__.py @@ -98,22 +98,21 @@ async def create_post(provider: Provider, folder: str, md: str, sizes): } async def build_image(data): - src = data['file'] - relative_image_path = os.path.join(folder, src) - - image_path = provider.get_local(relative_image_path) + filename = data['file'] + relative_path = os.path.join(folder, filename) + image_path = provider.get_local(relative_path) if os.path.exists(image_path): - image = await Image.new(provider, relative_image_path, sizes) + image = await Image.new(provider, relative_path, sizes) if image: - url = image.get_size('big')['url'] images.append(image) + src = image.get_src() return { - 'src': url, + 'src': src, 'alt': data['caption'], 'caption': data['caption'], } - raise Exception('Fail to get Image', relative_image_path) + raise Exception('Fail to get Image', relative_path) async def read_file(data): filepath = data diff --git a/modules/sync/sync/models/Image.py b/modules/sync/sync/models/Image.py index c4954474..1915f44c 100644 --- a/modules/sync/sync/models/Image.py +++ b/modules/sync/sync/models/Image.py @@ -129,6 +129,9 @@ class Image(Model): return self.data[size] return None + def get_src(self): + return self.get_size('original')['url'] + def _get_image_file(self): return self._get_abs(self.file)