Merge branch 'master' of git://factorcode.org/git/factor

db4
Slava Pestov 2009-03-25 22:55:22 -05:00
commit f4e556111e
3 changed files with 16 additions and 7 deletions

View File

@ -5,15 +5,18 @@ io.directories io.files.temp kernel io.streams.string calendar
debugger combinators.smart sequences ; debugger combinators.smart sequences ;
IN: site-watcher.db IN: site-watcher.db
TUPLE: account account-id account-name email ; TUPLE: account account-id account-name email twitter sms ;
: <account> ( account-name -- account ) : <account> ( account-name email -- account )
account new account new
swap >>email
swap >>account-name ; swap >>account-name ;
account "ACCOUNT" { account "ACCOUNT" {
{ "account-name" "ACCOUNT_NAME" VARCHAR +user-assigned-id+ } { "account-name" "ACCOUNT_NAME" VARCHAR +user-assigned-id+ }
{ "email" "EMAIL" VARCHAR } { "email" "EMAIL" VARCHAR }
{ "twitter" "TWITTER" VARCHAR }
{ "sms" "SMS" VARCHAR }
} define-persistent } define-persistent
TUPLE: site site-id url up? changed? last-up error last-error ; TUPLE: site site-id url up? changed? last-up error last-error ;
@ -72,7 +75,7 @@ TUPLE: reporting-site email url up? changed? last-up? error last-error ;
: insert-site ( url -- site ) : insert-site ( url -- site )
<site> dup select-tuple [ ] [ dup t >>up? insert-tuple ] ?if ; <site> dup select-tuple [ ] [ dup t >>up? insert-tuple ] ?if ;
: insert-account ( account-name -- ) <account> insert-tuple ; : insert-account ( account-name email -- ) <account> insert-tuple ;
: find-sites ( -- seq ) f <site> select-tuples ; : find-sites ( -- seq ) f <site> select-tuples ;

View File

@ -14,7 +14,7 @@ IN: site-watcher.tests
site ensure-table site ensure-table
watching-site ensure-table watching-site ensure-table
"erg@factorcode.org" insert-account "erg" "erg@factorcode.org" insert-account
"http://asdfasdfasdfasdfqwerqqq.com" insert-site drop "http://asdfasdfasdfasdfqwerqqq.com" insert-site drop
"http://fark.com" insert-site drop "http://fark.com" insert-site drop

View File

@ -71,7 +71,7 @@ CONSTANT: site-list-url URL" $site-watcher-app/"
: <update-notify-action> ( -- action ) : <update-notify-action> ( -- action )
<page-action> <page-action>
[ [
username <account> select-tuple from-object username f <account> select-tuple from-object
] >>init ] >>init
{ site-watcher-app "update-notify" } >>template { site-watcher-app "update-notify" } >>template
[ [
@ -82,8 +82,10 @@ CONSTANT: site-list-url URL" $site-watcher-app/"
} validate-params } validate-params
] >>validate ] >>validate
[ [
username <account> select-tuple username f <account> select-tuple
"email" value >>email "email" value >>email
"twitter" value >>twitter
"sms" value >>sms
update-tuple update-tuple
site-list-url <redirect> site-list-url <redirect>
] >>submit ] >>submit
@ -122,6 +124,10 @@ CONSTANT: site-list-url URL" $site-watcher-app/"
site-watcher-db <alloy> site-watcher-db <alloy>
main-responder set-global main-responder set-global
M: site-watcher-app init-user-profile
drop
"username" value "email" value <account> insert-tuple ;
: init-db ( -- ) : init-db ( -- )
site-watcher-db [ site-watcher-db [
{ site account watching-site } [ ensure-table ] each { site account watching-site } [ ensure-table ] each