From 2873c4d9fedd2c6b58ba22924b5f880acd94e283 Mon Sep 17 00:00:00 2001 From: Daniel Grana Date: Fri, 22 Oct 2010 00:21:54 -0200 Subject: [PATCH] SimpleDB stats doesn't use AWS auth from settings.py (thanks geoffwatts). closes #264 --- scrapy/contrib/statscol.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scrapy/contrib/statscol.py b/scrapy/contrib/statscol.py index d44052c1b..ff52f0b41 100644 --- a/scrapy/contrib/statscol.py +++ b/scrapy/contrib/statscol.py @@ -18,10 +18,13 @@ class SimpledbStatsCollector(StatsCollector): def __init__(self): super(SimpledbStatsCollector, self).__init__() self._sdbdomain = settings['STATS_SDB_DOMAIN'] + self._access_key = settings['AWS_ACCESS_KEY_ID'] + self._secret_key = settings['AWS_SECRET_ACCESS_KEY'] + self._async = settings.getbool('STATS_SDB_ASYNC') import boto self.connect_sdb = boto.connect_sdb - self.connect_sdb().create_domain(self._sdbdomain) + self.connect_sdb(aws_access_key_id=self._access_key, aws_secret_access_key=self._secret_key).create_domain(self._sdbdomain) def _persist_stats(self, stats, spider=None): if spider is None: # only store spider-specific stats @@ -41,7 +44,7 @@ class SimpledbStatsCollector(StatsCollector): sdb_item = dict((k, self._to_sdb_value(v, k)) for k, v in stats.iteritems()) sdb_item['spider'] = spider.name sdb_item['timestamp'] = self._to_sdb_value(ts) - self.connect_sdb().put_attributes(self._sdbdomain, sdb_item_id, sdb_item) + self.connect_sdb(aws_access_key_id=self._access_key, aws_secret_access_key=self._secret_key).put_attributes(self._sdbdomain, sdb_item_id, sdb_item) def _get_timestamp(self, spider): return datetime.utcnow()