]> gitweb.factorcode.org Git - factor.git/blob - extra/site-watcher/spider/spider.factor
335f1f11f9154c48c26963f358a826d0c118e348
[factor.git] / extra / site-watcher / spider / spider.factor
1 ! Copyright (C) 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: site-watcher.db site-watcher.email site-watcher.spider
4 spider spider.report
5 accessors kernel sequences
6 xml.writer concurrency.combinators ;
7 IN: site-watcher.spider
8
9 : <site-spider> ( spidering-site -- spider )
10     [ max-depth>> ]
11     [ max-count>> ]
12     [ site>> url>> ]
13     tri
14     <spider>
15         swap >>max-count
16         swap >>max-depth ;
17
18 : spider-and-email ( spidering-site -- )
19     [ ]
20     [ <site-spider> run-spider spider-report xml>string ]
21     [ site>> url>> "Spidered " prefix ] tri
22     send-site-email ;
23
24 : spider-sites ( -- )
25     f spidering-sites [ spider-and-email ] parallel-each ;