]> gitweb.factorcode.org Git - factor.git/commitdiff
site-watcher works again
authorDoug Coleman <doug.coleman@gmail.com>
Thu, 19 Mar 2009 21:48:32 +0000 (16:48 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Thu, 19 Mar 2009 21:48:32 +0000 (16:48 -0500)
extra/site-watcher/db/db.factor
extra/site-watcher/site-watcher-tests.factor
extra/site-watcher/site-watcher.factor

index 0c62c7f7912dce4d5769ec05b137c4545edf4218..a1a85f825f760cc5add8665df9e1b257494b47bf 100644 (file)
@@ -65,9 +65,9 @@ TUPLE: reporting-site email url up? changed? last-up? error last-error ;
     update-tuple ;
 
 : sites-to-report ( -- seq )
-    "select account.email, site.url, site.up, site.changed, site.last_up, site.error, site.last_error from account, site, watching_site where account.account_name = watching_site.account_name and site.site_id = watching_site.site_id and site.changed = '1'" sql-query 
+    "select users.email, site.url, site.up, site.changed, site.last_up, site.error, site.last_error from users, site, watching_site where users.username = watching_site.account_name and site.site_id = watching_site.site_id and site.changed = '1'" sql-query 
     [ [ reporting-site boa ] input<sequence ] map
-    "update site set changed = 'f';" sql-command ;
+    "update site set changed = 0;" sql-command ;
 
 : insert-site ( url -- site )
     <site> dup select-tuple [ ] [ dup t >>up? insert-tuple ] ?if ;
@@ -90,3 +90,8 @@ PRIVATE>
 : watching-sites ( username -- sites )
     f <watching-site> select-tuples
     [ site-id>> site new swap >>site-id select-tuple ] map ;
+
+: site-watcher-path ( -- path ) "site-watcher.db" temp-file ; inline
+
+: with-site-watcher-db ( quot -- )
+    site-watcher-path <sqlite-db> swap with-db ; inline
index 68a4a440f6ea58f735023f8ce64b7a604ed219af..dde5e65e7e7c6d5a5c24b6b0f6f9d06dcc801b50 100644 (file)
@@ -5,13 +5,6 @@ site-watcher.private kernel db io.directories io.files.temp
 continuations db.sqlite site-watcher.db.private ;
 IN: site-watcher.tests
 
-: site-watcher-path ( -- path ) "site-watcher.db" temp-file ; inline
-
-[ site-watcher-path delete-file ] ignore-errors
-
-: with-sqlite-db ( quot -- )
-    site-watcher-path <sqlite-db> swap with-db ; inline
-
 :: fake-sites ( -- seq )
     [
         account ensure-table
index 29a66afb13465426b9e082cae88915accabe84ee..4808e7c7eb90a3791f33f5bc2fbe14074342f376 100644 (file)
@@ -1,9 +1,10 @@
 ! Copyright (C) 2009 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors alarms arrays calendar combinators
-combinators.smart continuations debugger http.client
-init io.streams.string kernel locals math math.parser
-namespaces sequences site-watcher.db site-watcher.db.private smtp ;
+combinators.smart continuations debugger http.client fry
+init io.streams.string kernel locals math math.parser db
+namespaces sequences site-watcher.db site-watcher.db.private
+smtp ;
 IN: site-watcher
 
 SYMBOL: site-watcher-from
@@ -44,13 +45,13 @@ SYMBOL: running-site-watcher
 
 PRIVATE>
 
-: watch-sites ( -- )
-    find-sites check-sites sites-to-report send-reports ;
+: watch-sites ( db -- )
+    [ find-sites check-sites sites-to-report send-reports ] with-db ;
 
-: run-site-watcher ( -- )
-    running-site-watcher get 
-        [ watch-sites ] site-watcher-frequency get every
-        running-site-watcher set-global 
+: run-site-watcher ( db -- )
+    [ running-site-watcher get ] dip '
+        [ watch-sites ] site-watcher-frequency get every
+        running-site-watcher set
     ] unless ;
 
 : stop-site-watcher ( -- )