|
|
|
@ -158,6 +158,20 @@ class perform_site_check(difference_detection_processor):
|
|
|
|
|
update_obj['content_type'] = self.fetcher.headers.get('Content-Type', '')
|
|
|
|
|
update_obj["last_check_status"] = self.fetcher.get_last_status_code()
|
|
|
|
|
|
|
|
|
|
# Only try to process restock information (like scraping for keywords) if the page was actually rendered correctly.
|
|
|
|
|
# Otherwise it will assume "in stock" because nothing suggesting the opposite was found
|
|
|
|
|
from ...html_tools import html_to_text
|
|
|
|
|
text = html_to_text(self.fetcher.content)
|
|
|
|
|
logger.debug(f"Length of text after conversion: {len(text)}")
|
|
|
|
|
if not len(text):
|
|
|
|
|
from ...content_fetchers.exceptions import ReplyWithContentButNoText
|
|
|
|
|
raise ReplyWithContentButNoText(url=watch.link,
|
|
|
|
|
status_code=self.fetcher.get_last_status_code(),
|
|
|
|
|
screenshot=self.fetcher.screenshot,
|
|
|
|
|
html_content=self.fetcher.content,
|
|
|
|
|
xpath_data=self.fetcher.xpath_data
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Which restock settings to compare against?
|
|
|
|
|
restock_settings = watch.get('restock_settings', {})
|
|
|
|
|
|
|
|
|
|