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 64e42c2bf3
sourcehut build test
5 years ago
.vscode Added better jpeg + new lzip, 7-zip, wasm, pcap, avro, parquet detections 6 years ago
R length 1 5 years ago
inst new built-in MIME types and improvements enabling alternate db 5 years ago
man parameter docs 5 years ago
tests cran 5 years ago
tools new built-in MIME types and improvements enabling alternate db 5 years ago
.Rbuildignore sourcehut build test 5 years ago
.build.yml sourcehut build test 5 years ago
.gitignore initial commit 8 years ago
.travis.yml cran 5 years ago
CRAN-RELEASE NEWS 5 years ago
DESCRIPTION length 1 5 years ago
LICENSE cran 5 years ago
NAMESPACE new built-in MIME types and improvements enabling alternate db 5 years ago
NEWS.md NEWS 5 years ago
README.Rmd sourcehut build test 5 years ago
README.html sourcehut build test 5 years ago
README.md sourcehut build test 5 years ago
appveyor.yml badges 5 years ago
cran-comments.md NEWS 5 years ago
wand.Rproj pkg rename 8 years ago

README.md

Project Status: Active – The project has reached a stable, usablestate and is being activelydeveloped. Signedby Signed commit% Linux buildStatus Windows buildstatus CoverageStatus cranchecks CRANstatus Minimal RVersion License

wand

Retrieve Magic Attributes from Files and Directories

Description

MIME types are shorthand descriptors for file contents and can be determined from “magic” bytes in file headers, file contents or intuited from file extensions. Tools are provided to perform curated “magic” tests as well as mapping MIME types from a database of over 1,800 extension mappings.

SOME IMPORTANT DETAILS

The header checking is minimal (i.e. nowhere near as comprehensive as libmagic) but covers quite a bit of ground. If there are content-check types from magic sources that you would like coded into the package, please file an issue and include the full line(s) from that linked magic.tab that you would like mapped.

What’s Inside The Tin

The following functions are implemented:

  • get_content_type: Discover MIME type of a file based on contents
  • guess_content_type: Guess MIME type from filename (extension)
  • simplemagic_mime_db: File extension-to-MIME mapping data frame

Installation

install.packages("wand", repos = "https://cinc.rud.is")
# or
remotes::install_git("https://git.rud.is/hrbrmstr/wand.git")
# or
remotes::install_git("https://git.sr.ht/~hrbrmstr/wand")
# or
remotes::install_gitlab("hrbrmstr/wand")
# or
remotes::install_bitbucket("hrbrmstr/wand")
# or
remotes::install_github("hrbrmstr/wand")

NOTE: To use the ‘remotes’ install options you will need to have the {remotes} package installed.

Usage

library(wand)
library(tidyverse)

# current verison
packageVersion("wand")
## [1] '0.6.0'
list.files(system.file("extdat", package="wand"), full.names=TRUE) %>% 
  map_df(~{
    tibble(
      fil = basename(.x),
      mime = list(get_content_type(.x))
    )
  }) %>% 
  unnest()
fil mime
actions.csv application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
actions.txt application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
actions.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
test_128_44_jstereo.mp3 audio/mp3
test_excel_2000.xls application/msword
test_excel_spreadsheet.xml application/xml
test_excel_web_archive.mht message/rfc822
test_excel.xlsm application/zip
test_excel.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
test_nocompress.tif image/tiff
test_powerpoint.pptm application/zip
test_powerpoint.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation
test_word_2000.doc application/msword
test_word_6.0_95.doc application/msword
test_word.docm application/zip
test_word.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document
test.au audio/basic
test.bin application/mac-binary
test.bin application/macbinary
test.bin application/octet-stream
test.bin application/x-binary
test.bin application/x-macbinary
test.bmp image/bmp
test.dtd application/xml-dtd
test.emf application/x-msmetafile
test.emf image/emf
test.eps application/postscript
test.fli video/flc
test.fli video/fli
test.fli video/x-fli
test.gif image/gif
test.ico image/vnd.microsoft.icon
test.ico image/x-icon
test.jpg image/jpeg
test.mp3 audio/mp3
test.odt application/vnd.oasis.opendocument.text
test.ogg application/ogg
test.ogg audio/ogg
test.pcx image/pcx
test.pcx image/vnd.zbrush.pcx
test.pcx image/x-pcx
test.pdf application/pdf
test.pl application/x-perl
test.pl text/plain
test.pl text/x-perl
test.pl text/x-script.perl
test.png image/png
test.pnm application/x-portable-anymap
test.pnm image/x-portable-anymap
test.ppm image/x-portable-pixmap
test.ppt application/msword
test.ps application/postscript
test.psd image/photoshop
test.py text/x-python
test.py text/x-script.phyton
test.rtf application/rtf
test.rtf application/x-rtf
test.rtf text/richtext
test.rtf text/rtf
test.sh application/x-bsh
test.sh application/x-sh
test.sh application/x-shar
test.sh text/x-script.sh
test.sh text/x-sh
test.tar application/tar
test.tar.gz application/gzip
test.tar.gz application/octet-stream
test.tar.gz application/x-compressed
test.tar.gz application/x-gzip
test.tga image/x-tga
test.txt text/plain
test.txt.gz application/gzip
test.txt.gz application/octet-stream
test.txt.gz application/x-compressed
test.txt.gz application/x-gzip
test.wav audio/x-wav
test.wmf application/x-msmetafile
test.wmf image/wmf
test.wmf windows/metafile
test.xcf application/x-xcf
test.xml application/xml
test.xpm image/x-xbitmap
test.xpm image/x-xpixmap
test.xpm image/xpm
test.zip application/zip

wand Metrics

Lang # Files (%) LoC (%) Blank lines (%) # Lines (%)
R 7 0.78 154 0.61 59 0.78 70 0.69
JSON 1 0.11 80 0.32 0 0.00 0 0.00
Rmd 1 0.11 17 0.07 17 0.22 31 0.31

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.