webapps.mason: work on it some more

db4
Slava Pestov 2009-05-13 19:53:52 -05:00
parent cc96b3bd7e
commit 9f39a75928
1 changed files with 20 additions and 10 deletions

View File

@ -2,9 +2,15 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: accessors arrays combinators db db.tuples furnace.actions USING: accessors arrays combinators db db.tuples furnace.actions
http.server.responses kernel mason.platform mason.notify.server http.server.responses kernel mason.platform mason.notify.server
math.order sequences sorting splitting xml.syntax xml.writer ; math.order sequences sorting splitting xml.syntax xml.writer
io.pathnames io.encodings.utf8 io.files ;
IN: webapps.mason IN: webapps.mason
: log-file ( -- path ) home "mason.log" append-path ;
: recent-events ( -- xml )
log-file utf8 file-lines 10 short tail* "\n" join [XML <pre><-></pre> XML] ;
: git-link ( id -- link ) : git-link ( id -- link )
[ "http://github.com/slavapestov/factor/commit/" prepend ] keep [ "http://github.com/slavapestov/factor/commit/" prepend ] keep
[XML <a href=<->><-></a> XML] ; [XML <a href=<->><-></a> XML] ;
@ -55,20 +61,24 @@ IN: webapps.mason
</table> </table>
XML] ; XML] ;
: machine-report ( builders -- xml ) : machine-report ( -- xml )
[ machine-table ] map builder new select-tuples
[ [ [ os>> ] [ cpu>> ] bi 2array ] compare ] sort
[ machine-table ] map ;
: build-farm-report ( -- xml )
recent-events
machine-report
[XML [XML
<h1>Build farm status</h1> <html>
<-> <head><title>Factor build farm</title></head>
<body><h1>Recent events</h1><-> <h1>Machine status</h1><-></body>
</html>
XML] ; XML] ;
: <machine-report-action> ( -- action ) : <machine-report-action> ( -- action )
<action> <action>
[ [
mason-db [ mason-db [ build-farm-report xml>string ] with-db
builder new select-tuples
[ [ [ os>> ] [ cpu>> ] bi 2array ] compare ] sort
machine-report xml>string
] with-db
"text/html" <content> "text/html" <content>
] >>display ; ] >>display ;