From: Scott Worley Date: Sat, 30 Dec 2023 12:33:36 +0000 (-0800) Subject: Only look within each chunk-dom for chunk fields X-Git-Url: http://git.scottworley.com/paperdoorknob/commitdiff_plain/551bb1c9f85382a90abc89ac622bd363dccd36a7 Only look within each chunk-dom for chunk fields --- diff --git a/glowfic.py b/glowfic.py index a700995..e192646 100644 --- a/glowfic.py +++ b/glowfic.py @@ -74,21 +74,22 @@ def chunkDOMs(html: BeautifulSoup) -> Iterable[Tag]: def makeChunk(chunk_dom: Tag, image_store: ImageStore) -> Chunk: def getIcon() -> str | None: - icon_div = chunk_dom.find_next('div', class_='post-icon') + icon_div = chunk_dom.findChild('div', class_='post-icon') if icon_div is None: return None - icon_img = icon_div.find_next('img') + assert isinstance(icon_div, Tag) + icon_img = icon_div.findChild('img') if icon_img is None: return None assert isinstance(icon_img, Tag) return image_store.get_image(icon_img.attrs['src']) def getByClass(css_class: str) -> Tag | None: - tag = chunk_dom.find_next('div', class_=css_class) + tag = chunk_dom.findChild('div', class_=css_class) assert tag is None or isinstance(tag, Tag) return tag - content = chunk_dom.find_next('div', class_='post-content') + content = chunk_dom.findChild('div', class_='post-content') assert isinstance(content, Tag) return Chunk(getIcon(),