Merge branch 'master' of git://factorcode.org/git/factor
commit
f4e556111e
extra
site-watcher
webapps/site-watcher
|
@ -5,15 +5,18 @@ io.directories io.files.temp kernel io.streams.string calendar
|
|||
debugger combinators.smart sequences ;
|
||||
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
|
||||
swap >>email
|
||||
swap >>account-name ;
|
||||
|
||||
account "ACCOUNT" {
|
||||
{ "account-name" "ACCOUNT_NAME" VARCHAR +user-assigned-id+ }
|
||||
{ "email" "EMAIL" VARCHAR }
|
||||
{ "twitter" "TWITTER" VARCHAR }
|
||||
{ "sms" "SMS" VARCHAR }
|
||||
} define-persistent
|
||||
|
||||
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 )
|
||||
<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 ;
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ IN: site-watcher.tests
|
|||
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://fark.com" insert-site drop
|
||||
|
||||
|
@ -22,4 +22,4 @@ IN: site-watcher.tests
|
|||
f <site> select-tuples
|
||||
] with-db ;
|
||||
|
||||
[ f ] [ fake-sites empty? ] unit-test
|
||||
[ f ] [ fake-sites empty? ] unit-test
|
||||
|
|
|
@ -71,7 +71,7 @@ CONSTANT: site-list-url URL" $site-watcher-app/"
|
|||
: <update-notify-action> ( -- action )
|
||||
<page-action>
|
||||
[
|
||||
username <account> select-tuple from-object
|
||||
username f <account> select-tuple from-object
|
||||
] >>init
|
||||
{ site-watcher-app "update-notify" } >>template
|
||||
[
|
||||
|
@ -82,8 +82,10 @@ CONSTANT: site-list-url URL" $site-watcher-app/"
|
|||
} validate-params
|
||||
] >>validate
|
||||
[
|
||||
username <account> select-tuple
|
||||
username f <account> select-tuple
|
||||
"email" value >>email
|
||||
"twitter" value >>twitter
|
||||
"sms" value >>sms
|
||||
update-tuple
|
||||
site-list-url <redirect>
|
||||
] >>submit
|
||||
|
@ -122,6 +124,10 @@ CONSTANT: site-list-url URL" $site-watcher-app/"
|
|||
site-watcher-db <alloy>
|
||||
main-responder set-global
|
||||
|
||||
M: site-watcher-app init-user-profile
|
||||
drop
|
||||
"username" value "email" value <account> insert-tuple ;
|
||||
|
||||
: init-db ( -- )
|
||||
site-watcher-db [
|
||||
{ site account watching-site } [ ensure-table ] each
|
||||
|
|
Loading…
Reference in New Issue