Source code for todays_paper_web.widgets.misc.gocomics

from io import BytesIO

import requests
from gocomics import Comic
from PIL import Image
from pydantic import Field

from todays_paper_web.widgets import registerView
from todays_paper_web.widgets.core.image import ImageBaseView, ImageParams


[docs] class GoComicsParams(ImageParams): identifier: str = Field( ..., description="The comic's slug from its GoComics URL, e.g. `calvinandhobbes`." )
@registerView("gocomics") class GoComics(ImageBaseView): Params = GoComicsParams def fetch_img(self): comic = Comic(self.params.identifier) response = requests.get(comic.image) return Image.open(BytesIO(response.content))