From 32f9c5fe68800376e730ad1cecd5ea4537d573c8 Mon Sep 17 00:00:00 2001 From: Pablo Hoffman Date: Thu, 1 Apr 2010 04:05:53 -0300 Subject: [PATCH] removed old untested (and probably broken) code --- extras/sql/scraping.sql | 72 --------------------------------- scrapy/stats/collector/mysql.py | 31 -------------- 2 files changed, 103 deletions(-) delete mode 100644 extras/sql/scraping.sql delete mode 100644 scrapy/stats/collector/mysql.py diff --git a/extras/sql/scraping.sql b/extras/sql/scraping.sql deleted file mode 100644 index c3314f5a1..000000000 --- a/extras/sql/scraping.sql +++ /dev/null @@ -1,72 +0,0 @@ -DROP TABLE IF EXISTS `url_history`; -DROP TABLE IF EXISTS `version`; -DROP TABLE IF EXISTS `url_status`; -DROP TABLE IF EXISTS `ticket`; -DROP TABLE IF EXISTS `domain_stats`; -DROP TABLE IF EXISTS `domain_stats_history`; -DROP TABLE IF EXISTS `domain_data_history`; - -CREATE TABLE `ticket` ( - `guid` char(40) NOT NULL, - `domain` varchar(255) default NULL, - `url` varchar(2048) default NULL, - `url_hash` char(40) default NULL, -- so we can join to url_status - PRIMARY KEY (`guid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - -CREATE TABLE `version` ( - `id` bigint(20) NOT NULL auto_increment, - `guid` char(40) NOT NULL, - `version` char(40) NOT NULL, - `seen` datetime NOT NULL, - PRIMARY KEY (`id`), - FOREIGN KEY (`guid`) REFERENCES ticket(guid) ON UPDATE CASCADE ON DELETE CASCADE, - UNIQUE KEY (`version`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - -CREATE TABLE `url_status` ( - -- see http://support.microsoft.com/kb/q208427/ for explanation of 2048 - `url_hash` char(40) NOT NULL, -- for faster searches - `url` varchar(2048) NOT NULL, - `parent_hash` char(40) default NULL, -- the url that was followed to this one - for reporting - `last_version` char(40) default NULL, -- can be null if it generated an error the last time is was checked - `last_checked` datetime NOT NULL, - PRIMARY KEY (`url_hash`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - -CREATE TABLE `url_history` ( - `url_hash` char(40) NOT NULL, - `version` char(40) NOT NULL, - `postdata_hash` char(40) default NULL, - `created` datetime NOT NULL, - PRIMARY KEY (`version`), - FOREIGN KEY (`url_hash`) REFERENCES url_status(url_hash) ON UPDATE CASCADE ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - -CREATE TABLE `domain_stats` ( - `key1` varchar(128) NOT NULL, - `key2` varchar(128) NOT NULL, - `value` text, - PRIMARY KEY `key1_key2` (`key1`, `key2`), - KEY `key1` (`key1`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - -CREATE TABLE `domain_stats_history` ( - `id` bigint(20) NOT NULL auto_increment, - `key1` varchar(128) NOT NULL, - `key2` varchar(128) NOT NULL, - `value` varchar(2048) NOT NULL, - `stored` datetime NOT NULL, - PRIMARY KEY (`id`), - KEY `key1_key2` (`key1`, `key2`), - KEY `key1` (`key1`), - KEY `stored` (`stored`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - -CREATE TABLE `domain_data_history` ( - `domain` varchar(255) NOT NULL, - `stored` datetime NOT NULL, - `data` text, - KEY `domain_stored` (`domain`, `stored`), - KEY `domain` (`domain`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/scrapy/stats/collector/mysql.py b/scrapy/stats/collector/mysql.py deleted file mode 100644 index 2cf145347..000000000 --- a/scrapy/stats/collector/mysql.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -A Stats collector for persisting stats (pickled) to a MySQL db -""" - -import cPickle as pickle -from datetime import datetime - -from scrapy.stats.collector import StatsCollector -from scrapy.utils.mysql import mysql_connect -from scrapy.conf import settings - -class MysqlStatsCollector(StatsCollector): - - def __init__(self): - super(MysqlStatsCollector, self).__init__() - mysqluri = settings['STATS_MYSQL_URI'] - self._mysql_conn = mysql_connect(mysqluri, use_unicode=False) if mysqluri else None - - def _persist_stats(self, stats, spider=None): - if spider is None: # only store spider-specific stats - return - if self._mysql_conn is None: - return - stored = datetime.utcnow() - datas = pickle.dumps(stats) - table = 'domain_data_history' - - c = self._mysql_conn.cursor() - c.execute("INSERT INTO %s (domain,stored,data) VALUES (%%s,%%s,%%s)" % table, \ - (spider.domain_name, stored, datas)) - self._mysql_conn.commit()