Skip to content

Commit 2659bee

Browse files
committed
add debug message to the missing attributes
1 parent e76a236 commit 2659bee

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

src/fundus/scraping/scraper.py

+14-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,12 @@
55
from fundus.logging import basic_logger
66
from fundus.parser import ParserProxy
77
from fundus.scraping.article import Article
8-
from fundus.scraping.filter import ExtractionFilter, Requires, URLFilter
8+
from fundus.scraping.filter import (
9+
ExtractionFilter,
10+
FilterResultWithMissingAttributes,
11+
Requires,
12+
URLFilter,
13+
)
914
from fundus.scraping.html import FundusSource
1015

1116

@@ -66,8 +71,14 @@ async def scrape(
6671
else:
6772
raise ValueError(f"Unknown value '{error_handling}' for parameter <error_handling>'")
6873

69-
if extraction_filter and extraction_filter(extraction):
70-
basic_logger.debug(f"Skipped article at '{html.requested_url}' because of extraction filter")
74+
if extraction_filter and (filter_result := extraction_filter(extraction)):
75+
if isinstance(filter_result, FilterResultWithMissingAttributes):
76+
basic_logger.debug(
77+
f"Skipped article at '{html.requested_url}' because attribute(s) "
78+
f"{', '.join(filter_result.missing_attributes)!r} is(are) missing"
79+
)
80+
else:
81+
basic_logger.debug(f"Skipped article at '{html.requested_url}' because of extraction filter")
7182
yield None
7283
else:
7384
article = Article.from_extracted(html=html, extracted=extraction)

0 commit comments

Comments
 (0)