
Recommend usage of a portable mode
value for downloading files
Source: R/download_file_linter.R
download_file_linter.Rd
mode = "w"
(the default) or mode = "a"
in download.file()
can generate broken files
on Windows. Instead, utils::download.file()
recommends the usage of mode = "wb"
and mode = "ab"
.
If method = "curl"
or method = "wget"
, no mode
should be provided as it will be ignored.
See also
linters for a complete list of linters available in lintr.
Examples
# will produce lints
lint(
text = "download.file(x = my_url)",
linters = download_file_linter()
)
#> <text>:1:1: warning: [download_file_linter] download.file() should use mode = 'wb' or ('ab') rather than relying on the default mode = 'w'.
#> download.file(x = my_url)
#> ^~~~~~~~~~~~~
lint(
text = "download.file(x = my_url, mode = 'w')",
linters = download_file_linter()
)
#> <text>:1:1: warning: [download_file_linter] download.file() should use mode = 'wb' rather than mode = 'w' for portability on Windows.
#> download.file(x = my_url, mode = 'w')
#> ^~~~~~~~~~~~~
lint(
text = "download.file(x = my_url, method = 'curl', mode = 'wb')",
linters = download_file_linter()
)
#> <text>:1:1: warning: [download_file_linter] mode argument value is ignored for download.file(method = 'curl').
#> download.file(x = my_url, method = 'curl', mode = 'wb')
#> ^~~~~~~~~~~~~
# okay
lint(
text = "download.file(x = my_url, mode = 'wb')",
linters = download_file_linter()
)
#> ℹ No lints found.
lint(
text = "download.file(x = my_url, method = 'curl')",
linters = download_file_linter()
)
#> ℹ No lints found.