]> git.donarmstrong.com Git - cran2deb.git/commitdiff
Circumvented bug in hwriter that cannot write empty tables. Using getopt package...
authormoeller <moeller@edb9625f-4e0d-4859-8d74-9fd3b1da38cb>
Tue, 8 Feb 2011 11:08:27 +0000 (11:08 +0000)
committermoeller <moeller@edb9625f-4e0d-4859-8d74-9fd3b1da38cb>
Tue, 8 Feb 2011 11:08:27 +0000 (11:08 +0000)
DESCRIPTION now mentions also getopt.

(little)r and getopt together as so strong, that in the (a bit) longer run I also see it substitute what today is implemented in the plan 9 shell, if you do not mind.

git-svn-id: svn://svn.r-forge.r-project.org/svnroot/cran2deb@322 edb9625f-4e0d-4859-8d74-9fd3b1da38cb

trunk/DESCRIPTION
trunk/exec/cran2deb
trunk/exec/web

index b5129dbbea0ef88d27362655825d97cad35b6c18..c12c082f8de9893c382d2fc2ed6d180143dd6fd0 100644 (file)
@@ -4,7 +4,7 @@ Date: 2008-07-14
 Title: Convert CRAN packages into Debian packages
 Author: Charles Blundell <blundellc@gmail.com>, with assistance from Dirk Eddelbuettel <>
 Maintainer: Charles Blundell <blundellc@gmail.com>
-Depends: ctv, utils, RSQLite, DBI, digest, hwriter
+Depends: ctv, utils, RSQLite, DBI, digest, hwriter, getopt
 SystemRequirements: littler, rc, pbuilder, debian toolchain, web server, mini-dinstall, curl
 Description: Convert CRAN packages into Debian packages, mostly unassisted, easily
  subverting the R package system.
index 3b2794acf3ba570e3622072d037c1257e5a6cff1..e47543dfc3922d527b287dd06513980c83ce2e94 100755 (executable)
@@ -2,15 +2,26 @@
 umask 002
 root=$(r -e 'suppressMessages(library(cran2deb));cat(system.file(package="cran2deb"),file=stdout())')
 cmd=$1
-shift
+
+if [ "x" = "x$cmd" ]; then
+    cmd="help"
+fi
+
 if [ ! -x "$root/exec/$cmd" ]; then
     echo unknown command $cmd
     exit 1
 fi
 
+shift
+
 precmd=""
 if [ "$(id -un)" != c2d ]; then
        precmd="sudo -u c2d -E"
 fi
 
-$precmd "$root/exec/$cmd" "$root" $*
+if [ "web" = "$cmd" ]; then 
+       # web uses getopt and would be irritated by the "$root" argument
+       $precmd "$root/exec/$cmd" $*
+else
+       $precmd "$root/exec/$cmd" "$root" $*
+fi
index 10dbcb442e647f1ee1b1ee2f97c6c72f4fbf902a..3a5229269b00f8ca9c930d4a7c0f6da4673db423 100755 (executable)
@@ -5,19 +5,51 @@
 
 suppressPackageStartupMessages(library(cran2deb))
 library(hwriter)
+library(getopt)
 
-banned_builds_path='/var/www/banned_packages.html'
-todays_builds_path='/var/www/todays_packages.html'
-latest_builds_path='/var/www/latest_packages.html'
-failed_builds_path='/var/www/failed_packages.html'
+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')
+            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) {
@@ -26,9 +58,14 @@ page <- function(content,path,title) {
     hwrite(title,p,heading=1)
     hwrite('Install instructions',p,center=TRUE,link='/')
     links(p)
-    hwrite(content,p,center=TRUE,border=1,table.style='border-collapse: collapse; padding: 0; margin: 0'
+    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)
+           links(p)
+    } else {
+           hwrite("None",p,center=TRUE)
+    }
     closePage(p)
 }