Skip to content

Commit 1763338

Browse files
joaomariolagopatrickelectric
authored andcommitted
extension: Add img encoding in readmes
1 parent edcad39 commit 1763338

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

blueos_repository/extension/extension.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
Image,
1818
Platform,
1919
)
20+
from extension.utils.markdown_img_encoder import MarkdownImageEncoder
2021
from logger import Logger
2122
from utils import valid_semver
2223

@@ -74,6 +75,11 @@ async def fetch_readme(url: str) -> str:
7475
raise Exception(f"Could not get readme, expected type to be text/plain but got {resp.content_type}")
7576
return await resp.text()
7677

78+
@staticmethod
79+
async def process_readme_md(readme: str, resources_url: str) -> str:
80+
encoder = MarkdownImageEncoder(readme, resources_url)
81+
return str(await encoder.get_processed_markdown())
82+
7783
def __extract_images_from_tag(self, tag: Tag) -> List[Image]:
7884
active_images = [
7985
image
@@ -156,9 +162,14 @@ async def __create_version_from_tag_blob(self, version_tag: Tag, blob: Blob) ->
156162

157163
readme = labels.get("readme", None)
158164
if readme is not None:
159-
readme = readme.replace(r"{tag}", version_tag.name)
165+
url = readme.replace(r"{tag}", version_tag.name)
160166
try:
161-
readme = await Extension.fetch_readme(readme)
167+
readme = await Extension.fetch_readme(url)
168+
try:
169+
url = url.rsplit("/", 1)[0]
170+
readme = await Extension.process_readme_md(readme, url)
171+
except Exception as error: # pylint: disable=broad-except
172+
Logger.warning(self.identifier, str(error))
162173
except Exception as error: # pylint: disable=broad-except
163174
Logger.warning(self.identifier, str(error))
164175
readme = str(error)

0 commit comments

Comments
 (0)