]> gitweb.factorcode.org Git - factor.git/blob - extra/webapps/site-watcher/spidering/spidering.factor
a838c6763aecd4588f209da7ac13348a576d1095
[factor.git] / extra / webapps / site-watcher / spidering / spidering.factor
1 ! Copyright (C) 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors furnace.actions furnace.auth
4 furnace.redirection html.forms validators webapps.site-watcher.common
5 site-watcher.db site-watcher.spider kernel urls sequences ;
6 IN: webapps.site-watcher.spidering
7
8 CONSTANT: site-list-url URL" $site-watcher-app/spider-list"
9
10 : <spider-list-action> ( -- action )
11     <page-action>
12         { site-watcher-app "spider-list" } >>template
13         [
14             ! Silly query
15             username spidering-sites [ site>> ] map
16             "sites" set-value
17         ] >>init
18     <protected>
19         "list spidered sites" >>description ;
20
21 : <add-spidered-site-action> ( -- action )
22     <action>
23         [
24             { { "url" [ v-url ] } } validate-params
25         ] >>validate
26         [
27             username "url" value add-spidered-site
28             site-list-url <redirect>
29         ] >>submit
30     <protected>
31         "add a spidered site" >>description ;
32
33 : <remove-spidered-site-action> ( -- action )
34     <action>
35         [
36             { { "url" [ v-url ] } } validate-params
37         ] >>validate
38         [
39             username "url" value remove-spidered-site
40             site-list-url <redirect>
41         ] >>submit
42     <protected>
43         "remove a spidered site" >>description ;
44
45 : <spider-sites-action> ( -- action )
46     <action>
47         [
48             spider-sites
49             site-list-url <redirect>
50         ] >>submit
51     <protected>
52         "spider sites" >>description ;