available icon indicating copy to clipboard operation
available copied to clipboard

Allow to turn off the interactive question when running available()

Open ColinFay opened this issue 4 years ago • 2 comments

It would be great if we could turn off the check by get_urban_data() when we call available().

Something like :

get_urban_data <- function (name, warn_offensive = TRUE) {
    if (interactive() & warn_offensive) {
        cat("Urban Dictionary can contain potentially offensive results,\n  should they be included? [Y]es / [N]o:\n")
        result <- tryCatch(scan("", what = "character", quiet = TRUE, 
            nlines = 1), error = function(x) "N")
        if (!identical(toupper(result), "Y")) {
            return(NULL)
        }
    }
    term <- tryCatch(as.data.frame(udapi::get_term(name)), error = function(e) e)
    tags <- tryCatch(udapi::get_tags(name)$tags, error = function(e) e)
    structure(list(term, tags), class = "available_urban")
}

And then

available <- function (name, browse = getOption("available.browse", TRUE), warn_offensive = TRUE, ...) {
    res <- list(valid_package_name(name), available_on_cran(name, 
        ...), available_on_bioc(name, ...), available_on_github(name))
    terms <- name_to_search_terms(name)
    res <- c(res, unlist(recursive = FALSE, lapply(terms, function(term) {
        compact(list(get_bad_words(term), get_abbreviation(term), 
            get_wikipidia(term), get_wiktionary(term), get_urban_data(term, warn_offensive), 
            get_sentiment(term)))
    })))
    structure(res, class = "available_query", packagename = name, 
        browse = browse)
}

ColinFay avatar Jul 05 '19 08:07 ColinFay

Yeah, sounds good, want to do a PR?

jimhester avatar Jul 27 '19 11:07 jimhester

Sure, I will do !

ColinFay avatar Jul 27 '19 12:07 ColinFay