No Description
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 8b157dce1f
NEWS
1 week ago
.vscode Added better jpeg + new lzip, 7-zip, wasm, pcap, avro, parquet detections 10 months ago
R Added better jpeg + new lzip, 7-zip, wasm, pcap, avro, parquet detections 10 months ago
inst cran 2 weeks ago
man Added better jpeg + new lzip, 7-zip, wasm, pcap, avro, parquet detections 10 months ago
tests cran 2 weeks ago
.Rbuildignore NEWS 1 week ago
.gitignore initial commit 2 years ago
.travis.yml cran 2 weeks ago
CRAN-RELEASE NEWS 1 week ago
DESCRIPTION cran 2 weeks ago
LICENSE cran 2 weeks ago
NAMESPACE pre-cran flight check 10 months ago
NEWS.md NEWS 1 week ago
README.Rmd README 1 week ago
README.md README 1 week ago
cran-comments.md NEWS 1 week ago
wand.Rproj pkg rename 2 years ago

README.md

Travis-CIBuild
Status AppVeyor Build
Status Coverage
Status

wand

Lightweight File ‘MIME’ Type Detection Based On Contents or Extension

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,500 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

  • 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

The following functions are implemented:

Installation

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

Usage

library(wand)
library(tidyverse)

# current verison
packageVersion("wand")
## [1] '0.5.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.eps | application/postscript | | test.fli | video/flc | | test.fli | video/fli | | test.fli | video/x-fli | | test.gif | image/gif | | 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/x-pcx | | test.pdf | application/pdf | | 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/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/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 | 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 |

Package Code Metrics

cloc::cloc_pkg_md()
Lang # Files (%) LoC (%) Blank lines (%) # Lines (%)
R 7 0.78 949 0.91 52 0.7 62 0.62
JSON 1 0.11 80 0.08 0 0.0 0 0.00
Rmd 1 0.11 15 0.01 22 0.3 38 0.38

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.