From 799301b865772da7b7f5b0917e28cfe5c42815c2 Mon Sep 17 00:00:00 2001 From: Daniel Grana Date: Tue, 21 Apr 2009 13:30:55 +0000 Subject: [PATCH] http: bugfix appendlist method not setting headers if first time --HG-- extra : convert_revision : svn%3Ab85faa78-f9eb-468e-a121-7cced6da292c%401075 --- scrapy/trunk/scrapy/http/headers.py | 4 +++- scrapy/trunk/scrapy/tests/test_http_headers.py | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/scrapy/trunk/scrapy/http/headers.py b/scrapy/trunk/scrapy/http/headers.py index a3344e29f..010db4bae 100644 --- a/scrapy/trunk/scrapy/http/headers.py +++ b/scrapy/trunk/scrapy/http/headers.py @@ -51,7 +51,9 @@ class Headers(CaselessDict): self.setdefault(key, default_list) def appendlist(self, key, value): - self.getlist(key).extend(self.normvalue(value)) + lst = self.getlist(key) + lst.extend(self.normvalue(value)) + self[key] = lst def items(self): return list(self.iteritems()) diff --git a/scrapy/trunk/scrapy/tests/test_http_headers.py b/scrapy/trunk/scrapy/tests/test_http_headers.py index 3dc9f6670..f5810d6a7 100644 --- a/scrapy/trunk/scrapy/tests/test_http_headers.py +++ b/scrapy/trunk/scrapy/tests/test_http_headers.py @@ -87,6 +87,11 @@ class HeadersTest(unittest.TestCase): h1.appendlist('header1', 'value3') self.assertEqual(h1.getlist('header1'), ['value1', 'value3']) + h1 = Headers() + h1.appendlist('header1', 'value1') + h1.appendlist('header1', 'value3') + self.assertEqual(h1.getlist('header1'), ['value1', 'value3']) + def test_setlist(self): h1 = Headers({'header1': 'value1'}) self.assertEqual(h1.getlist('header1'), ['value1'])