available
available copied to clipboard
Allow to turn off the interactive question when running available()
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)
}
Yeah, sounds good, want to do a PR?
Sure, I will do !