diff --git a/paper_atlas/collectors/aamas2026.py b/paper_atlas/collectors/aamas2026.py index c8f908f..9c47b45 100644 --- a/paper_atlas/collectors/aamas2026.py +++ b/paper_atlas/collectors/aamas2026.py @@ -84,13 +84,15 @@ def parse_contents(html, evidence): if page in seen_pages: raise ValueError('Repeated publisher page ID') seen_pages.add(page) - title = clean(one([n for n in node.walk() if n.tag == 'strong'], 'paper title').text()) + title_node = one([n for n in node.walk() if n.tag == 'strong'], 'paper title') + title = clean(title_node.text()) if not title: raise ValueError('Empty paper title') authors, affiliations = parse_authors(node) link = one([n for n in node.walk() if n.tag == 'a' and 'href' in n.attrs], 'paper link') href = link.attrs['href'] - retractions = [clean(n.text()) for n in link.walk() if n.tag == 'i'] + title_nodes = {id(n) for n in title_node.walk()} + retractions = [clean(n.text()) for n in link.walk() if n.tag == 'i' and id(n) not in title_nodes] heading, publication_format, track, _ = SECTIONS[section] counts[section] += 1 metadata = {'publisher_page': page, 'section_url': URL, 'section_anchor': section,