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.
 
 
 
 
Bob Rudis 096e833a35
README
8 years ago
R CRAN checks & Travis 8 years ago
inst magic files 8 years ago
man CRAN checks & Travis 8 years ago
src CRAN checks & Travis 8 years ago
tests test update 8 years ago
.Rbuildignore CRAN checks & Travis 8 years ago
.gitignore initial commit 8 years ago
.travis.yml CRAN checks & Travis 8 years ago
DESCRIPTION CRAN checks & Travis 8 years ago
NAMESPACE CRAN checks & Travis 8 years ago
NEWS.md initial commit 8 years ago
README.Rmd README 8 years ago
README.md README 8 years ago
wand.Rproj pkg rename 8 years ago

README.md

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 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 should also be pretty straightforward to get working on Windows. Assistance to do that is welcome. Think of all the fame and glory you'll receive!

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

devtools::install_github("hrbrmstr/wand")

Usage

library(wand)
library(magrittr)
library(dplyr)

system.file("img", package="wand") %>% 
  list.files(full.names=TRUE) %>% 
  incant() %>% 
  glimpse()
## Observations: 10
## Variables: 5
## $ file        <chr> "/Library/Frameworks/R.framework/Versions/3.3/Resources/library/wand/img/example_dir", "/Librar...
## $ mime_type   <chr> "inode/directory", "text/x-c", "text/html", "text/plain", "text/rtf", "image/jpeg", "applicatio...
## $ encoding    <chr> "binary", "us-ascii", "us-ascii", "us-ascii", "us-ascii", "binary", "binary", "binary", "us-asc...
## $ extensions  <chr> NA, "???", "???", "???", "???", "jpeg/jpg/jpe/jfif", "???", "???", "???", "???"
## $ description <chr> "directory", "C source, ASCII text", "HTML document, ASCII text, with CRLF line terminators", "...
system.file("img", package="wand") %>% 
  list.files(full.names=TRUE) %>% 
  incant(magic_wand_file()) %>% 
  select(description) %>% 
  unlist(use.names=FALSE)
##  [1] "directory"                                                                                                                                                                                                        
##  [2] "C source, ASCII text"                                                                                                                                                                                             
##  [3] "HTML document, ASCII text, with CRLF line terminators"                                                                                                                                                            
##  [4] "ASCII text, with no line terminators"                                                                                                                                                                             
##  [5] "Rich Text Format data, version 1, ANSI"                                                                                                                                                                           
##  [6] "JPEG image data, JFIF standard 1.01, aspect ratio, density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=2, orientation=upper-left], baseline, precision 8, 800x700, frames 3"
##  [7] "PDF document, version 1.3"                                                                                                                                                                                        
##  [8] "PNG image data, 800 x 700, 8-bit/color RGBA, non-interlaced"                                                                                                                                                      
##  [9] "ASCII text, with very long lines, with CRLF line terminators"                                                                                                                                                     
## [10] "TIFF image data, big-endian"
# current verison
packageVersion("wand")
## [1] '0.1.0'

Test Results

library(wand)
library(testthat)

date()
## [1] "Sat Aug 13 12:12:14 2016"
test_dir("tests/")
## testthat results ========================================================================================================
## OK: 1 SKIPPED: 0 FAILED: 0
## 
## DONE ===================================================================================================================