Skip to content

Commit 93accb7

Browse files
committed
PY3 nicer log messages in FilesPipeline
1 parent 56be610 commit 93accb7

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

scrapy/pipelines/files.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
from scrapy.http import Request
2727
from scrapy.utils.misc import md5sum
2828
from scrapy.utils.log import failure_to_exc_info
29-
from scrapy.utils.python import to_bytes
29+
from scrapy.utils.python import to_bytes, to_native_str
3030

3131
logger = logging.getLogger(__name__)
3232

@@ -199,7 +199,7 @@ def _onsuccess(result):
199199
if age_days > self.EXPIRES:
200200
return # returning None force download
201201

202-
referer = request.headers.get('Referer')
202+
referer = _get_referer(request)
203203
logger.debug(
204204
'File (uptodate): Downloaded %(medianame)s from %(request)s '
205205
'referred in <%(referer)s>',
@@ -225,7 +225,7 @@ def _onsuccess(result):
225225

226226
def media_failed(self, failure, request, info):
227227
if not isinstance(failure.value, IgnoreRequest):
228-
referer = request.headers.get('Referer')
228+
referer = _get_referer(request)
229229
logger.warning(
230230
'File (unknown-error): Error downloading %(medianame)s from '
231231
'%(request)s referred in <%(referer)s>: %(exception)s',
@@ -237,7 +237,7 @@ def media_failed(self, failure, request, info):
237237
raise FileException
238238

239239
def media_downloaded(self, response, request, info):
240-
referer = request.headers.get('Referer')
240+
referer = _get_referer(request)
241241

242242
if response.status != 200:
243243
logger.warning(
@@ -339,3 +339,11 @@ def _warn():
339339
def file_key(self, url):
340340
return self.file_path(url)
341341
file_key._base = True
342+
343+
344+
def _get_referer(request):
345+
""" Return Referer HTTP header suitable for logging """
346+
referrer = request.headers.get('Referer')
347+
if referrer is None:
348+
return referrer
349+
return to_native_str(referrer, errors='replace')

0 commit comments

Comments
 (0)