You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.2 KiB

output: rmarkdown::github_document
[![Project Status: Active - The project has reached a stable, usable state and is being actively developed.](](
[![Travis-CI Build Status](](

`wand` : Retrieve 'Magic' Attributes from Files and Directories

The `libmagic` library must be installed on *nix/macOS and available to use this.

- `apt-get install libmagic-dev` on Debian-ish systems
- `brew install libmagic` on macOS

While the package was developed using the 5.28 version of `libmagic` it has been configured to work with older versions. Note that some fields in the resultant data frame might not be available with older library versions. When using the function `magic_wand_file()` it checks for which version of `libmagic` is installed on your system and provides a suitable `magic.mgc` file for it.

The package also works on Windows but it's a bit of a hack because, well, _Windows_. The Windows version makes two `system2()` calls and relies on Rtools being installed and `file.exe` being available on the Windows `PATH`, so it's sub-optimal at best. Help to get it working in C would be greatly appreciated.

The following functions are implemented:

- `incant` : returns the "magic" metadata of the files in the input vector (as a data frame)
- `magic_wand_file` : provides a full path to the package-provided `magic` file

### Installation

```{r eval=FALSE}

```{r echo=FALSE, message=FALSE, warning=FALSE, error=FALSE}

### Usage

```{r message=FALSE}

system.file("img", package="wand") %>%
list.files(full.names=TRUE) %>%
incant() %>%

# Use a non-system magic-file

system.file("img", package="wand") %>%
list.files(full.names=TRUE) %>%
incant(magic_wand_file()) %>%
select(description) %>%

# current verison


### Test Results

```{r message=FALSE}