SpaDES (version 1.3.1)

checksums: Calculate checksums for a module's data files

Description

Verify (and optionally write) checksums for data files in a module's data/ subdirectory. The file data/CHECKSUMS.txt contains the expected checksums for each data file. Checksums are computed using SpaDES:::digest, which is simply a wrapper around digest::digest.

Usage

checksums(module, path, write)

# S4 method for character,character,logical checksums(module, path, write)

# S4 method for character,character,missing checksums(module, path)

Arguments

module

Character string giving the name of the module.

path

Character string giving the path to the module directory.

write

Logical indicating whether to overwrite CHECKSUMS.txt. Default is FALSE, as users should not change this file. Module developers should write this file prior to distributing their module code, and update accordingly when the data change.

Value

A data.frame with columns: result, expectedFile, actualFile, and checksum.

Details

Modules may require data that for various reasons cannot be distributed with the module source code. In these cases, the module developer should ensure that the module downloads and extracts the data required. It is useful to not only check that the data files exist locally but that their checksums match those expected. See also downloadData.

Examples

Run this code
# NOT RUN {
moduleName <- "my_module"
modulePath <- file.path("path", "to", "modules")

## verify checksums of all data files
checksums(monudleName, modulePath)

## write new CHECKSUMS.txt file

# 1. verify that all data files are present (and no extra files are present)
list.files(file.path(modulePath, moduleName, "data")

# 2. calculate file checksums and write to file (this will overwrite CHECKSUMS.txt)
checksums(monudleName, modulePath, write = TRUE)
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab