#!/usr/bin/env r ## DOC: cran2deb web ## DOC: generate cran2deb status web pages ## DOC: suppressPackageStartupMessages(library(cran2deb)) library(hwriter) library(getopt) opt<-getopt(matrix(c( 'verbose','v', 0, "logical", 'debug', 'd', 0, "logical", 'help', 'h', 0, "logical", 'root', 'r', 2, "character" ),byrow=TRUE,ncol=4)) .Last <- function() { if (!is.null(opt$verbose)) {cat("Printing the traceback, just to be sure:\n"); print(traceback())} } web.cran2deb.root<-"/var/www/cran2deb" if (!is.null(opt$root)) { web.cran2deb.root <- opt$root } if (!is.null(opt$debug)) { cat("Settings:\n") cat(" * root: ",web.cran2deb.root,"\n",sep="") cat("\n") print(opt) q() } if (!is.null(opt$verbose)) cat("building banned_packages.html\n") banned_builds_path=paste(web.cran2deb.root,"banned_packages.html",sep="/") if (!is.null(opt$verbose)) cat("building todays_packages.html\n") todays_builds_path=paste(web.cran2deb.root,"todays_packages.html",sep="/") if (!is.null(opt$verbose)) cat("building latest_packages.html\n") latest_builds_path=paste(web.cran2deb.root,"latest_packages.html",sep="/") if (!is.null(opt$verbose)) cat("building failed_packages.html\n") failed_builds_path=paste(web.cran2deb.root,"failed_packages.html",sep="/") links <- function(p) { hwrite(c( hwrite('Packages built today',link='todays_packages.html') ,hwrite('Successful packages',link='latest_packages.html') ,hwrite('Failed packages',link='failed_packages.html') ,hwrite('Banned packages',link='banned_packages.html') ),p,center=TRUE,border=0,style='padding: 6px 6px 6px 12px') if (!is.null(opt$verbose)) cat("Wrote links for ",p,".\n",sep="") } page <- function(content,path,title) { title <- paste('cran2deb:',title) p <- openPage(path,title=title) hwrite(title,p,heading=1) hwrite('Install instructions',p,center=TRUE,link='/') links(p) if (nrow(content)>0) { hwrite(content,p,center=TRUE,border=1 ,table.style='border-collapse: collapse; padding: 0; margin: 0' ,row.names=FALSE,row.bgcolor='#ffaaaa') links(p) } else { hwrite("None",p,center=TRUE) } closePage(p) } page(db_blacklist_reasons(),banned_builds_path,'Banned packages') page(db_todays_builds(),todays_builds_path,'Packages built today') page(db_successful_builds(),latest_builds_path,'Latest successfully built packages') page(db_failed_builds(),failed_builds_path,'Recent failed packages')