diff -Nru r-cran-argparse-2.2.1+dfsg/debian/changelog r-cran-argparse-2.2.2+dfsg/debian/changelog --- r-cran-argparse-2.2.1+dfsg/debian/changelog 2022-12-12 12:55:08.000000000 +0000 +++ r-cran-argparse-2.2.2+dfsg/debian/changelog 2023-02-20 12:45:54.000000000 +0000 @@ -1,3 +1,11 @@ +r-cran-argparse (2.2.2+dfsg-1) unstable; urgency=medium + + * Team upload. + * New upstream version + * Standards-Version: 4.6.2 (routine-update) + + -- Andreas Tille Mon, 20 Feb 2023 13:45:54 +0100 + r-cran-argparse (2.2.1+dfsg-1) unstable; urgency=medium * Team upload. diff -Nru r-cran-argparse-2.2.1+dfsg/debian/control r-cran-argparse-2.2.2+dfsg/debian/control --- r-cran-argparse-2.2.1+dfsg/debian/control 2022-12-12 12:55:08.000000000 +0000 +++ r-cran-argparse-2.2.2+dfsg/debian/control 2023-02-20 12:45:54.000000000 +0000 @@ -6,7 +6,7 @@ Vcs-Browser: https://salsa.debian.org/r-pkg-team/r-cran-argparse Vcs-Git: https://salsa.debian.org/r-pkg-team/r-cran-argparse.git Homepage: https://cran.r-project.org/package=argparse -Standards-Version: 4.6.1 +Standards-Version: 4.6.2 Rules-Requires-Root: no Build-Depends: debhelper-compat (= 13), dh-r, diff -Nru r-cran-argparse-2.2.1+dfsg/DESCRIPTION r-cran-argparse-2.2.2+dfsg/DESCRIPTION --- r-cran-argparse-2.2.1+dfsg/DESCRIPTION 2022-12-08 20:20:02.000000000 +0000 +++ r-cran-argparse-2.2.2+dfsg/DESCRIPTION 2023-02-15 19:50:02.000000000 +0000 @@ -1,7 +1,7 @@ Package: argparse Type: Package Title: Command Line Optional and Positional Argument Parser -Version: 2.2.1 +Version: 2.2.2 Authors@R: c(person("Trevor L", "Davis", role=c("aut", "cre"), email="trevor.l.davis@gmail.com", comment = c(ORCID = "0000-0001-6341-4639")), @@ -9,7 +9,7 @@ person("Python Software Foundation", role="ctb", comment="Some documentation from the argparse Python module."), person("Paul", "Newell", role="ctb")) Description: A command line parser to - be used with Rscript to write "#!" shebang scripts that gracefully + be used with 'Rscript' to write "#!" shebang scripts that gracefully accept positional and optional arguments and automatically generate usage. License: GPL (>= 2) Copyright: See file (inst/)COPYRIGHTS. @@ -24,7 +24,7 @@ RoxygenNote: 7.1.2 Encoding: UTF-8 NeedsCompilation: no -Packaged: 2022-12-08 17:46:24 UTC; trevor +Packaged: 2023-02-15 19:40:37 UTC; trevor Author: Trevor L Davis [aut, cre] (), Allen Day [ctb] (Some documentation and examples ported from the getopt package.), @@ -33,4 +33,4 @@ Paul Newell [ctb] Maintainer: Trevor L Davis Repository: CRAN -Date/Publication: 2022-12-08 20:20:02 UTC +Date/Publication: 2023-02-15 19:50:02 UTC diff -Nru r-cran-argparse-2.2.1+dfsg/MD5 r-cran-argparse-2.2.2+dfsg/MD5 --- r-cran-argparse-2.2.1+dfsg/MD5 2022-12-08 20:20:02.000000000 +0000 +++ r-cran-argparse-2.2.2+dfsg/MD5 2023-02-15 19:50:02.000000000 +0000 @@ -1,9 +1,9 @@ eb723b61539feef013de476e68b5c50a *COPYING -97b98d9fb41f0cde3ea30a3329332e7a *DESCRIPTION +943754c63ad3bc233232179a9627a4e2 *DESCRIPTION c7c606b8c101538e3f3b3e5411a43f02 *INSTALL 50ff6dd84014086baa6fe806e71ed194 *NAMESPACE -50a591a4d9b9a4189aeea4214abd18a8 *NEWS.md -38ca1e49a92f8fd0867b9d3468659b4a *R/argparse.R +72f16132359665a814064233a4241431 *NEWS.md +e9d51fcbc1b865057c36ed31b6957a43 *R/argparse.R 2098699770712e88c5549d025fcd9618 *README.md a4db3ed735b5bbcdb71e4d49f3b8bd2d *build/vignette.rds 608b06b335bc34bbf6473e2fff8a18f9 *exec/display_file.R @@ -11,12 +11,12 @@ 6addaa6d5d6b86d9f4c4a8d624f9d89f *inst/COPYRIGHTS 65fabe4423cfaac1a331e0f8d6446ab2 *inst/doc/argparse.R b758caed2bbedcffc31fa28a06aa4eaa *inst/doc/argparse.Rmd -edb25f0e23619acd9528dff098ed0629 *inst/doc/argparse.html +b6ed3887101cfc5a8963538e97511492 *inst/doc/argparse.html 5a0828e6a40a4347f20d4d632a68be34 *man/ArgumentParser.Rd d3c85c5ec20572f2c3a75d71c3c4e95c *man/figures/logo.png 0145680dd8506f7699a4061d09492dd4 *man/figures/logo.svg 9f097169ac01ec553d9ff33da5f47dfa *tests/run-all.R 530a459bd27091587abf9221fafec598 *tests/testthat/scripts/test_help.R 360f74a832a17b8ee3e782989466bf59 *tests/testthat/scripts/test_version.R -98eed60ea9e7e0efc641a34d6cd87307 *tests/testthat/test-argparse.R +2713acdebb57ab3ea783681e5d0e4d46 *tests/testthat/test-argparse.R b758caed2bbedcffc31fa28a06aa4eaa *vignettes/argparse.Rmd diff -Nru r-cran-argparse-2.2.1+dfsg/NEWS.md r-cran-argparse-2.2.2+dfsg/NEWS.md --- r-cran-argparse-2.2.1+dfsg/NEWS.md 2022-08-05 17:20:06.000000000 +0000 +++ r-cran-argparse-2.2.2+dfsg/NEWS.md 2023-02-15 18:03:37.000000000 +0000 @@ -1,4 +1,10 @@ -argparse 2.2.0 +argparse 2.2.2 +============== + +* Fixes bug when `add_argument()` `help` values ended in a `"` (#46). + Thanks Oliver Dreschel (@oliverdreschel) for bug report. + +argparse 2.2.1 ============== * We now support the following `ArgumentParser()` methods: diff -Nru r-cran-argparse-2.2.1+dfsg/R/argparse.R r-cran-argparse-2.2.2+dfsg/R/argparse.R --- r-cran-argparse-2.2.1+dfsg/R/argparse.R 2022-12-08 17:06:52.000000000 +0000 +++ r-cran-argparse-2.2.2+dfsg/R/argparse.R 2023-02-15 19:23:08.000000000 +0000 @@ -258,7 +258,7 @@ # @param argument argument to be converted from R to Python convert_argument <- function(argument, as_list = FALSE) { - if (is.character(argument)) argument <- paste0('"""', argument, '"""') + if (is.character(argument)) argument <- convert_character(argument) if (is.numeric(argument)) argument <- as.character(argument) if (is.logical(argument)) argument <- ifelse(argument, "True", "False") if (is.null(argument)) argument <- "None" @@ -270,6 +270,11 @@ argument } +convert_character <- function(s) { + bool <- substr(s, nchar(s), nchar(s)) == '"' + ifelse(bool, paste0("'''", s, "'''"), paste0('"""', s, '"""')) +} + get_python_type <- function(type, proposed_arguments) { python_type <- switch(type, character = "str", @@ -364,9 +369,12 @@ } } -detects_python <- function() { +required_modules <- c("argparse", "json | simplejson") + +detects_python <- function(...) { python_cmd <- try(find_python_cmd()) - !inherits(python_cmd, "try-error") + !inherits(python_cmd, "try-error") && + findpython::is_python_sufficient(python_cmd, ..., required_modules = required_modules) } # Internal function to find python cmd @@ -376,7 +384,6 @@ python_cmd <- getOption("python_cmd") } if (is.null(python_cmd)) { - required_modules <- c("argparse", "json | simplejson") did_find_python3 <- findpython::can_find_python_cmd(minimum_version = "3.0", required_modules = required_modules, silent = TRUE) diff -Nru r-cran-argparse-2.2.1+dfsg/tests/testthat/test-argparse.R r-cran-argparse-2.2.2+dfsg/tests/testthat/test-argparse.R --- r-cran-argparse-2.2.1+dfsg/tests/testthat/test-argparse.R 2022-08-08 21:03:17.000000000 +0000 +++ r-cran-argparse-2.2.2+dfsg/tests/testthat/test-argparse.R 2023-02-15 19:00:40.000000000 +0000 @@ -92,6 +92,11 @@ expect_equal(arguments$label, c("a", "b")) expect_equal(arguments$bool, c(FALSE, TRUE)) + # Bug found by Oliver Dreschel (@oliverdreschel) + p <- ArgumentParser() + p$add_argument('--listlab', type='character', help='This is a helpstring,"Containing Quotes"') + expect_equal(p$parse_args()$listlab, NULL) + # Use R casting of logicals p <- ArgumentParser() p$add_argument("--bool", type = "logical", action = "store") @@ -154,7 +159,7 @@ }) test_that("parse_intermixed_args() works as expected", { - skip_if_not(detects_python()) + skip_if_not(detects_python(minimum_version = '3.7')) parser <- ArgumentParser() parser$add_argument('--foo') parser$add_argument('cmd')