From 6652b8ac1833dffb4f3187da948146650bafa88a Mon Sep 17 00:00:00 2001 From: Karim shoair Date: Thu, 19 Dec 2024 12:29:34 +0200 Subject: [PATCH] fix: solve the response log issue so now you get log for every response from Fetchers --- scrapling/engines/toolbelt/custom.py | 6 +----- scrapling/parser.py | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/scrapling/engines/toolbelt/custom.py b/scrapling/engines/toolbelt/custom.py index 62c8452..9705eb3 100644 --- a/scrapling/engines/toolbelt/custom.py +++ b/scrapling/engines/toolbelt/custom.py @@ -84,8 +84,6 @@ class ResponseEncoding: class Response(Adaptor): """This class is returned by all engines as a way to unify response type between different libraries.""" - _is_response_result_logged = False # Class-level flag, initialized to False - def __init__(self, url: str, text: str, body: bytes, status: int, reason: str, cookies: Dict, headers: Dict, request_headers: Dict, encoding: str = 'utf-8', method: str = 'GET', **adaptor_arguments: Dict): automatch_domain = adaptor_arguments.pop('automatch_domain', None) @@ -99,9 +97,7 @@ class Response(Adaptor): # For back-ward compatibility self.adaptor = self # For easier debugging while working from a Python shell - if not Response._is_response_result_logged: - log.info(f'Fetched ({status}) <{method} {url}> (referer: {request_headers.get("referer")})') - Response._is_response_result_logged = True + log.info(f'Fetched ({status}) <{method} {url}> (referer: {request_headers.get("referer")})') # def __repr__(self): # return f'<{self.__class__.__name__} [{self.status} {self.reason}]>' diff --git a/scrapling/parser.py b/scrapling/parser.py index 5440a84..c82a270 100644 --- a/scrapling/parser.py +++ b/scrapling/parser.py @@ -155,7 +155,7 @@ class Adaptor(SelectorsGeneration): else: if issubclass(type(element), html.HtmlMixin): - return self.__class__( + return Adaptor( root=element, text='', body=b'', # Since root argument is provided, both `text` and `body` will be ignored so this is just a filler url=self.url, encoding=self.encoding, auto_match=self.__auto_match_enabled,