# File src/library/utils/R/mirrorAdmin.R # Part of the R package, http://www.R-project.org # # Copyright (C) 1995-2012 The R Core Team # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # A copy of the GNU General Public License is available at # http://www.r-project.org/Licenses/ mirror2html <- function(mirrors = NULL, file = "mirrors.html", head = "mirrors-head.html", foot = "mirrors-foot.html") { if(is.null(mirrors)){ mirrors <- getCRANmirrors(all = FALSE, local.only = TRUE) } mirrors$Host <- gsub("&", "&", mirrors$Host) z <- NULL if(file.exists(head)) z <- readLines(head) z <- c(z, "
") for(country in unique(mirrors$Country)) { m <- mirrors[mirrors$Country == country,] z <- c(z, paste0("
", country, "
"), "
", sprintf("", country)) for(k in seq_len(nrow(m))) { z <- c(z, "", "\n", "", "") } z <- c(z, "
", sprintf("%s", m$URL[k], m$URL[k]), "", m$Host[k], "
", "
") } z <- c(z, "
") if(file.exists(foot)) z <- c(z, readLines(foot)) if(file!="") writeLines(z, file) invisible(z) } checkCRAN <- function(method) { master <- available.packages(contrib.url("http://CRAN.R-project.org"), method = method) m <- getCRANmirrors() z <- list() for(url in as.character(m$URL)) z[[url]] <- available.packages(contrib.url(url), method = method) lapply(z, function(a) all.equal(a, master)) }