#NEWLINE# def _log_download_errors( self , spider_failure , download_failure , request , spider ) : #NEWLINE# #INDENT# 'Log and silence errors that come from the engine (typically download\n        errors that got propagated thru here)\n        ' #NEWLINE# if ( isinstance ( download_failure , Failure ) and ( not download_failure . check ( IgnoreRequest ) ) ) : #NEWLINE# #INDENT# if download_failure . frames : #NEWLINE# #INDENT# logger . error ( 'Error downloading %(request)s' , { #NEWLINE# #INDENT# 'request' : request , #NEWLINE# #UNINDENT# } , exc_info = failure_to_exc_info ( download_failure ) , extra = { #NEWLINE# #INDENT# 'spider' : spider , #NEWLINE# #UNINDENT# } ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# errmsg = download_failure . getErrorMessage ( ) #NEWLINE# if errmsg : #NEWLINE# #INDENT# logger . error ( 'Error downloading %(request)s: %(errmsg)s' , { #NEWLINE# #INDENT# 'request' : request , #NEWLINE# 'errmsg' : errmsg , #NEWLINE# #UNINDENT# } , extra = { #NEWLINE# #INDENT# 'spider' : spider , #NEWLINE# #UNINDENT# } ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# if ( spider_failure is not download_failure ) : #NEWLINE# #INDENT# return spider_failure