@ -1,42 +1,26 @@ |
|||||
Package: wand |
Package: wand |
||||
Type: Package |
Type: Package |
||||
Title: Retrieve 'Magic' Attributes from Files and Directories |
Title: Retrieve 'Magic' Attributes from Files and Directories |
||||
Version: 0.2.1 |
Version: 0.3.0 |
||||
Date: 2017-10-20 |
Date: 2018-09-16 |
||||
Authors@R: c( |
Authors@R: c( |
||||
person("Bob", "Rudis", email = "bob@rud.is", role = c("aut", "cre"), |
person("Bob", "Rudis", email = "bob@rud.is", role = c("aut", "cre"), |
||||
comment = c(ORCID = "0000-0001-5670-2640")), |
comment = c(ORCID = "0000-0001-5670-2640")) |
||||
person("Christos", "Zoulas", role=("ctb"), comment="libmagic"), |
|
||||
person("Mans", "Rullgard", role=("ctb"), comment="file"), |
|
||||
person("Jonathan", "Ong", role=("ctb"), comment="mime-db") |
|
||||
) |
) |
||||
Maintainer: Bob Rudis <bob@rud.is> |
Maintainer: Bob Rudis <bob@rud.is> |
||||
Description: The 'libmagic' library provides functions to determine |
Description: 'MIME' types are shorthand descriptors for file contents and can be |
||||
'MIME' type and other metadata from files through their "magic" |
determined from "magic" bytes in file headers, file contents or intuited from |
||||
attributes. This is useful when you do not wish to rely solely on |
file extensions. Tools are provided to perform curated "magic" tests as well |
||||
the honesty of a user or the extension on a file name. It also |
as mapping 'MIME' types from a database of over 1,500 extension mappings. |
||||
incorporates other metadata from the 'mime-db' database |
URL: http://gitlab.com/hrbrmstr/wand |
||||
<https://github.com/jshttp/mime-db>. |
BugReports: https://gitlab.com/hrbrmstr/wand/issues |
||||
URL: http://github.com/hrbrmstr/wand |
Encoding: UTF-8 |
||||
BugReports: https://github.com/hrbrmstr/wand/issues |
|
||||
NeedsCompilation: yes |
|
||||
LazyData: true |
|
||||
SystemRequirements: libmagic (>= 5.14) for Unix/Linux/macOS; Rtools 3.3+ for Windows |
|
||||
License: AGPL |
License: AGPL |
||||
Suggests: |
Suggests: |
||||
testthat |
testthat, |
||||
|
covr |
||||
|
Imports: |
||||
|
tools |
||||
Depends: |
Depends: |
||||
R (>= 3.2.0) |
R (>= 3.2.0) |
||||
Imports: |
|
||||
dplyr, |
|
||||
purrr, |
|
||||
rappdirs, |
|
||||
stats, |
|
||||
stringi, |
|
||||
tibble, |
|
||||
tidyr, |
|
||||
utils, |
|
||||
Rcpp |
|
||||
Encoding: UTF-8 |
|
||||
LinkingTo: Rcpp |
|
||||
RoxygenNote: 6.0.1.9000 |
RoxygenNote: 6.0.1.9000 |
||||
|
@ -1,13 +0,0 @@ |
|||||
For Linux/UNIX/macOS you need 'libmagic' installed which is a component of the |
|
||||
'file' utility: <https://github.com/file/file>. You can find out more information |
|
||||
on 'libmagic' and 'file' at this URL: <http://www.darwinsys.com/file/>. |
|
||||
|
|
||||
Here are the incantations you must use to get magic for your environment: |
|
||||
|
|
||||
- `apt-get install libmagic-dev` on Ubuntu/Debian-ish systems |
|
||||
- `brew install libmagic` on macOS |
|
||||
- `yum install file-devel` on RHEL/CentOS/Fedora |
|
||||
|
|
||||
For Windows you will need Rtools <https://cran.r-project.org/bin/windows/Rtools/> |
|
||||
version 3.3 or higher (it may work with older ones, but it's only been tested on |
|
||||
Rtools version 3.3 & 3.4). |
|
@ -1,16 +1,6 @@ |
|||||
# Generated by roxygen2: do not edit by hand |
# Generated by roxygen2: do not edit by hand |
||||
|
|
||||
export(incant) |
export(get_content_type) |
||||
export(magic_wand_file) |
export(guess_content_type) |
||||
import(purrr) |
export(simplemagic_mime_db) |
||||
import(stats) |
importFrom(tools,file_ext) |
||||
import(stringi) |
|
||||
import(tibble) |
|
||||
import(tidyr) |
|
||||
importFrom(Rcpp,sourceCpp) |
|
||||
importFrom(dplyr,left_join) |
|
||||
importFrom(dplyr,mutate) |
|
||||
importFrom(dplyr,mutate_all) |
|
||||
importFrom(rappdirs,user_cache_dir) |
|
||||
importFrom(utils,unzip) |
|
||||
useDynLib(wand, .registration=TRUE) |
|
||||
|
@ -1,11 +0,0 @@ |
|||||
# Generated by using Rcpp::compileAttributes() -> do not edit by hand |
|
||||
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 |
|
||||
|
|
||||
incant_ <- function(path, magic_db = "system") { |
|
||||
.Call(`_wand_incant_`, path, magic_db) |
|
||||
} |
|
||||
|
|
||||
lib_version <- function() { |
|
||||
.Call(`_wand_lib_version`) |
|
||||
} |
|
||||
|
|
@ -1 +1,820 @@ |
|||||
globalVariables(c("extensions", "mime_type", "response", "encoding")) |
#' File extension-to-MIME mapping data frame |
||||
|
#' |
||||
|
#' @docType data |
||||
|
#' @export |
||||
|
structure(list(extension = c("pyc", "dwg", "ez", "aw", "arj", |
||||
|
"atom", "xml", "atomcat", "atomsvc", "mm", "mme", "hqx", "hqx", |
||||
|
"boo", "book", "ccxml", "cdf", "cdmia", "cdmic", "cdmid", "cdmio", |
||||
|
"cdmiq", "ccad", "dp", "cu", "csm", "davmount", "dbk", "drw", |
||||
|
"tsp", "dssc", "xdssc", "dxf", "es", "ecma", "js", "emma", "evy", |
||||
|
"epub", "xl", "xla", "xlb", "xlc", "xld", "xlk", "xll", "xlm", |
||||
|
"xls", "xlt", "xlv", "xlw", "exi", "pfr", "woff", "fif", "frl", |
||||
|
"spl", "gml", "tgz", "gpx", "vew", "gxf", "hlp", "hta", "stk", |
||||
|
"unv", "iges", "igs", "inf", "ink", "inkml", "acx", "ipfix", |
||||
|
"class", "jar", "class", "ser", "class", "js", "json", "jsonml", |
||||
|
"lha", "lostxml", "lzx", "bin", "hqx", "hqx", "cpt", "bin", "mads", |
||||
|
"mrc", "mrcx", "ma", "nb", "mb", "mathml", "mbd", "mbox", "mcd", |
||||
|
"mscml", "metalink", "meta4", "mets", "aps", "mods", "m21", "mp21", |
||||
|
"mp4", "m4p", "mp4s", "mdb", "one", "onetoc2", "onetmp", "onepkg", |
||||
|
"pot", "pps", "ppt", "ppz", "doc", "dot", "w6w", "wiz", "word", |
||||
|
"wri", "mxf", "mcp", "bin", "dms", "lrf", "mar", "so", "dist", |
||||
|
"distz", "pkg", "bpk", "dump", "elc", "a", "arc", "arj", "com", |
||||
|
"exe", "lha", "lhx", "lzh", "lzx", "o", "psd", "saveme", "uu", |
||||
|
"zoo", "class", "buffer", "deploy", "hqx", "obj", "lib", "zip", |
||||
|
"gz", "dmg", "iso", "oda", "opf", "ogx", "ogg", "axs", "omdoc", |
||||
|
"onetoc", "onetoc2", "onetmp", "onepkg", "oxps", "xer", "pdf", |
||||
|
"pgp", "key", "asc", "pgp", "sig", "prf", "p12", "crl", "p10", |
||||
|
"p7m", "p7c", "p7s", "p8", "ac", "cer", "crt", "crl", "pkipath", |
||||
|
"pki", "text", "pls", "ai", "eps", "ps", "ppt", "part", "prt", |
||||
|
"cww", "pskcxml", "rar", "rdf", "rif", "rnc", "rl", "rld", "rng", |
||||
|
"rs", "gbr", "mft", "roa", "rsd", "rss", "xml", "rtf", "rtx", |
||||
|
"sbml", "scq", "scs", "spq", "spp", "sdp", "sea", "set", "setpay", |
||||
|
"setreg", "shf", "stl", "smi", "smil", "smi", "smil", "sol", |
||||
|
"sdr", "rq", "srx", "gram", "grxml", "sru", "ssdl", "ssml", "step", |
||||
|
"stp", "ssm", "tei", "teicorpus", "tfi", "tsd", "tbk", "vda", |
||||
|
"plb", "psb", "pvb", "tcap", "pwn", "aso", "imp", "acu", "atc", |
||||
|
"acutc", "air", "fcdt", "fxp", "fxpl", "xdp", "xfdf", "ahead", |
||||
|
"azf", "azs", "azw", "acc", "ami", "apk", "cii", "fti", "atx", |
||||
|
"mpkg", "m3u8", "swi", "swi", "iota", "aep", "mpm", "bmi", "rep", |
||||
|
"cdxml", "mmd", "cdy", "cla", "rp9", "c4g", "c4d", "c4f", "c4p", |
||||
|
"c4u", "c11amc", "c11amz", "csp", "cdbcmsg", "cmc", "clkx", "clkk", |
||||
|
"clkp", "clkt", "clkw", "wbs", "pml", "ppd", "car", "pcurl", |
||||
|
"dart", "rdz", "uvf", "uvvf", "uvd", "uvvd", "uvt", "uvvt", "uvx", |
||||
|
"uvvx", "uvz", "uvvz", "fe_launch", "dna", "mlp", "dpg", "dfac", |
||||
|
"kpxx", "ait", "svc", "geo", "mag", "nml", "esf", "msf", "qam", |
||||
|
"slt", "ssf", "es3", "et3", "ez2", "ez3", "fdf", "mseed", "seed", |
||||
|
"dataless", "gph", "ftc", "fm", "frame", "maker", "book", "fnc", |
||||
|
"ltf", "fsc", "oas", "oa2", "oa3", "fg5", "bh2", "ddd", "xdw", |
||||
|
"xbd", "fzs", "txd", "ggb", "ggt", "gex", "gre", "gxt", "g2w", |
||||
|
"g3w", "gmx", "kml", "kmz", "gqf", "gqs", "gac", "ghf", "gim", |
||||
|
"grv", "gtm", "tpl", "vcg", "hal", "zmm", "hbci", "les", "hgl", |
||||
|
"hpg", "hpgl", "hpid", "hps", "jlt", "pcl", "pclxl", "sfd-hdstx", |
||||
|
"x3d", "mpy", "afp", "listafp", "list3820", "irm", "sc", "icc", |
||||
|
"icm", "igl", "ivp", "ivu", "igm", "xpw", "xpx", "i2g", "qbo", |
||||
|
"qfx", "rcprofile", "irp", "xpr", "fcs", "jam", "rms", "jisp", |
||||
|
"joda", "ktz", "ktr", "karbon", "chrt", "kfo", "flw", "kon", |
||||
|
"kpr", "kpt", "ksp", "kwd", "kwt", "htke", "kia", "kne", "knp", |
||||
|
"skp", "skd", "skt", "skm", "sse", "lasxml", "lbd", "lbe", "123", |
||||
|
"apr", "pre", "nsf", "org", "scm", "lwp", "portpkg", "mcd", "mc1", |
||||
|
"cdkey", "mwf", "mfm", "flo", "igx", "mif", "daf", "dis", "mbk", |
||||
|
"mqy", "msl", "plc", "txf", "mpn", "mpc", "xul", "cil", "cab", |
||||
|
"xls", "xlm", "xla", "xlc", "xlt", "xlb", "xll", "xlw", "xlam", |
||||
|
"xlam", "xlsb", "xlsb", "xlsm", "xlsm", "xltm", "xltm", "eot", |
||||
|
"chm", "ims", "lrm", "thmx", "msg", "sst", "pko", "cat", "stl", |
||||
|
"sst", "cat", "stl", "ppt", "pps", "pot", "ppa", "pwz", "ppam", |
||||
|
"ppam", "pptm", "potm", "pptm", "potm", "sldm", "sldm", "ppsm", |
||||
|
"ppsm", "potm", "potm", "mpp", "mpt", "docm", "docm", "dotm", |
||||
|
"dotm", "wps", "wks", "wcm", "wdb", "wpl", "xps", "mseq", "mus", |
||||
|
"msty", "taglet", "nlu", "ntf", "nitf", "nnd", "nns", "nnw", |
||||
|
"ncm", "ngdat", "n-gage", "rpst", "rpss", "rng", "edm", "edx", |
||||
|
"ext", "edm", "edx", "ext", "odc", "otc", "odb", "odf", "odft", |
||||
|
"odg", "otg", "odi", "oti", "odp", "otp", "ods", "ots", "odt", |
||||
|
"odm", "otm", "ott", "oth", "xo", "dd2", "oxt", "pptx", "sldx", |
||||
|
"ppsx", "potx", "xlsx", "xltx", "docx", "dotx", "mgp", "dp", |
||||
|
"esa", "pdb", "pqa", "oprc", "paw", "str", "ei6", "efif", "wg", |
||||
|
"plf", "pbd", "box", "mgz", "qps", "ptid", "qxd", "qxt", "qwd", |
||||
|
"qwt", "qxl", "qxb", "bed", "mxl", "musicxml", "cryptonote", |
||||
|
"cod", "rm", "rmvb", "rnx", "link66", "st", "see", "sema", "semd", |
||||
|
"semf", "ifm", "itp", "iif", "ipk", "twd", "twds", "mmf", "teacher", |
||||
|
"sdkm", "sdkd", "dxp", "sfs", "sdc", "sda", "sdd", "sdp", "smf", |
||||
|
"sdw", "vor", "sgl", "smzip", "sm", "sxc", "stc", "sxd", "std", |
||||
|
"sxi", "sti", "sxm", "sxw", "sxg", "stw", "sus", "susp", "svd", |
||||
|
"sis", "sisx", "xsm", "bdm", "xdm", "tao", "pcap", "cap", "dmp", |
||||
|
"tmo", "tpt", "mxs", "tra", "ufd", "ufdl", "utz", "umj", "unityweb", |
||||
|
"uoml", "vcx", "vsd", "vst", "vss", "vsw", "vis", "vsf", "sic", |
||||
|
"slc", "wbxml", "wmlc", "wmlsc", "wtb", "nbp", "wpd", "wqd", |
||||
|
"stf", "xar", "web", "xfdl", "hvd", "hvs", "hvp", "osf", "osfpvg", |
||||
|
"saf", "spf", "cmp", "zir", "zirz", "zaz", "vmd", "vmf", "vxml", |
||||
|
"wgt", "hlp", "wp", "wp5", "wp6", "wpd", "wp5", "w60", "wp5", |
||||
|
"w61", "wsdl", "wspolicy", "wk1", "wk", "7z", "abw", "ace", "aim", |
||||
|
"dmg", "aab", "x32", "u32", "vox", "aam", "aas", "bcpio", "bin", |
||||
|
"hqx", "torrent", "blb", "blorb", "bsh", "sh", "shar", "elc", |
||||
|
"elc", "bz", "bz2", "boz", "cbr", "cba", "cbt", "cbz", "cb7", |
||||
|
"cdf", "vcd", "cfs", "chat", "cha", "pgn", "chm", "crx", "ras", |
||||
|
"cco", "cpt", "z", "gz", "tgz", "z", "zip", "nsc", "cpio", "cpt", |
||||
|
"csh", "deb", "udeb", "deepv", "dgc", "dir", "dcr", "dxr", "cst", |
||||
|
"cct", "cxt", "w3d", "fgd", "swa", "dms", "wad", "ncx", "dtb", |
||||
|
"res", "dvi", "elc", "env", "evy", "es", "eva", "xla", "xlb", |
||||
|
"xlc", "xld", "xlk", "xll", "xlm", "xls", "xlt", "xlv", "xlw", |
||||
|
"flac", "pfa", "pfb", "gsf", "pcf", "pcf.Z", "bdf", "gsf", "psf", |
||||
|
"otf", "pcf", "snf", "ttf", "ttc", "pfa", "pfb", "pfm", "afm", |
||||
|
"woff", "mif", "arc", "pre", "spl", "gca", "ulx", "gnumeric", |
||||
|
"sgf", "gramps", "gcf", "gsp", "gss", "gtar", "tgz", "taz", "gz", |
||||
|
"gzip", "tgz", "hdf", "help", "hlp", "imap", "phtml", "pht", |
||||
|
"php", "phps", "php3", "php3p", "php4", "ica", "ima", "install", |
||||
|
"ins", "isp", "ins", "iv", "ip", "iii", "iso", "jar", "class", |
||||
|
"jcm", "jnlp", "ser", "class", "js", "chrt", "kil", "skd", "skm", |
||||
|
"skp", "skt", "kpr", "kpt", "ksh", "ksp", "kwd", "kwt", "latex", |
||||
|
"ltx", "lha", "lsp", "ivy", "wq1", "scm", "luac", "lzh", "lzh", |
||||
|
"lha", "lzx", "hqx", "bin", "mc$", "frm", "maker", "frame", "fm", |
||||
|
"fb", "book", "fbdoc", "mcd", "mm", "mid", "midi", "mie", "mif", |
||||
|
"nix", "prc", "mobi", "m3u8", "asx", "application", "lnk", "wmd", |
||||
|
"wmz", "xbap", "mdb", "obd", "crd", "clp", "com", "exe", "bat", |
||||
|
"dll", "exe", "dll", "com", "bat", "msi", "xla", "xls", "xlw", |
||||
|
"msi", "mvb", "m13", "m14", "wmf", "wmz", "emf", "emz", "mny", |
||||
|
"ppt", "pub", "scd", "trm", "wri", "ani", "nvd", "map", "stl", |
||||
|
"nc", "cdf", "pkg", "aos", "pac", "nwc", "nzb", "o", "omc", "omcd", |
||||
|
"omcr", "oza", "pm4", "pm5", "pcl", "pma", "pmc", "pml", "pmr", |
||||
|
"pmw", "plx", "p10", "p12", "pfx", "p7b", "spc", "p7r", "crl", |
||||
|
"p7c", "p7m", "p7a", "p7s", "css", "pnm", "mpc", "mpt", "mpv", |
||||
|
"mpx", "pyc", "pyo", "wb1", "qtl", "rar", "rpm", "ris", "rpm", |
||||
|
"rtf", "sdp", "sea", "sl", "sh", "shar", "sh", "swf", "swfl", |
||||
|
"xap", "sit", "spr", "sprite", "sql", "sit", "sitx", "srt", "sv4cpio", |
||||
|
"sv4crc", "t3", "gam", "tar", "sbk", "tbk", "tcl", "tex", "gf", |
||||
|
"pk", "tfm", "texinfo", "texi", "obj", "~", "%", "bak", "old", |
||||
|
"sik", "roff", "t", "tr", "man", "me", "ms", "avi", "ustar", |
||||
|
"vsd", "vst", "vsw", "mzz", "xpix", "vrml", "src", "wsrc", "webapp", |
||||
|
"wz", "hlp", "wtk", "svr", "wrl", "wpd", "wri", "der", "cer", |
||||
|
"crt", "crt", "xcf", "fig", "xlf", "xpi", "xz", "zip", "z1", |
||||
|
"z2", "z3", "z4", "z5", "z6", "z7", "z8", "xaml", "xdf", "xenc", |
||||
|
"xhtml", "xht", "xml", "xsl", "xpdl", "dtd", "xop", "xpl", "xslt", |
||||
|
"xspf", "mxml", "xhvml", "xvml", "xvm", "yang", "yin", "pko", |
||||
|
"zip", "adp", "aif", "aifc", "aiff", "au", "snd", "flac", "it", |
||||
|
"funk", "my", "pfunk", "pfunk", "rmi", "mid", "mid", "midi", |
||||
|
"kar", "rmi", "mod", "mp4a", "m4a", "mpga", "mp2", "mp2a", "mp3", |
||||
|
"m2a", "mpa", "mpg", "m3a", "mpega", "m4a", "mp3", "m3u", "la", |
||||
|
"lma", "oga", "ogg", "spx", "sid", "s3m", "sil", "tsi", "tsp", |
||||
|
"uva", "uvva", "eol", "dra", "dts", "dtshd", "lvp", "pya", "ecelp4800", |
||||
|
"ecelp7470", "ecelp9600", "qcp", "rip", "voc", "vox", "wav", |
||||
|
"weba", "aac", "snd", "aif", "aiff", "aifc", "au", "caf", "flac", |
||||
|
"gsd", "gsm", "jam", "lam", "mka", "mid", "midi", "mid", "midi", |
||||
|
"mod", "mp2", "mp3", "m3u", "m3u", "wax", "wma", "la", "lma", |
||||
|
"ram", "ra", "rm", "rmm", "rmp", "rmp", "ra", "rpm", "sid", "ra", |
||||
|
"pls", "sd2", "vqf", "vqe", "vql", "mjf", "voc", "wav", "xm", |
||||
|
"cdx", "cif", "cmdf", "cml", "csml", "pdb", "xyz", "xyz", "dwf", |
||||
|
"dwf", "otf", "ivr", "bmp", "bm", "cgm", "cod", "ras", "rast", |
||||
|
"fif", "flo", "turbot", "g3", "gif", "ief", "iefs", "jpeg", "jpg", |
||||
|
"jfif", "jfif-tbnl", "jpe", "jut", "ktx", "nap", "naplps", "pcx", |
||||
|
"pic", "pict", "jfif", "jfif", "jpe", "jpeg", "jpg", "png", "x-png", |
||||
|
"btif", "sgi", "svg", "svgz", "tiff", "tif", "mcf", "psd", "uvi", |
||||
|
"uvvi", "uvg", "uvvg", "djvu", "djv", "sub", "dwg", "dxf", "svf", |
||||
|
"dxf", "fbs", "fpx", "fpix", "fst", "mmr", "rlc", "mdi", "wdp", |
||||
|
"npx", "fpx", "rf", "rp", "wbmp", "xif", "webp", "3ds", "ras", |
||||
|
"ras", "cmx", "cdr", "pat", "cdt", "cpt", "dwg", "dxf", "svf", |
||||
|
"fh", "fhc", "fh4", "fh5", "fh7", "ico", "art", "jng", "jps", |
||||
|
"sid", "bmp", "nif", "niff", "pcx", "psd", "pic", "pct", "pnm", |
||||
|
"pbm", "pgm", "pgm", "ppm", "qif", "qti", "qtif", "rgb", "tga", |
||||
|
"tif", "tiff", "bmp", "xbm", "xpm", "xbm", "xpm", "pm", "xwd", |
||||
|
"xwd", "xbm", "xpm", "eml", "mht", "mhtml", "mime", "nws", "igs", |
||||
|
"iges", "msh", "mesh", "silo", "dae", "dwf", "gdl", "gtw", "mts", |
||||
|
"vtu", "wrl", "vrml", "wrz", "pov", "x3db", "x3dbz", "x3dv", |
||||
|
"x3dvz", "x3d", "x3dz", "gzip", "ustar", "zip", "mid", "midi", |
||||
|
"kar", "pvu", "asp", "appcache", "manifest", "ics", "ifb", "icz", |
||||
|
"csv", "css", "csv", "js", "event-stream", "323", "html", "acgi", |
||||
|
"htm", "htmls", "htx", "shtml", "stm", "uls", "js", "mml", "mcf", |
||||
|
"n3", "pas", "txt", "text", "conf", "def", "list", "log", "c", |
||||
|
"c++", "cc", "com", "cxx", "f", "f90", "for", "g", "h", "hh", |
||||
|
"idc", "jav", "java", "lst", "m", "mar", "pl", "sdml", "bas", |
||||
|
"in", "asc", "diff", "pot", "el", "ksh", "par", "dsc", "rtx", |
||||
|
"rt", "rtf", "rtf", "wsc", "sct", "wsc", "sgml", "sgm", "tsv", |
||||
|
"tm", "ts", "t", "tr", "roff", "man", "me", "ms", "ttl", "uri", |
||||
|
"uris", "uni", "unis", "urls", "vcard", "abc", "curl", "dcurl", |
||||
|
"mcurl", "scurl", "sub", "fly", "flx", "gv", "3dml", "spot", |
||||
|
"rt", "jad", "si", "sl", "wml", "wmls", "vtt", "htt", "s", "asm", |
||||
|
"aip", "c", "cc", "cxx", "cpp", "h", "hh", "dic", "h++", "hpp", |
||||
|
"hxx", "hh", "c++", "cpp", "cxx", "cc", "h", "htc", "csh", "c", |
||||
|
"f", "for", "f77", "f90", "h", "hh", "java", "java", "jav", "lsx", |
||||
|
"lua", "m", "markdown", "md", "mkd", "moc", "nfo", "opml", "p", |
||||
|
"pas", "gcd", "pl", "pm", "py", "hlb", "csh", "el", "scm", "ksh", |
||||
|
"lsp", "pl", "pm", "py", "rexx", "scm", "sh", "tcl", "tcsh", |
||||
|
"zsh", "shtml", "ssi", "etx", "sfv", "sgm", "sgml", "sh", "spc", |
||||
|
"talk", "tcl", "tk", "tex", "ltx", "sty", "cls", "uil", "uu", |
||||
|
"uue", "vcs", "vcf", "xml", "3gp", "3g2", "ts", "afl", "avi", |
||||
|
"avs", "dl", "flc", "fli", "flc", "fli", "gl", "h261", "h263", |
||||
|
"h264", "jpgv", "jpm", "jpgm", "mj2", "mjp2", "mp4", "mp4v", |
||||
|
"mpg4", "mpeg", "mpg", "mpe", "m1v", "m2v", "mp2", "mp3", "mpa", |
||||
|
"mpv2", "avi", "ogv", "qt", "moov", "mov", "vdo", "viv", "vivo", |
||||
|
"uvh", "uvvh", "uvm", "uvvm", "uvp", "uvvp", "uvs", "uvvs", "uvv", |
||||
|
"uvvv", "dvb", "fvt", "mxu", "m4u", "pyv", "rv", "uvu", "uvvu", |
||||
|
"viv", "vivo", "vos", "webm", "xdr", "xsr", "fmf", "dl", "dif", |
||||
|
"dv", "f4v", "fli", "flv", "gl", "isu", "lsf", "lsx", "m4v", |
||||
|
"mkv", "mk3d", "mks", "mng", "mjpg", "mp2", "mp3", "mp2", "asf", |
||||
|
"asx", "asr", "asx", "vob", "wm", "wmv", "wmx", "wvx", "avi", |
||||
|
"qtc", "scm", "movie", "mv", "smv", "wmf", "mime", "ice", "mid", |
||||
|
"midi", "3dm", "3dmf", "qd3", "qd3d", "svr", "vrml", "wrl", "wrz", |
||||
|
"flr", "xaf", "xof", "vrm", "vrt", "xgz", "xmz", "ma nb mb", |
||||
|
"doc dot", "bin dms lha lrf lzh so iso dmg dist distz pkg bpk dump elc deploy", |
||||
|
"onetoc onetoc2 onetmp onepkg", "asc sig", "p7m p7c", "ai eps ps", |
||||
|
"smi smil", "atc acutc", "c4g c4d c4f c4p c4u", "es3 et3", "seed dataless", |
||||
|
"fm frame maker book", "gex gre", "gqf gqs", "afp listafp list3820", |
||||
|
"icc icm", "xpw xpx", "ktz ktr", "kpr kpt", "kwd kwt", "kne knp", |
||||
|
"skp skd skt skm", "xls xlm xla xlc xlt xlw", "ppt pps pot", |
||||
|
"mpp mpt", "wps wks wcm wdb", "pdb pqa oprc", "qxd qxt qwd qwt qxl qxb", |
||||
|
"twd twds", "sdkm sdkd", "sus susp", "sis sisx", "ufd ufdl", |
||||
|
"vsd vst vss vsw", "zir zirz", "aab x32 u32 vox", "bz2 boz", |
||||
|
"deb udeb", "dir dcr dxr cst cct cxt w3d fgd swa", "ttf ttc", |
||||
|
"pfa pfb pfm afm", "prc mobi", "exe dll com bat msi", "mvb m13 m14", |
||||
|
"nc cdf", "p12 pfx", "p7b spc", "texinfo texi", "der crt", "xhtml xht", |
||||
|
"xml xsl", "mxml xhvml xvml xvm", "au snd", "mid midi kar rmi", |
||||
|
"mpga mp2 mp2a mp3 m2a m3a", "oga ogg spx", "aif aiff aifc", |
||||
|
"ram ra", "jpeg jpg jpe", "svg svgz", "tiff tif", "djvu djv", |
||||
|
"fh fhc fh4 fh5 fh7", "pic pct", "eml mime", "igs iges", "msh mesh silo", |
||||
|
"wrl vrml", "ics ifb", "html htm", "txt text conf def list log in", |
||||
|
"sgml sgm", "t tr roff man me ms", "uri uris urls", "s asm", |
||||
|
"c cc cxx cpp h hh dic", "f for f77 f90", "p pas", "jpm jpgm", |
||||
|
"mj2 mjp2", "mp4 mp4v mpg4", "mpeg mpg mpe m1v m2v", "qt mov", |
||||
|
"mxu m4u", "asf asx"), mime_type = c("application/x-bytecode.python", |
||||
|
"application/acad", "application/andrew-inset", "application/applixware", |
||||
|
"application/arj", "application/atom+xml", "application/atom+xml", |
||||
|
"application/atomcat+xml", "application/atomsvc+xml", "application/base64", |
||||
|
"application/base64", "application/binhex", "application/binhex4", |
||||
|
"application/book", "application/book", "application/ccxml+xml", |
||||
|
"application/cdf", "application/cdmi-capability", "application/cdmi-container", |
||||
|
"application/cdmi-domain", "application/cdmi-object", "application/cdmi-queue", |
||||
|
"application/clariscad", "application/commonground", "application/cu-seeme", |
||||
|
"application/cu-seeme", "application/davmount+xml", "application/docbook+xml", |
||||
|
"application/drafting", "application/dsptype", "application/dssc+der", |
||||
|
"application/dssc+xml", "application/dxf", "application/ecmascript", |
||||
|
"application/ecmascript", "application/ecmascript", "application/emma+xml", |
||||
|
"application/envoy", "application/epub+zip", "application/excel", |
||||
|
"application/excel", "application/excel", "application/excel", |
||||
|
"application/excel", "application/excel", "application/excel", |
||||
|
"application/excel", "application/excel", "application/excel", |
||||
|
"application/excel", "application/excel", "application/exi", |
||||
|
"application/font-tdpfr", "application/font-woff", "application/fractals", |
||||
|
"application/freeloader", "application/futuresplash", "application/gml+xml", |
||||
|
"application/gnutar", "application/gpx+xml", "application/groupwise", |
||||
|
"application/gxf", "application/hlp", "application/hta", "application/hyperstudio", |
||||
|
"application/i-deas", "application/iges", "application/iges", |
||||
|
"application/inf", "application/inkml+xml", "application/inkml+xml", |
||||
|
"application/internet-property-stream", "application/ipfix", |
||||
|
"application/java", "application/java-archive", "application/java-byte-code", |
||||
|
"application/java-serialized-object", "application/java-vm", |
||||
|
"application/javascript", "application/json", "application/jsonml+json", |
||||
|
"application/lha", "application/lost+xml", "application/lzx", |
||||
|
"application/mac-binary", "application/mac-binhex", "application/mac-binhex40", |
||||
|
"application/mac-compactpro", "application/macbinary", "application/mads+xml", |
||||
|
"application/marc", "application/marcxml+xml", "application/mathematica", |
||||
|
"application/mathematica", "application/mathematica", "application/mathml+xml", |
||||
|
"application/mbedlet", "application/mbox", "application/mcad", |
||||
|
"application/mediaservercontrol+xml", "application/metalink+xml", |
||||
|
"application/metalink4+xml", "application/mets+xml", "application/mime", |
||||
|
"application/mods+xml", "application/mp21", "application/mp21", |
||||
|
"application/mp4", "application/mp4", "application/mp4", "application/msaccess", |
||||
|
"application/msonenote", "application/msonenote", "application/msonenote", |
||||
|
"application/msonenote", "application/mspowerpoint", "application/mspowerpoint", |
||||
|
"application/mspowerpoint", "application/mspowerpoint", "application/msword", |
||||
|
"application/msword", "application/msword", "application/msword", |
||||
|
"application/msword", "application/mswrite", "application/mxf", |
||||
|
"application/netmc", "application/octet-stream", "application/octet-stream", |
||||
|
"application/octet-stream", "application/octet-stream", "application/octet-stream", |
||||
|
"application/octet-stream", "application/octet-stream", "application/octet-stream", |
||||
|
"application/octet-stream", "application/octet-stream", "application/octet-stream", |
||||
|
"application/octet-stream", "application/octet-stream", "application/octet-stream", |
||||
|
"application/octet-stream", "application/octet-stream", "application/octet-stream", |
||||
|
"application/octet-stream", "application/octet-stream", "application/octet-stream", |
||||
|
"application/octet-stream", "application/octet-stream", "application/octet-stream", |
||||
|
"application/octet-stream", "application/octet-stream", "application/octet-stream", |
||||
|
"application/octet-stream", "application/octet-stream", "application/octet-stream", |
||||
|
"application/octet-stream", "application/octet-stream", "application/octet-stream", |
||||
|
"application/octet-stream", "application/octet-stream", "application/octet-stream", |
||||
|
"application/oda", "application/oebps-package+xml", "application/ogg", |
||||
|
"application/ogg", "application/olescript", "application/omdoc+xml", |
||||
|
"application/onenote", "application/onenote", "application/onenote", |
||||
|
"application/onenote", "application/oxps", "application/patch-ops-error+xml", |
||||
|
"application/pdf", "application/pgp-encrypted", "application/pgp-keys", |
||||
|
"application/pgp-signature", "application/pgp-signature", "application/pgp-signature", |
||||
|
"application/pics-rules", "application/pkcs-12", "application/pkcs-crl", |
||||
|
"application/pkcs10", "application/pkcs7-mime", "application/pkcs7-mime", |
||||
|
"application/pkcs7-signature", "application/pkcs8", "application/pkix-attr-cert", |
||||
|
"application/pkix-cert", "application/pkix-cert", "application/pkix-crl", |
||||
|
"application/pkix-pkipath", "application/pkixcmp", "application/plain", |
||||
|
"application/pls+xml", "application/postscript", "application/postscript", |
||||
|
"application/postscript", "application/powerpoint", "application/pro_eng", |
||||
|
"application/pro_eng", "application/prs.cww", "application/pskc+xml", |
||||
|
"application/rar", "application/rdf+xml", "application/reginfo+xml", |
||||
|
"application/relax-ng-compact-syntax", "application/resource-lists+xml", |
||||
|
"application/resource-lists-diff+xml", "application/ringing-tones", |
||||
|
"application/rls-services+xml", "application/rpki-ghostbusters", |
||||
|
"application/rpki-manifest", "application/rpki-roa", "application/rsd+xml", |
||||
|
"application/rss+xml", "application/rss+xml", "application/rtf", |
||||
|
"application/rtf", "application/sbml+xml", "application/scvp-cv-request", |
||||
|
"application/scvp-cv-response", "application/scvp-vp-request", |
||||
|
"application/scvp-vp-response", "application/sdp", "application/sea", |
||||
|
"application/set", "application/set-payment-initiation", "application/set-registration-initiation", |
||||
|
"application/shf+xml", "application/sla", "application/smil", |
||||
|
"application/smil", "application/smil+xml", "application/smil+xml", |
||||
|
"application/solids", "application/sounder", "application/sparql-query", |
||||
|
"application/sparql-results+xml", "application/srgs", "application/srgs+xml", |
||||
|
"application/sru+xml", "application/ssdl+xml", "application/ssml+xml", |
||||
|
"application/step", "application/step", "application/streamingmedia", |
||||
|
"application/tei+xml", "application/tei+xml", "application/thraud+xml", |
||||
|
"application/timestamped-data", "application/toolbook", "application/vda", |
||||
|
"application/vnd.3gpp.pic-bw-large", "application/vnd.3gpp.pic-bw-small", |
||||
|
"application/vnd.3gpp.pic-bw-var", "application/vnd.3gpp2.tcap", |
||||
|
"application/vnd.3m.post-it-notes", "application/vnd.accpac.simply.aso", |
||||
|
"application/vnd.accpac.simply.imp", "application/vnd.acucobol", |
||||
|
"application/vnd.acucorp", "application/vnd.acucorp", "application/vnd.adobe.air-application-installer-package+zip", |
||||
|
"application/vnd.adobe.formscentral.fcdt", "application/vnd.adobe.fxp", |
||||
|
"application/vnd.adobe.fxp", "application/vnd.adobe.xdp+xml", |
||||
|
"application/vnd.adobe.xfdf", "application/vnd.ahead.space", |
||||
|
"application/vnd.airzip.filesecure.azf", "application/vnd.airzip.filesecure.azs", |
||||
|
"application/vnd.amazon.ebook", "application/vnd.americandynamics.acc", |
||||
|
"application/vnd.amiga.ami", "application/vnd.android.package-archive", |
||||
|
"application/vnd.anser-web-certificate-issue-initiation", "application/vnd.anser-web-funds-transfer-initiation", |
||||
|
"application/vnd.antix.game-component", "application/vnd.apple.installer+xml", |
||||
|
"application/vnd.apple.mpegurl", "application/vnd.arastra.swi", |
||||
|
"application/vnd.aristanetworks.swi", "application/vnd.astraea-software.iota", |
||||
|
"application/vnd.audiograph", "application/vnd.blueice.multipass", |
||||
|
"application/vnd.bmi", "application/vnd.businessobjects", "application/vnd.chemdraw+xml", |
||||
|
"application/vnd.chipnuts.karaoke-mmd", "application/vnd.cinderella", |
||||
|
"application/vnd.claymore", "application/vnd.cloanto.rp9", "application/vnd.clonk.c4group", |
||||
|
"application/vnd.clonk.c4group", "application/vnd.clonk.c4group", |
||||
|
"application/vnd.clonk.c4group", "application/vnd.clonk.c4group", |
||||
|
"application/vnd.cluetrust.cartomobile-config", "application/vnd.cluetrust.cartomobile-config-pkg", |
||||
|
"application/vnd.commonspace", "application/vnd.contact.cmsg", |
||||
|
"application/vnd.cosmocaller", "application/vnd.crick.clicker", |
||||
|
"application/vnd.crick.clicker.keyboard", "application/vnd.crick.clicker.palette", |
||||
|
"application/vnd.crick.clicker.template", "application/vnd.crick.clicker.wordbank", |
||||
|
"application/vnd.criticaltools.wbs+xml", "application/vnd.ctc-posml", |
||||
|
"application/vnd.cups-ppd", "application/vnd.curl.car", "application/vnd.curl.pcurl", |
||||
|
"application/vnd.dart", "application/vnd.data-vision.rdz", "application/vnd.dece.data", |
||||
|
"application/vnd.dece.data", "application/vnd.dece.data", "application/vnd.dece.data", |
||||
|
"application/vnd.dece.ttml+xml", "application/vnd.dece.ttml+xml", |
||||
|
"application/vnd.dece.unspecified", "application/vnd.dece.unspecified", |
||||
|
"application/vnd.dece.zip", "application/vnd.dece.zip", "application/vnd.denovo.fcselayout-link", |
||||
|
"application/vnd.dna", "application/vnd.dolby.mlp", "application/vnd.dpgraph", |
||||
|
"application/vnd.dreamfactory", "application/vnd.ds-keypoint", |
||||
|
"application/vnd.dvb.ait", "application/vnd.dvb.service", "application/vnd.dynageo", |
||||
|
"application/vnd.ecowin.chart", "application/vnd.enliven", "application/vnd.epson.esf", |
||||
|
"application/vnd.epson.msf", "application/vnd.epson.quickanime", |
||||
|
"application/vnd.epson.salt", "application/vnd.epson.ssf", "application/vnd.eszigno3+xml", |
||||
|
"application/vnd.eszigno3+xml", "application/vnd.ezpix-album", |
||||
|
"application/vnd.ezpix-package", "application/vnd.fdf", "application/vnd.fdsn.mseed", |
||||
|
"application/vnd.fdsn.seed", "application/vnd.fdsn.seed", "application/vnd.flographit", |
||||
|
"application/vnd.fluxtime.clip", "application/vnd.framemaker", |
||||
|
"application/vnd.framemaker", "application/vnd.framemaker", "application/vnd.framemaker", |
||||
|
"application/vnd.frogans.fnc", "application/vnd.frogans.ltf", |
||||
|
"application/vnd.fsc.weblaunch", "application/vnd.fujitsu.oasys", |
||||
|
"application/vnd.fujitsu.oasys2", "application/vnd.fujitsu.oasys3", |
||||
|
"application/vnd.fujitsu.oasysgp", "application/vnd.fujitsu.oasysprs", |
||||
|
"application/vnd.fujixerox.ddd", "application/vnd.fujixerox.docuworks", |
||||
|
"application/vnd.fujixerox.docuworks.binder", "application/vnd.fuzzysheet", |
||||
|
"application/vnd.genomatix.tuxedo", "application/vnd.geogebra.file", |
||||
|
"application/vnd.geogebra.tool", "application/vnd.geometry-explorer", |
||||
|
"application/vnd.geometry-explorer", "application/vnd.geonext", |
||||
|
"application/vnd.geoplan", "application/vnd.geospace", "application/vnd.gmx", |
||||
|
"application/vnd.google-earth.kml+xml", "application/vnd.google-earth.kmz", |
||||
|
"application/vnd.grafeq", "application/vnd.grafeq", "application/vnd.groove-account", |
||||
|
"application/vnd.groove-help", "application/vnd.groove-identity-message", |
||||
|
"application/vnd.groove-injector", "application/vnd.groove-tool-message", |
||||
|
"application/vnd.groove-tool-template", "application/vnd.groove-vcard", |
||||
|
"application/vnd.hal+xml", "application/vnd.handheld-entertainment+xml", |
||||
|
"application/vnd.hbci", "application/vnd.hhe.lesson-player", |
||||
|
"application/vnd.hp-hpgl", "application/vnd.hp-hpgl", "application/vnd.hp-hpgl", |
||||
|
"application/vnd.hp-hpid", "application/vnd.hp-hps", "application/vnd.hp-jlyt", |
||||
|
"application/vnd.hp-pcl", "application/vnd.hp-pclxl", "application/vnd.hydrostatix.sof-data", |
||||
|
"application/vnd.hzn-3d-crossword", "application/vnd.ibm.minipay", |
||||
|
"application/vnd.ibm.modcap", "application/vnd.ibm.modcap", "application/vnd.ibm.modcap", |
||||
|
"application/vnd.ibm.rights-management", "application/vnd.ibm.secure-container", |
||||
|
"application/vnd.iccprofile", "application/vnd.iccprofile", "application/vnd.igloader", |
||||
|
"application/vnd.immervision-ivp", "application/vnd.immervision-ivu", |
||||
|
"application/vnd.insors.igm", "application/vnd.intercon.formnet", |
||||
|
"application/vnd.intercon.formnet", "application/vnd.intergeo", |
||||
|
"application/vnd.intu.qbo", "application/vnd.intu.qfx", "application/vnd.ipunplugged.rcprofile", |
||||
|
"application/vnd.irepository.package+xml", "application/vnd.is-xpr", |
||||
|
"application/vnd.isac.fcs", "application/vnd.jam", "application/vnd.jcp.javame.midlet-rms", |
||||
|
"application/vnd.jisp", "application/vnd.joost.joda-archive", |
||||
|
"application/vnd.kahootz", "application/vnd.kahootz", "application/vnd.kde.karbon", |
||||
|
"application/vnd.kde.kchart", "application/vnd.kde.kformula", |
||||
|
"application/vnd.kde.kivio", "application/vnd.kde.kontour", "application/vnd.kde.kpresenter", |
||||
|
"application/vnd.kde.kpresenter", "application/vnd.kde.kspread", |
||||
|
"application/vnd.kde.kword", "application/vnd.kde.kword", "application/vnd.kenameaapp", |
||||
|
"application/vnd.kidspiration", "application/vnd.kinar", "application/vnd.kinar", |
||||
|
"application/vnd.koan", "application/vnd.koan", "application/vnd.koan", |
||||
|
"application/vnd.koan", "application/vnd.kodak-descriptor", "application/vnd.las.las+xml", |
||||
|
"application/vnd.llamagraphics.life-balance.desktop", "application/vnd.llamagraphics.life-balance.exchange+xml", |
||||
|
"application/vnd.lotus-1-2-3", "application/vnd.lotus-approach", |
||||
|
"application/vnd.lotus-freelance", "application/vnd.lotus-notes", |
||||
|
"application/vnd.lotus-organizer", "application/vnd.lotus-screencam", |
||||
|
"application/vnd.lotus-wordpro", "application/vnd.macports.portpkg", |
||||
|
"application/vnd.mcd", "application/vnd.medcalcdata", "application/vnd.mediastation.cdkey", |
||||
|
"application/vnd.mfer", "application/vnd.mfmp", "application/vnd.micrografx.flo", |
||||
|
"application/vnd.micrografx.igx", "application/vnd.mif", "application/vnd.mobius.daf", |
||||
|
"application/vnd.mobius.dis", "application/vnd.mobius.mbk", "application/vnd.mobius.mqy", |
||||
|
"application/vnd.mobius.msl", "application/vnd.mobius.plc", "application/vnd.mobius.txf", |
||||
|
"application/vnd.mophun.application", "application/vnd.mophun.certificate", |
||||
|
"application/vnd.mozilla.xul+xml", "application/vnd.ms-artgalry", |
||||
|
"application/vnd.ms-cab-compressed", "application/vnd.ms-excel", |
||||
|
"application/vnd.ms-excel", "application/vnd.ms-excel", "application/vnd.ms-excel", |
||||
|
"application/vnd.ms-excel", "application/vnd.ms-excel", "application/vnd.ms-excel", |
||||
|
"application/vnd.ms-excel", "application/vnd.ms-excel.addin.macroEnabled.12", |
||||
|
"application/vnd.ms-excel.addin.macroenabled.12", "application/vnd.ms-excel.sheet.binary.macroEnabled.12", |
||||
|
"application/vnd.ms-excel.sheet.binary.macroenabled.12", "application/vnd.ms-excel.sheet.macroEnabled.12", |
||||
|
"application/vnd.ms-excel.sheet.macroenabled.12", "application/vnd.ms-excel.template.macroEnabled.12", |
||||
|
"application/vnd.ms-excel.template.macroenabled.12", "application/vnd.ms-fontobject", |
||||
|
"application/vnd.ms-htmlhelp", "application/vnd.ms-ims", "application/vnd.ms-lrm", |
||||
|
"application/vnd.ms-officetheme", "application/vnd.ms-outlook", |
||||
|
"application/vnd.ms-pki.certstore", "application/vnd.ms-pki.pko", |
||||
|
"application/vnd.ms-pki.seccat", "application/vnd.ms-pki.stl", |
||||
|
"application/vnd.ms-pkicertstore", "application/vnd.ms-pkiseccat", |
||||
|
"application/vnd.ms-pkistl", "application/vnd.ms-powerpoint", |
||||
|
"application/vnd.ms-powerpoint", "application/vnd.ms-powerpoint", |
||||
|
"application/vnd.ms-powerpoint", "application/vnd.ms-powerpoint", |
||||
|
"application/vnd.ms-powerpoint.addin.macroEnabled.12", "application/vnd.ms-powerpoint.addin.macroenabled.12", |
||||
|
"application/vnd.ms-powerpoint.presentation.macroEnabled.12", |
||||
|
"application/vnd.ms-powerpoint.presentation.macroEnabled.12", |
||||
|
"application/vnd.ms-powerpoint.presentation.macroenabled.12", |
||||
|
"application/vnd.ms-powerpoint.presentation.macroenabled.12", |
||||
|
"application/vnd.ms-powerpoint.slide.macroEnabled.12", "application/vnd.ms-powerpoint.slide.macroenabled.12", |
||||
|
"application/vnd.ms-powerpoint.slideshow.macroEnabled.12", "application/vnd.ms-powerpoint.slideshow.macroenabled.12", |
||||
|
"application/vnd.ms-powerpoint.template.macroEnabled.12", "application/vnd.ms-powerpoint.template.macroenabled.12", |
||||
|
"application/vnd.ms-project", "application/vnd.ms-project", "application/vnd.ms-word.document.macroEnabled.12", |
||||
|
"application/vnd.ms-word.document.macroenabled.12", "application/vnd.ms-word.template.macroEnabled.12", |
||||
|
"application/vnd.ms-word.template.macroenabled.12", "application/vnd.ms-works", |
||||
|
"application/vnd.ms-works", "application/vnd.ms-works", "application/vnd.ms-works", |
||||
|
"application/vnd.ms-wpl", "application/vnd.ms-xpsdocument", "application/vnd.mseq", |
||||
|
"application/vnd.musician", "application/vnd.muvee.style", "application/vnd.mynfc", |
||||
|
"application/vnd.neurolanguage.nlu", "application/vnd.nitf", |
||||
|
"application/vnd.nitf", "application/vnd.noblenet-directory", |
||||
|
"application/vnd.noblenet-sealer", "application/vnd.noblenet-web", |
||||
|
"application/vnd.nokia.configuration-message", "application/vnd.nokia.n-gage.data", |
||||
|
"application/vnd.nokia.n-gage.symbian.install", "application/vnd.nokia.radio-preset", |
||||
|
"application/vnd.nokia.radio-presets", "application/vnd.nokia.ringing-tone", |
||||
|
"application/vnd.novadigm.EDM", "application/vnd.novadigm.EDX", |
||||
|
"application/vnd.novadigm.EXT", "application/vnd.novadigm.edm", |
||||
|
"application/vnd.novadigm.edx", "application/vnd.novadigm.ext", |
||||
|
"application/vnd.oasis.opendocument.chart", "application/vnd.oasis.opendocument.chart-template", |
||||
|
"application/vnd.oasis.opendocument.database", "application/vnd.oasis.opendocument.formula", |
||||
|
"application/vnd.oasis.opendocument.formula-template", "application/vnd.oasis.opendocument.graphics", |
||||
|
"application/vnd.oasis.opendocument.graphics-template", "application/vnd.oasis.opendocument.image", |
||||
|
"application/vnd.oasis.opendocument.image-template", "application/vnd.oasis.opendocument.presentation", |
||||
|
"application/vnd.oasis.opendocument.presentation-template", "application/vnd.oasis.opendocument.spreadsheet", |
||||
|
"application/vnd.oasis.opendocument.spreadsheet-template", "application/vnd.oasis.opendocument.text", |
||||
|
"application/vnd.oasis.opendocument.text-master", "application/vnd.oasis.opendocument.text-master", |
||||
|
"application/vnd.oasis.opendocument.text-template", "application/vnd.oasis.opendocument.text-web", |
||||
|
"application/vnd.olpc-sugar", "application/vnd.oma.dd2+xml", |
||||
|
"application/vnd.openofficeorg.extension", "application/vnd.openxmlformats-officedocument.presentationml.presentation", |
||||
|
"application/vnd.openxmlformats-officedocument.presentationml.slide", |
||||
|
"application/vnd.openxmlformats-officedocument.presentationml.slideshow", |
||||
|
"application/vnd.openxmlformats-officedocument.presentationml.template", |
||||
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", |
||||
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.template", |
||||
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document", |
||||
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.template", |
||||
|
"application/vnd.osgeo.mapguide.package", "application/vnd.osgi.dp", |
||||
|
"application/vnd.osgi.subsystem", "application/vnd.palm", "application/vnd.palm", |
||||
|
"application/vnd.palm", "application/vnd.pawaafile", "application/vnd.pg.format", |
||||
|
"application/vnd.pg.osasli", "application/vnd.picsel", "application/vnd.pmi.widget", |
||||
|
"application/vnd.pocketlearn", "application/vnd.powerbuilder6", |
||||
|
"application/vnd.previewsystems.box", "application/vnd.proteus.magazine", |
||||
|
"application/vnd.publishare-delta-tree", "application/vnd.pvi.ptid1", |
||||
|
"application/vnd.quark.quarkxpress", "application/vnd.quark.quarkxpress", |
||||
|
"application/vnd.quark.quarkxpress", "application/vnd.quark.quarkxpress", |
||||
|
"application/vnd.quark.quarkxpress", "application/vnd.quark.quarkxpress", |
||||
|
"application/vnd.realvnc.bed", "application/vnd.recordare.musicxml", |
||||
|
"application/vnd.recordare.musicxml+xml", "application/vnd.rig.cryptonote", |
||||
|
"application/vnd.rim.cod", "application/vnd.rn-realmedia", "application/vnd.rn-realmedia-vbr", |
||||
|
"application/vnd.rn-realplayer", "application/vnd.route66.link66+xml", |
||||
|
"application/vnd.sailingtracker.track", "application/vnd.seemail", |
||||
|
"application/vnd.sema", "application/vnd.semd", "application/vnd.semf", |
||||
|
"application/vnd.shana.informed.formdata", "application/vnd.shana.informed.formtemplate", |
||||
|
"application/vnd.shana.informed.interchange", "application/vnd.shana.informed.package", |
||||
|
"application/vnd.simtech-mindmapper", "application/vnd.simtech-mindmapper", |
||||
|
"application/vnd.smaf", "application/vnd.smart.teacher", "application/vnd.solent.sdkm+xml", |
||||
|
"application/vnd.solent.sdkm+xml", "application/vnd.spotfire.dxp", |
||||
|
"application/vnd.spotfire.sfs", "application/vnd.stardivision.calc", |
||||
|
"application/vnd.stardivision.draw", "application/vnd.stardivision.impress", |
||||
|
"application/vnd.stardivision.impress", "application/vnd.stardivision.math", |
||||
|
"application/vnd.stardivision.writer", "application/vnd.stardivision.writer", |
||||
|
"application/vnd.stardivision.writer-global", "application/vnd.stepmania.package", |
||||
|
"application/vnd.stepmania.stepchart", "application/vnd.sun.xml.calc", |
||||
|
"application/vnd.sun.xml.calc.template", "application/vnd.sun.xml.draw", |
||||
|
"application/vnd.sun.xml.draw.template", "application/vnd.sun.xml.impress", |
||||
|
"application/vnd.sun.xml.impress.template", "application/vnd.sun.xml.math", |
||||
|
"application/vnd.sun.xml.writer", "application/vnd.sun.xml.writer.global", |
||||
|
"application/vnd.sun.xml.writer.template", "application/vnd.sus-calendar", |
||||
|
"application/vnd.sus-calendar", "application/vnd.svd", "application/vnd.symbian.install", |
||||
|
"application/vnd.symbian.install", "application/vnd.syncml+xml", |
||||
|
"application/vnd.syncml.dm+wbxml", "application/vnd.syncml.dm+xml", |
||||
|
"application/vnd.tao.intent-module-archive", "application/vnd.tcpdump.pcap", |
||||
|
"application/vnd.tcpdump.pcap", "application/vnd.tcpdump.pcap", |
||||
|
"application/vnd.tmobile-livetv", "application/vnd.trid.tpt", |
||||
|
"application/vnd.triscape.mxs", "application/vnd.trueapp", "application/vnd.ufdl", |
||||
|
"application/vnd.ufdl", "application/vnd.uiq.theme", "application/vnd.umajin", |
||||
|
"application/vnd.unity", "application/vnd.uoml+xml", "application/vnd.vcx", |
||||
|
"application/vnd.visio", "application/vnd.visio", "application/vnd.visio", |
||||
|
"application/vnd.visio", "application/vnd.visionary", "application/vnd.vsf", |
||||
|
"application/vnd.wap.sic", "application/vnd.wap.slc", "application/vnd.wap.wbxml", |
||||
|
"application/vnd.wap.wmlc", "application/vnd.wap.wmlscriptc", |
||||
|
"application/vnd.webturbo", "application/vnd.wolfram.player", |
||||
|
"application/vnd.wordperfect", "application/vnd.wqd", "application/vnd.wt.stf", |
||||
|
"application/vnd.xara", "application/vnd.xara", "application/vnd.xfdl", |
||||
|
"application/vnd.yamaha.hv-dic", "application/vnd.yamaha.hv-script", |
||||
|
"application/vnd.yamaha.hv-voice", "application/vnd.yamaha.openscoreformat", |
||||
|
"application/vnd.yamaha.openscoreformat.osfpvg+xml", "application/vnd.yamaha.smaf-audio", |
||||
|
"application/vnd.yamaha.smaf-phrase", "application/vnd.yellowriver-custom-menu", |
||||
|
"application/vnd.zul", "application/vnd.zul", "application/vnd.zzazz.deck+xml", |
||||
|
"application/vocaltec-media-desc", "application/vocaltec-media-file", |
||||
|
"application/voicexml+xml", "application/widget", "application/winhlp", |
||||
|
"application/wordperfect", "application/wordperfect", "application/wordperfect", |
||||
|
"application/wordperfect", "application/wordperfect5.1", "application/wordperfect6.0", |
||||
|
"application/wordperfect6.0", "application/wordperfect6.1", "application/wsdl+xml", |
||||
|
"application/wspolicy+xml", "application/x-123", "application/x-123", |
||||
|
"application/x-7z-compressed", "application/x-abiword", "application/x-ace-compressed", |
||||
|
"application/x-aim", "application/x-apple-diskimage", "application/x-authorware-bin", |
||||
|
"application/x-authorware-bin", "application/x-authorware-bin", |
||||
|
"application/x-authorware-bin", "application/x-authorware-map", |
||||
|
"application/x-authorware-seg", "application/x-bcpio", "application/x-binary", |
||||
|
"application/x-binhex40", "application/x-bittorrent", "application/x-blorb", |
||||
|
"application/x-blorb", "application/x-bsh", "application/x-bsh", |
||||
|
"application/x-bsh", "application/x-bytecode.elisp", "application/x-bytecode.elisp(compiledelisp)", |
||||
|
"application/x-bzip", "application/x-bzip2", "application/x-bzip2", |
||||
|
"application/x-cbr", "application/x-cbr", "application/x-cbr", |
||||
|
"application/x-cbr", "application/x-cbr", "application/x-cdf", |
||||
|
"application/x-cdlink", "application/x-cfs-compressed", "application/x-chat", |
||||
|
"application/x-chat", "application/x-chess-pgn", "application/x-chm", |
||||
|
"application/x-chrome-extension", "application/x-cmu-raster", |
||||
|
"application/x-cocoa", "application/x-compactpro", "application/x-compress", |
||||
|
"application/x-compressed", "application/x-compressed", "application/x-compressed", |
||||
|
"application/x-compressed", "application/x-conference", "application/x-cpio", |
||||
|
"application/x-cpt", "application/x-csh", "application/x-debian-package", |
||||
|
"application/x-debian-package", "application/x-deepv", "application/x-dgc-compressed", |
||||
|
"application/x-director", "application/x-director", "application/x-director", |
||||
|
"application/x-director", "application/x-director", "application/x-director", |
||||
|
"application/x-director", "application/x-director", "application/x-director", |
||||
|
"application/x-dms", "application/x-doom", "application/x-dtbncx+xml", |
||||
|
"application/x-dtbook+xml", "application/x-dtbresource+xml", |
||||
|
"application/x-dvi", "application/x-elc", "application/x-envoy", |
||||
|
"application/x-envoy", "application/x-esrehber", "application/x-eva", |
||||
|
"application/x-excel", "application/x-excel", "application/x-excel", |
||||
|
"application/x-excel", "application/x-excel", "application/x-excel", |
||||
|
"application/x-excel", "application/x-excel", "application/x-excel", |
||||
|
"application/x-excel", "application/x-excel", "application/x-flac", |
||||
|
"application/x-font", "application/x-font", "application/x-font", |
||||
|
"application/x-font", "application/x-font", "application/x-font-bdf", |
||||
|
"application/x-font-ghostscript", "application/x-font-linux-psf", |
||||
|
"application/x-font-otf", "application/x-font-pcf", "application/x-font-snf", |
||||
|
"application/x-font-ttf", "application/x-font-ttf", "application/x-font-type1", |
||||
|
"application/x-font-type1", "application/x-font-type1", "application/x-font-type1", |
||||
|
"application/x-font-woff", "application/x-frame", "application/x-freearc", |
||||
|
"application/x-freelance", "application/x-futuresplash", "application/x-gca-compressed", |
||||
|
"application/x-glulx", "application/x-gnumeric", "application/x-go-sgf", |
||||
|
"application/x-gramps-xml", "application/x-graphing-calculator", |
||||
|
"application/x-gsp", "application/x-gss", "application/x-gtar", |
||||
|
"application/x-gtar", "application/x-gtar", "application/x-gzip", |
||||
|
"application/x-gzip", "application/x-gzip", "application/x-hdf", |
||||
|
"application/x-helpfile", "application/x-helpfile", "application/x-httpd-imap", |
||||
|
"application/x-httpd-php", "application/x-httpd-php", "application/x-httpd-php", |
||||
|
"application/x-httpd-php-source", "application/x-httpd-php3", |
||||
|
"application/x-httpd-php3-preprocessed", "application/x-httpd-php4", |
||||
|
"application/x-ica", "application/x-ima", "application/x-install-instructions", |
||||
|
"application/x-internet-signup", "application/x-internet-signup", |
||||
|
"application/x-internett-signup", "application/x-inventor", "application/x-ip2", |
||||
|
"application/x-iphone", "application/x-iso9660-image", "application/x-java-archive", |
||||
|
"application/x-java-class", "application/x-java-commerce", "application/x-java-jnlp-file", |
||||
|
"application/x-java-serialized-object", "application/x-java-vm", |
||||
|
"application/x-javascript", "application/x-kchart", "application/x-killustrator", |
||||
|
"application/x-koan", "application/x-koan", "application/x-koan", |
||||
|
"application/x-koan", "application/x-kpresenter", "application/x-kpresenter", |
||||
|
"application/x-ksh", "application/x-kspread", "application/x-kword", |
||||
|
"application/x-kword", "application/x-latex", "application/x-latex", |
||||
|
"application/x-lha", "application/x-lisp", "application/x-livescreen", |
||||
|
"application/x-lotus", "application/x-lotusscreencam", "application/x-lua-bytecode", |
||||
|
"application/x-lzh", "application/x-lzh-compressed", "application/x-lzh-compressed", |
||||
|
"application/x-lzx", "application/x-mac-binhex40", "application/x-macbinary", |
||||
|
"application/x-magic-cap-package-1.0", "application/x-maker", |
||||
|
"application/x-maker", "application/x-maker", "application/x-maker", |
||||
|
"application/x-maker", "application/x-maker", "application/x-maker", |
||||
|
"application/x-mathcad", "application/x-meme", "application/x-midi", |
||||
|
"application/x-midi", "application/x-mie", "application/x-mif", |
||||
|
"application/x-mix-transfer", "application/x-mobipocket-ebook", |
||||
|
"application/x-mobipocket-ebook", "application/x-mpegURL", "application/x-mplayer2", |
||||
|
"application/x-ms-application", "application/x-ms-shortcut", |
||||
|
"application/x-ms-wmd", "application/x-ms-wmz", "application/x-ms-xbap", |
||||
|
"application/x-msaccess", "application/x-msbinder", "application/x-mscardfile", |
||||
|
"application/x-msclip", "application/x-msdos-program", "application/x-msdos-program", |
||||
|
"application/x-msdos-program", "application/x-msdos-program", |
||||
|
"application/x-msdownload", "application/x-msdownload", "application/x-msdownload", |
||||
|
"application/x-msdownload", "application/x-msdownload", "application/x-msexcel", |
||||
|
"application/x-msexcel", "application/x-msexcel", "application/x-msi", |
||||
|
"application/x-msmediaview", "application/x-msmediaview", "application/x-msmediaview", |
||||
|
"application/x-msmetafile", "application/x-msmetafile", "application/x-msmetafile", |
||||
|
"application/x-msmetafile", "application/x-msmoney", "application/x-mspowerpoint", |
||||
|
"application/x-mspublisher", "application/x-msschedule", "application/x-msterminal", |
||||
|
"application/x-mswrite", "application/x-navi-animation", "application/x-navidoc", |
||||
|
"application/x-navimap", "application/x-navistyle", "application/x-netcdf", |
||||
|
"application/x-netcdf", "application/x-newton-compatible-pkg", |
||||
|
"application/x-nokia-9000-communicator-add-on-software", "application/x-ns-proxy-autoconfig", |
||||
|
"application/x-nwc", "application/x-nzb", "application/x-object", |
||||
|
"application/x-omc", "application/x-omcdatamaker", "application/x-omcregerator", |
||||
|
"application/x-oz-application", "application/x-pagemaker", "application/x-pagemaker", |
||||
|
"application/x-pcl", "application/x-perfmon", "application/x-perfmon", |
||||
|
"application/x-perfmon", "application/x-perfmon", "application/x-perfmon", |
||||
|
"application/x-pixclscript", "application/x-pkcs10", "application/x-pkcs12", |
||||
|
"application/x-pkcs12", "application/x-pkcs7-certificates", "application/x-pkcs7-certificates", |
||||
|
"application/x-pkcs7-certreqresp", "application/x-pkcs7-crl", |
||||
|
"application/x-pkcs7-mime", "application/x-pkcs7-mime", "application/x-pkcs7-signature", |
||||
|
"application/x-pkcs7-signature", "application/x-pointplus", "application/x-portable-anymap", |
||||
|
"application/x-project", "application/x-project", "application/x-project", |
||||
|
"application/x-project", "application/x-python-code", "application/x-python-code", |
||||
|
"application/x-qpro", "application/x-quicktimeplayer", "application/x-rar-compressed", |
||||
|
"application/x-redhat-package-manager", "application/x-research-info-systems", |
||||
|
"application/x-rpm", "application/x-rtf", "application/x-sdp", |
||||
|
"application/x-sea", "application/x-seelogo", "application/x-sh", |
||||
|
"application/x-shar", "application/x-shar", "application/x-shockwave-flash", |
||||
|
"application/x-shockwave-flash", "application/x-silverlight-app", |
||||
|
"application/x-sit", "application/x-sprite", "application/x-sprite", |
||||
|
"application/x-sql", "application/x-stuffit", "application/x-stuffitx", |
||||
|
"application/x-subrip", "application/x-sv4cpio", "application/x-sv4crc", |
||||
|
"application/x-t3vm-image", "application/x-tads", "application/x-tar", |
||||
|
"application/x-tbook", "application/x-tbook", "application/x-tcl", |
||||
|
"application/x-tex", "application/x-tex-gf", "application/x-tex-pk", |
||||
|
"application/x-tex-tfm", "application/x-texinfo", "application/x-texinfo", |
||||
|
"application/x-tgif", "application/x-trash", "application/x-trash", |
||||
|
"application/x-trash", "application/x-trash", "application/x-trash", |
||||
|
"application/x-troff", "application/x-troff", "application/x-troff", |
||||
|
"application/x-troff-man", "application/x-troff-me", "application/x-troff-ms", |
||||
|
"application/x-troff-msvideo", "application/x-ustar", "application/x-visio", |
||||
|
"application/x-visio", "application/x-visio", "application/x-vnd.audioexplosion.mzz", |
||||
|
"application/x-vnd.ls-xpix", "application/x-vrml", "application/x-wais-source", |
||||
|
"application/x-wais-source", "application/x-web-app-manifest+json", |
||||
|
"application/x-wingz", "application/x-winhelp", "application/x-wintalk", |
||||
|
"application/x-world", "application/x-world", "application/x-wpwin", |
||||
|
"application/x-wri", "application/x-x509-ca-cert", "application/x-x509-ca-cert", |
||||
|
"application/x-x509-ca-cert", "application/x-x509-user-cert", |
||||
|
"application/x-xcf", "application/x-xfig", "application/x-xliff+xml", |
||||
|
"application/x-xpinstall", "application/x-xz", "application/x-zip-compressed", |
||||
|
"application/x-zmachine", "application/x-zmachine", "application/x-zmachine", |
||||
|
"application/x-zmachine", "application/x-zmachine", "application/x-zmachine", |
||||
|
"application/x-zmachine", "application/x-zmachine", "application/xaml+xml", |
||||
|
"application/xcap-diff+xml", "application/xenc+xml", "application/xhtml+xml", |
||||
|
"application/xhtml+xml", "application/xml", "application/xml", |
||||
|
"application/xml", "application/xml-dtd", "application/xop+xml", |
||||
|
"application/xproc+xml", "application/xslt+xml", "application/xspf+xml", |
||||
|
"application/xv+xml", "application/xv+xml", "application/xv+xml", |
||||
|
"application/xv+xml", "application/yang", "application/yin+xml", |
||||
|
"application/ynd.ms-pkipko", "application/zip", "audio/adpcm", |
||||
|
"audio/aiff", "audio/aiff", "audio/aiff", "audio/basic", "audio/basic", |
||||
|
"audio/flac", "audio/it", "audio/make", "audio/make", "audio/make", |
||||
|
"audio/make.my.funk", "audio/mid", "audio/mid", "audio/midi", |
||||
|
"audio/midi", "audio/midi", "audio/midi", "audio/mod", "audio/mp4", |
||||
|
"audio/mp4", "audio/mpeg", "audio/mpeg", "audio/mpeg", "audio/mpeg", |
||||
|
"audio/mpeg", "audio/mpeg", "audio/mpeg", "audio/mpeg", "audio/mpeg", |
||||
|
"audio/mpeg", "audio/mpeg3", "audio/mpegurl", "audio/nspaudio", |
||||
|
"audio/nspaudio", "audio/ogg", "audio/ogg", "audio/ogg", "audio/prs.sid", |
||||
|
"audio/s3m", "audio/silk", "audio/tsp-audio", "audio/tsplayer", |
||||
|
"audio/vnd.dece.audio", "audio/vnd.dece.audio", "audio/vnd.digital-winds", |
||||
|
"audio/vnd.dra", "audio/vnd.dts", "audio/vnd.dts.hd", "audio/vnd.lucent.voice", |
||||
|
"audio/vnd.ms-playready.media.pya", "audio/vnd.nuera.ecelp4800", |
||||
|
"audio/vnd.nuera.ecelp7470", "audio/vnd.nuera.ecelp9600", "audio/vnd.qcelp", |
||||
|
"audio/vnd.rip", "audio/voc", "audio/voxware", "audio/wav", "audio/webm", |
||||
|
"audio/x-aac", "audio/x-adpcm", "audio/x-aiff", "audio/x-aiff", |
||||
|
"audio/x-aiff", "audio/x-au", "audio/x-caf", "audio/x-flac", |
||||
|
"audio/x-gsm", "audio/x-gsm", "audio/x-jam", "audio/x-liveaudio", |
||||
|
"audio/x-matroska", "audio/x-mid", "audio/x-mid", "audio/x-midi", |
||||
|
"audio/x-midi", "audio/x-mod", "audio/x-mpeg", "audio/x-mpeg-3", |
||||
|
"audio/x-mpegurl", "audio/x-mpequrl", "audio/x-ms-wax", "audio/x-ms-wma", |
||||
|
"audio/x-nspaudio", "audio/x-nspaudio", "audio/x-pn-realaudio", |
||||
|
"audio/x-pn-realaudio", "audio/x-pn-realaudio", "audio/x-pn-realaudio", |
||||
|
"audio/x-pn-realaudio", "audio/x-pn-realaudio-plugin", "audio/x-pn-realaudio-plugin", |
||||
|
"audio/x-pn-realaudio-plugin", "audio/x-psid", "audio/x-realaudio", |
||||
|
"audio/x-scpls", "audio/x-sd2", "audio/x-twinvq", "audio/x-twinvq-plugin", |
||||
|
"audio/x-twinvq-plugin", "audio/x-vnd.audioexplosion.mjuicemediafile", |
||||
|
"audio/x-voc", "audio/x-wav", "audio/xm", "chemical/x-cdx", "chemical/x-cif", |
||||
|
"chemical/x-cmdf", "chemical/x-cml", "chemical/x-csml", "chemical/x-pdb", |
||||
|
"chemical/x-pdb", "chemical/x-xyz", "drawing/x-dwf", "drawing/x-dwf(old)", |
||||
|
"font/opentype", "i-world/i-vrml", "image/bmp", "image/bmp", |
||||
|
"image/cgm", "image/cis-cod", "image/cmu-raster", "image/cmu-raster", |
||||
|
"image/fif", "image/florian", "image/florian", "image/g3fax", |
||||
|
"image/gif", "image/ief", "image/ief", "image/jpeg", "image/jpeg", |
||||
|
"image/jpeg", "image/jpeg", "image/jpeg", "image/jutvision", |
||||
|
"image/ktx", "image/naplps", "image/naplps", "image/pcx", "image/pict", |
||||
|
"image/pict", "image/pipeg", "image/pjpeg", "image/pjpeg", "image/pjpeg", |
||||
|
"image/pjpeg", "image/png", "image/png", "image/prs.btif", "image/sgi", |
||||
|
"image/svg+xml", "image/svg+xml", "image/tiff", "image/tiff", |
||||
|
"image/vasa", "image/vnd.adobe.photoshop", "image/vnd.dece.graphic", |
||||
|
"image/vnd.dece.graphic", "image/vnd.dece.graphic", "image/vnd.dece.graphic", |
||||
|
"image/vnd.djvu", "image/vnd.djvu", "image/vnd.dvb.subtitle", |
||||
|
"image/vnd.dwg", "image/vnd.dwg", "image/vnd.dwg", "image/vnd.dxf", |
||||
|
"image/vnd.fastbidsheet", "image/vnd.fpx", "image/vnd.fpx", "image/vnd.fst", |
||||
|
"image/vnd.fujixerox.edmics-mmr", "image/vnd.fujixerox.edmics-rlc", |
||||
|
"image/vnd.ms-modi", "image/vnd.ms-photo", "image/vnd.net-fpx", |
||||
|
"image/vnd.net-fpx", "image/vnd.rn-realflash", "image/vnd.rn-realpix", |
||||
|
"image/vnd.wap.wbmp", "image/vnd.xiff", "image/webp", "image/x-3ds", |
||||
|
"image/x-cmu-rast", "image/x-cmu-raster", "image/x-cmx", "image/x-coreldraw", |
||||
|
"image/x-coreldrawpattern", "image/x-coreldrawtemplate", "image/x-corelphotopaint", |
||||
|
"image/x-dwg", "image/x-dwg", "image/x-dwg", "image/x-freehand", |
||||
|
"image/x-freehand", "image/x-freehand", "image/x-freehand", "image/x-freehand", |
||||
|
"image/x-icon", "image/x-jg", "image/x-jng", "image/x-jps", "image/x-mrsid-image", |
||||
|
"image/x-ms-bmp", "image/x-niff", "image/x-niff", "image/x-pcx", |
||||
|
"image/x-photoshop", "image/x-pict", "image/x-pict", "image/x-portable-anymap", |
||||
|
"image/x-portable-bitmap", "image/x-portable-graymap", "image/x-portable-greymap", |
||||
|
"image/x-portable-pixmap", "image/x-quicktime", "image/x-quicktime", |
||||
|
"image/x-quicktime", "image/x-rgb", "image/x-tga", "image/x-tiff", |
||||
|
"image/x-tiff", "image/x-windows-bmp", "image/x-xbitmap", "image/x-xbitmap", |
||||
|
"image/x-xbm", "image/x-xpixmap", "image/x-xpixmap", "image/x-xwd", |
||||
|
"image/x-xwindowdump", "image/xbm", "image/xpm", "message/rfc822", |
||||
|
"message/rfc822", "message/rfc822", "message/rfc822", "message/rfc822", |
||||
|
"model/iges", "model/iges", "model/mesh", "model/mesh", "model/mesh", |
||||
|
"model/vnd.collada+xml", "model/vnd.dwf", "model/vnd.gdl", "model/vnd.gtw", |
||||
|
"model/vnd.mts", "model/vnd.vtu", "model/vrml", "model/vrml", |
||||
|
"model/vrml", "model/x-pov", "model/x3d+binary", "model/x3d+binary", |
||||
|
"model/x3d+vrml", "model/x3d+vrml", "model/x3d+xml", "model/x3d+xml", |
||||
|
"multipart/x-gzip", "multipart/x-ustar", "multipart/x-zip", "music/crescendo", |
||||
|
"music/crescendo", "music/x-karaoke", "paleovu/x-pv", "text/asp", |
||||
|
"text/cache-manifest", "text/cache-manifest", "text/calendar", |
||||
|
"text/calendar", "text/calendar", "text/comma-separated-values", |
||||
|
"text/css", "text/csv", "text/ecmascript", "text/event-stream", |
||||
|
"text/h323", "text/html", "text/html", "text/html", "text/html", |
||||
|
"text/html", "text/html", "text/html", "text/iuls", "text/javascript", |
||||
|
"text/mathml", "text/mcf", "text/n3", "text/pascal", "text/plain", |
||||
|
"text/plain", "text/plain", "text/plain", "text/plain", "text/plain", |
||||
|
"text/plain", "text/plain", "text/plain", "text/plain", "text/plain", |
||||
|
"text/plain", "text/plain", "text/plain", "text/plain", "text/plain", |
||||
|
"text/plain", "text/plain", "text/plain", "text/plain", "text/plain", |
||||
|
"text/plain", "text/plain", "text/plain", "text/plain", "text/plain", |
||||
|
"text/plain", "text/plain", "text/plain", "text/plain", "text/plain", |
||||
|
"text/plain", "text/plain-bas", "text/prs.lines.tag", "text/richtext", |
||||
|
"text/richtext", "text/richtext", "text/rtf", "text/scriplet", |
||||
|
"text/scriptlet", "text/scriptlet", "text/sgml", "text/sgml", |
||||
|
"text/tab-separated-values", "text/texmacs", "text/texmacs", |
||||
|
"text/troff", "text/troff", "text/troff", "text/troff", "text/troff", |
||||
|
"text/troff", "text/turtle", "text/uri-list", "text/uri-list", |
||||
|
"text/uri-list", "text/uri-list", "text/uri-list", "text/vcard", |
||||
|
"text/vnd.abc", "text/vnd.curl", "text/vnd.curl.dcurl", "text/vnd.curl.mcurl", |
||||
|
"text/vnd.curl.scurl", "text/vnd.dvb.subtitle", "text/vnd.fly", |
||||
|
"text/vnd.fmi.flexstor", "text/vnd.graphviz", "text/vnd.in3d.3dml", |
||||
|
"text/vnd.in3d.spot", "text/vnd.rn-realtext", "text/vnd.sun.j2me.app-descriptor", |
||||
|
"text/vnd.wap.si", "text/vnd.wap.sl", "text/vnd.wap.wml", "text/vnd.wap.wmlscript", |
||||
|
"text/vtt", "text/webviewhtml", "text/x-asm", "text/x-asm", "text/x-audiosoft-intra", |
||||
|
"text/x-c", "text/x-c", "text/x-c", "text/x-c", "text/x-c", "text/x-c", |
||||
|
"text/x-c", "text/x-c++hdr", "text/x-c++hdr", "text/x-c++hdr", |
||||
|
"text/x-c++hdr", "text/x-c++src", "text/x-c++src", "text/x-c++src", |
||||
|
"text/x-c++src", "text/x-chdr", "text/x-component", "text/x-csh", |
||||
|
"text/x-csrc", "text/x-fortran", "text/x-fortran", "text/x-fortran", |
||||
|
"text/x-fortran", "text/x-h", "text/x-h", "text/x-java", "text/x-java-source", |
||||
|
"text/x-java-source", "text/x-la-asf", "text/x-lua", "text/x-m", |
||||
|
"text/x-markdown", "text/x-markdown", "text/x-markdown", "text/x-moc", |
||||
|
"text/x-nfo", "text/x-opml", "text/x-pascal", "text/x-pascal", |
||||
|
"text/x-pcs-gcd", "text/x-perl", "text/x-perl", "text/x-python", |
||||
|
"text/x-script", "text/x-script.csh", "text/x-script.elisp", |
||||
|
"text/x-script.guile", "text/x-script.ksh", "text/x-script.lisp", |
||||
|
"text/x-script.perl", "text/x-script.perl-module", "text/x-script.phyton", |
||||
|
"text/x-script.rexx", "text/x-script.scheme", "text/x-script.sh", |
||||
|
"text/x-script.tcl", "text/x-script.tcsh", "text/x-script.zsh", |
||||
|
"text/x-server-parsed-html", "text/x-server-parsed-html", "text/x-setext", |
||||
|
"text/x-sfv", "text/x-sgml", "text/x-sgml", "text/x-sh", "text/x-speech", |
||||
|
"text/x-speech", "text/x-tcl", "text/x-tcl", "text/x-tex", "text/x-tex", |
||||
|
"text/x-tex", "text/x-tex", "text/x-uil", "text/x-uuencode", |
||||
|
"text/x-uuencode", "text/x-vcalendar", "text/x-vcard", "text/xml", |
||||
|
"video/3gpp", "video/3gpp2", "video/MP2T", "video/animaflex", |
||||
|
"video/avi", "video/avs-video", "video/dl", "video/flc", "video/flc", |
||||
|
"video/fli", "video/fli", "video/gl", "video/h261", "video/h263", |
||||
|
"video/h264", "video/jpeg", "video/jpm", "video/jpm", "video/mj2", |
||||
|
"video/mj2", "video/mp4", "video/mp4", "video/mp4", "video/mpeg", |
||||
|
"video/mpeg", "video/mpeg", "video/mpeg", "video/mpeg", "video/mpeg", |
||||
|
"video/mpeg", "video/mpeg", "video/mpeg", "video/msvideo", "video/ogg", |
||||
|
"video/quicktime", "video/quicktime", "video/quicktime", "video/vdo", |
||||
|
"video/vivo", "video/vivo", "video/vnd.dece.hd", "video/vnd.dece.hd", |
||||
|
"video/vnd.dece.mobile", "video/vnd.dece.mobile", "video/vnd.dece.pd", |
||||
|
"video/vnd.dece.pd", "video/vnd.dece.sd", "video/vnd.dece.sd", |
||||
|
"video/vnd.dece.video", "video/vnd.dece.video", "video/vnd.dvb.file", |
||||
|
"video/vnd.fvt", "video/vnd.mpegurl", "video/vnd.mpegurl", "video/vnd.ms-playready.media.pyv", |
||||
|
"video/vnd.rn-realvideo", "video/vnd.uvvu.mp4", "video/vnd.uvvu.mp4", |
||||
|
"video/vnd.vivo", "video/vnd.vivo", "video/vosaic", "video/webm", |
||||
|
"video/x-amt-demorun", "video/x-amt-showrun", "video/x-atomic3d-feature", |
||||
|
"video/x-dl", "video/x-dv", "video/x-dv", "video/x-f4v", "video/x-fli", |
||||
|
"video/x-flv", "video/x-gl", "video/x-isvideo", "video/x-la-asf", |
||||
|
"video/x-la-asf", "video/x-m4v", "video/x-matroska", "video/x-matroska", |
||||
|
"video/x-matroska", "video/x-mng", "video/x-motion-jpeg", "video/x-mpeg", |
||||
|
"video/x-mpeg", "video/x-mpeq2a", "video/x-ms-asf", "video/x-ms-asf", |
||||
|
"video/x-ms-asf", "video/x-ms-asf-plugin", "video/x-ms-vob", |
||||
|
"video/x-ms-wm", "video/x-ms-wmv", "video/x-ms-wmx", "video/x-ms-wvx", |
||||
|
"video/x-msvideo", "video/x-qtc", "video/x-scm", "video/x-sgi-movie", |
||||
|
"video/x-sgi-movie", "video/x-smv", "windows/metafile", "www/mime", |
||||
|
"x-conference/x-cooltalk", "x-music/x-midi", "x-music/x-midi", |
||||
|
"x-world/x-3dmf", "x-world/x-3dmf", "x-world/x-3dmf", "x-world/x-3dmf", |
||||
|
"x-world/x-svr", "x-world/x-vrml", "x-world/x-vrml", "x-world/x-vrml", |
||||
|
"x-world/x-vrml", "x-world/x-vrml", "x-world/x-vrml", "x-world/x-vrml", |
||||
|
"x-world/x-vrt", "xgl/drawing", "xgl/movie", "application/mathematica", |
||||
|
"application/msword", "application/octet-stream", "application/onenote", |
||||
|
"application/pgp-signature", "application/pkcs7-mime", "application/postscript", |
||||
|
"application/smil+xml", "application/vnd.acucorp", "application/vnd.clonk.c4group", |
||||
|
"application/vnd.eszigno3+xml", "application/vnd.fdsn.seed", |
||||
|
"application/vnd.framemaker", "application/vnd.geometry-explorer", |
||||
|
"application/vnd.grafeq", "application/vnd.ibm.modcap", "application/vnd.iccprofile", |
||||
|
"application/vnd.intercon.formnet", "application/vnd.kahootz", |
||||
|
"application/vnd.kde.kpresenter", "application/vnd.kde.kword", |
||||
|
"application/vnd.kinar", "application/vnd.koan", "application/vnd.ms-excel", |
||||
|
"application/vnd.ms-powerpoint", "application/vnd.ms-project", |
||||
|
"application/vnd.ms-works", "application/vnd.palm", "application/vnd.quark.quarkxpress", |
||||
|
"application/vnd.simtech-mindmapper", "application/vnd.solent.sdkm+xml", |
||||
|
"application/vnd.sus-calendar", "application/vnd.symbian.install", |
||||
|
"application/vnd.ufdl", "application/vnd.visio", "application/vnd.zul", |
||||
|
"application/x-authorware-bin", "application/x-bzip2", "application/x-debian-package", |
||||
|
"application/x-director", "application/x-font-ttf", "application/x-font-type1", |
||||
|
"application/x-mobipocket-ebook", "application/x-msdownload", |
||||
|
"application/x-msmediaview", "application/x-netcdf", "application/x-pkcs12", |
||||
|
"application/x-pkcs7-certificates", "application/x-texinfo", |
||||
|
"application/x-x509-ca-cert", "application/xhtml+xml", "application/xml", |
||||
|
"application/xv+xml", "audio/basic", "audio/midi", "audio/mpeg", |
||||
|
"audio/ogg", "audio/x-aiff", "audio/x-pn-realaudio", "image/jpeg", |
||||
|
"image/svg+xml", "image/tiff", "image/vnd.djvu", "image/x-freehand", |
||||
|
"image/x-pict", "message/rfc822", "model/iges", "model/mesh", |
||||
|
"model/vrml", "text/calendar", "text/html", "text/plain", "text/sgml", |
||||
|
"text/troff", "text/uri-list", "text/x-asm", "text/x-c", "text/x-fortran", |
||||
|
"text/x-pascal", "video/jpm", "video/mj2", "video/mp4", "video/mpeg", |
||||
|
"video/quicktime", "video/vnd.mpegurl", "video/x-ms-asf")), row.names = c(NA, |
||||
|
-1763L), class = c("tbl_df", "tbl", "data.frame"), .Names = c("extension", |
||||
|
"mime_type")) -> simplemagic_mime_db |
||||
|
@ -0,0 +1,32 @@ |
|||||
|
check_office <- function(hdr, path) { |
||||
|
|
||||
|
# [Content_Types.xml] || length 19 |
||||
|
c( |
||||
|
0x5b,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x5f,0x54, |
||||
|
0x79,0x70,0x65,0x73,0x5d,0x2e,0x78,0x6d,0x6c |
||||
|
) -> pat_content_types |
||||
|
|
||||
|
# _rels/.rels || length 11 |
||||
|
pat_rels <- c(0x5f,0x72,0x65,0x6c,0x73,0x2f,0x2e,0x72,0x65,0x6c,0x73) |
||||
|
|
||||
|
if ((all(pat_content_types == hdr[31:49])) || (all(pat_rels == hdr[31:41]))) { |
||||
|
|
||||
|
hdr <- readBin(path, "raw", n=4096) |
||||
|
|
||||
|
pat_word <- c(0x77,0x6f,0x72,0x64,0x2f) |
||||
|
if (length(seq_in(hdr, pat_word)) > 0) |
||||
|
return("application/vnd.openxmlformats-officedocument.wordprocessingml.document") |
||||
|
|
||||
|
pat_ppt <- c(0x70,0x70,0x74,0x2f) |
||||
|
if (length(seq_in(hdr, pat_ppt)) > 0) |
||||
|
return("application/vnd.openxmlformats-officedocument.presentationml.presentation") |
||||
|
|
||||
|
pat_xl <- c(0x78,0x6c,0x2f) |
||||
|
if (length(seq_in(hdr, pat_xl)) > 0) |
||||
|
return("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") |
||||
|
|
||||
|
} |
||||
|
|
||||
|
return(NULL) |
||||
|
|
||||
|
} |
@ -1,31 +0,0 @@ |
|||||
#' @title MIME Types Database |
|
||||
#' @description This is a dataset of all mime types. It aggregates data from the |
|
||||
#' following sources: |
|
||||
#' |
|
||||
#' \itemize{ |
|
||||
#' \item \url{http://www.iana.org/assignments/media-types/media-types.xhtml} |
|
||||
#' \item \url{http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types} |
|
||||
#' \item \url{http://hg.nginx.org/nginx/raw-file/default/conf/mime.types} |
|
||||
#' } |
|
||||
#' |
|
||||
#' There are a total of four possible fields per element: |
|
||||
#' |
|
||||
#' \itemize{ |
|
||||
#' \item \code{source}: where the mime type is defined. If not set, it's |
|
||||
#' probably a custom media type. One of \code{apache}, \code{iana} or \code{nginx}. |
|
||||
#' \item \code{extensions}: a character vector of known extensions associated with this mime type. |
|
||||
#' \item \code{compressible}: whether a file of this type can be "gzipped" (mostly |
|
||||
#' useful in the context of serving up web content). |
|
||||
#' \item \code{charset}: the default charset associated with this type, if any. |
|
||||
#' } |
|
||||
#' |
|
||||
#' @docType data |
|
||||
#' @keywords datasets |
|
||||
#' @name mime_db |
|
||||
#' |
|
||||
#' @references Ingested from \url{https://github.com/jshttp/mime-db}. |
|
||||
#' @usage data(mime_db) |
|
||||
#' @note Last updated 2016-08-14; the only guaranteed field is \code{source} |
|
||||
#' @format A list with 1,883 elements and four named fields: \code{source}, |
|
||||
#' \code{compressible}, \code{extensions} & \code{charset}. |
|
||||
NULL |
|
@ -0,0 +1,116 @@ |
|||||
|
#' Discover MIME type of a file based on contents |
||||
|
#' |
||||
|
#' There are a limited number of header "magic" bytes checked directly by |
||||
|
#' this function but cover quite a bit of ground. After that, [guess_content_type()] is called which uses |
||||
|
#' file extension-to-MIME mappings. File an issue or PR if more magic-byte-level |
||||
|
#' comparisons are required/desired. If no match is found, `???` is returned. |
||||
|
#' |
||||
|
#' @details |
||||
|
#' Initial in-R header mapping logic borrowed from `MimeTypes.java` from |
||||
|
#' [`servoy-client`](https://github.com/Servoy/servoy-client) |
||||
|
#' |
||||
|
#' @md |
||||
|
#' @param path path to a file |
||||
|
#' @return character vector |
||||
|
#' @export |
||||
|
#' @examples |
||||
|
#' get_content_type(system.file("extdat", "test.pdf", package="simplemagic")) |
||||
|
get_content_type <- function(path) { |
||||
|
|
||||
|
path <- path.expand(path) |
||||
|
if (!file.exists(path)) stop("File not found.", call.=FALSE) |
||||
|
|
||||
|
hdr <- readBin(path, "raw", n=1024) |
||||
|
|
||||
|
if (all(c(0xCA,0xFE,0xBA,0xBE) == hdr[1:4])) return("application/java-vm") |
||||
|
|
||||
|
if (all(c(0xD0,0xCF,0x11,0xE0,0xA1,0xB1,0x1A,0xE1) == hdr[1:8])) { |
||||
|
guessed_name <- guess_content_type(path) |
||||
|
if ((length(guessed_name) == 1) && (guessed_name != "???")) return(guessed_name) |
||||
|
return("application/msword") |
||||
|
} |
||||
|
|
||||
|
if (all(c(0x25,0x50,0x44,0x46,0x2d,0x31,0x2e) == hdr[1:7])) return("application/pdf") |
||||
|
if (all(c(0x25,0x50,0x44,0x46) == hdr[1:4])) return("application/x-pdf") |
||||
|
|
||||
|
if (all(c(0x38,0x42,0x50,0x53,0x00,0x01) == hdr[1:6])) return("image/photoshop") |
||||
|
|
||||
|
if (all(c(0x25,0x21,0x50,0x53) == hdr[1:4])) return("application/postscript") |
||||
|
|
||||
|
if (all(c(0xff,0xfb,0x30) == hdr[1:3])) return("audio/mp3") |
||||
|
if (all(c(0xff,0xfb,0xd0) == hdr[1:3])) return("audio/mp3") |
||||
|
if (all(c(0xff,0xfb,0x90) == hdr[1:3])) return("audio/mp3") |
||||
|
if (all(c(0x49,0x44,0x33) == hdr[1:3])) return("audio/mp3") |
||||
|
if (all(c(0xAC,0xED) == hdr[1:2])) return("application/x-java-serialized-object") |
||||
|
|
||||
|
if (hdr[1] == 0x3c) { # "<" |
||||
|
if (all(c(0x68,0x74,0x6d,0x6c) == hdr[2:5])) return("text/html") # "html" |
||||
|
if (all(c(0x48,0x54,0x4d,0x4c) == hdr[2:5])) return("text/html") # "HTML" |
||||
|
if (all(c(0x48,0x45,0x41,0x44) == hdr[2:5])) return("text/html") # "HEAD" |
||||
|
if (all(c(0x68,0x65,0x61,0x64) == hdr[2:5])) return("text/html") # "head" |
||||
|
if (all(c(0x3f,0x78,0x6d,0x6c,0x20) == hdr[2:6])) return("application/xml") |
||||
|
} |
||||
|
|
||||
|
if (all(c(0xfe,0xff) == hdr[1:2])) { |
||||
|
if (all(c(0x00,0x3c,0x00,0x3f,0x00,0x78) == hdr[3:8])) return("application/xml") |
||||
|
} |
||||
|
|
||||
|
if (all(c(0x42,0x4d) == hdr[1:2])) return("image/bmp") |
||||
|
if (all(c(0x49,0x49,0x2a,0x00) == hdr[1:4])) return("image/tiff") |
||||
|
if (all(c(0x4D,0x4D,0x00,0x2a) == hdr[1:4])) return("image/tiff") |
||||
|
if (all(c(0x47,0x49,0x46,0x38) == hdr[1:4])) return("image/gif") |
||||
|
if (all(c(0x23,0x64,0x65,0x66) == hdr[1:4])) return("image/x-bitmap") |
||||
|
if (all(c(0x21,0x20,0x58,0x50,0x4d,0x32) == hdr[1:6])) return("image/x-pixmap") |
||||
|
if (all(c(137,80,78,71,13,10,26,10) == hdr[1:8])) return("image/png") |
||||
|
|
||||
|
if (all(c(0x23,0x21,0x2f,0x62,0x69,0x6e,0x2f,0x6e,0x6f,0x64,0x65) == hdr[1:11])) |
||||
|
return("application/javascript") |
||||
|
if (all(c(0x23,0x21,0x2f,0x62,0x69,0x6e,0x2f,0x6e,0x6f,0x64,0x65,0x6a,0x73) == hdr[1:13])) |
||||
|
return("application/javascript") |
||||
|
if (all(c(0x23,0x21,0x2f,0x75,0x73,0x72,0x2f,0x62,0x69,0x6e,0x2f,0x6e,0x6f,0x64,0x65) == hdr[1:15])) |
||||
|
return("application/javascript") |
||||
|
if (all(c(0x23,0x21,0x2f,0x75,0x73,0x72,0x2f,0x62,0x69,0x6e,0x2f,0x6e,0x6f,0x64,0x65,0x6a,0x73) == hdr[1:17])) |
||||
|
return("application/javascript") |
||||
|
if (all(c(0x23,0x21,0x2f,0x75,0x73,0x72,0x2f,0x62,0x69,0x6e,0x2f,0x65,0x6e,0x76,0x20,0x6e,0x6f,0x64,0x65) == hdr[1:19])) |
||||
|
return("application/javascript") |
||||
|
if (all(c(0x23,0x21,0x2f,0x75,0x73,0x72,0x2f,0x62,0x69,0x6e,0x2f,0x65,0x6e,0x76,0x20,0x6e,0x6f,0x64,0x65,0x6a,0x73) == hdr[1:21])) |
||||
|
return("application/javascript") |
||||
|
|
||||
|
if (all(c(0xFF,0xD8,0xFF) == hdr[1:3])) { |
||||
|
if (0xE0 == hdr[4]) return("image/jpeg") |
||||
|
if (0xE1 == hdr[4]) { |
||||
|
if (all(c(0x45,0x78,0x69,0x66,0x00) == hdr[7:11])) return("image/jpeg") # Exif |
||||
|
} |
||||
|
if (0xEE == hdr[4]) return("image/jpg") |
||||
|
} |
||||
|
|
||||
|
if (all(c(0x41,0x43) == hdr[1:2]) && all(c(0x00,0x00,0x00,0x00,0x00) == hdr[7:11])) |
||||
|
return("application/acad") |
||||
|
|
||||
|
if (all(c(0x2E,0x73,0x6E,0x64) == hdr[1:4])) return("audio/basic") |
||||
|
if (all(c(0x64,0x6E,0x73,0x2E) == hdr[1:4])) return("audio/basic") |
||||
|
if (all(c(0x52,0x49,0x46,0x46) == hdr[1:4])) return("audio/x-wav") # "RIFF" |
||||
|
|
||||
|
if (all(c(0x50, 0x4b) == hdr[1:2])) { # "PK" |
||||
|
|
||||
|
office_type <- check_office(hdr, path) |
||||
|
if (length(office_type) > 0) return(office_type) |
||||
|
|
||||
|
guessed_name <- guess_content_type(path) |
||||
|
if ((length(guessed_name) == 1) && (guessed_name != "???")) return(guessed_name) |
||||
|
|
||||
|
return("application/zip") |
||||
|
|
||||
|
} |
||||
|
|
||||
|
if (all(c(0x5a,0x4d) == hdr[1:2])) return("x-system/exe") |
||||
|
|
||||
|
if (all(c(0x75,0x73,0x74,0x61,0x72) == hdr[258:262])) return("application/pax") |
||||
|
|
||||
|
if (all(c(0x00,0x00,0x01,0xBA) == hdr[1:4])) return("video/mpeg") |
||||
|
if (all(c(0x00,0x00,0x01,0xB3) == hdr[1:4])) return("video/mpeg") |
||||
|
|
||||
|
|
||||
|
return(guess_content_type(path)) |
||||
|
|
||||
|
} |
@ -0,0 +1,32 @@ |
|||||
|
#' Guess MIME type from filename (extension) |
||||
|
#' |
||||
|
#' Uses an internal database of over 1,500 file extension-to-MIME mappings to |
||||
|
#' return one or more associated types for a given input path. If no match is |
||||
|
#' found, `???` is returned. |
||||
|
#' |
||||
|
#' @details |
||||
|
#' Incorporates standard IANA MIME extension mappings and those from |
||||
|
#' [`servoy-client`](https://github.com/Servoy/servoy-client) and |
||||
|
#' [stevenwdv](https://github.com/stevenwdv)'s |
||||
|
#' [`allMimeTypes.json`](https://s-randomfiles.s3.amazonaws.com/mime/allMimeTypes.json). |
||||
|
#' |
||||
|
#' @md |
||||
|
#' @param path path to file |
||||
|
#' @return character vector |
||||
|
#' @export |
||||
|
#' @examples |
||||
|
#' guess_content_type(system.file("extdat", "test.pdf", package="simplemagic")) |
||||
|
guess_content_type <- function(path) { |
||||
|
|
||||
|
path <- path.expand(path) |
||||
|
if (!file.exists(path)) stop("File not found.", call.=FALSE) |
||||
|
|
||||
|
extension <- trimws(tolower(tools::file_ext(path))) |
||||
|
|
||||
|
res <- simplemagic_mime_db[(simplemagic_mime_db$extension == extension),]$mime_type |
||||
|
|
||||
|
if (length(res) == 0) return("???") |
||||
|
|
||||
|
return(unique(res)) |
||||
|
|
||||
|
} |
@ -0,0 +1,15 @@ |
|||||
|
seq_in <- function(source_vector, pattern_vector) { |
||||
|
|
||||
|
which( |
||||
|
Reduce( |
||||
|
'+', |
||||
|
lapply( |
||||
|
seq_along(y <- lapply(pattern_vector, '==', source_vector)), |
||||
|
function(x) { |
||||
|
y[[x]][x:(length(source_vector) - length(pattern_vector) + x)] |
||||
|
} |
||||
|
) |
||||
|
) == length(pattern_vector) |
||||
|
) |
||||
|
|
||||
|
} |
@ -1,118 +0,0 @@ |
|||||
#' Retrieve 'magic' attributes from files and directories |
|
||||
#' |
|
||||
#' @param path character vector of files to use magic on |
|
||||
#' @param magic_db either "\code{system}" (the default) to use the system |
|
||||
#' \code{magic} database or an atomic character vector with a |
|
||||
#' colon-separated list of full paths to custom \code{magic} database(s). This parameter |
|
||||
#' is (for the moment) ignored on Windows. |
|
||||
#' @return a \code{tibble} / \code{data.frame} of file magic attributes. |
|
||||
#' Specifically, mime type, encoding, possible file extensions and |
|
||||
#' type description are returned as colums in the data frame along |
|
||||
#' with \code{path}. |
|
||||
#' @note Various fields might not be available depending on the version |
|
||||
#' of \code{libmagic} you have installed. |
|
||||
#' @references See \url{http://openpreservation.org/blog/2012/08/09/magic-editing-and-creation-primer/} |
|
||||
#' for information on how to create your own \code{magic} database |
|
||||
#' @export |
|
||||
#' @examples |
|
||||
#' library(dplyr) |
|
||||
#' |
|
||||
#' system.file("extdata/img", package="wand") %>% |
|
||||
#' list.files(full.names=TRUE) %>% |
|
||||
#' incant() %>% |
|
||||
#' glimpse() |
|
||||
incant <- function(path, magic_db="system") { |
|
||||
|
|
||||
if (get_os() == "win") { |
|
||||
|
|
||||
found_file <- FALSE |
|
||||
|
|
||||
file_exe <- Sys.which("file.exe") |
|
||||
found_file <- file_exe != "" |
|
||||
|
|
||||
if (found_file) { |
|
||||
file_version <- suppressWarnings(system2(file_exe, "--version", stdout=TRUE, stderr=TRUE)) |
|
||||
found_file <- any(grepl("magic file", file_version)) |
|
||||
} |
|
||||
|
|
||||
if (!found_file) { |
|
||||
stop(paste0("'file.exe' not found. Please install 'Rtools' and restart R. ", |
|
||||
"See 'https://github.com/stan-dev/rstan/wiki/Install-Rtools-for-Windows' ", |
|
||||
"for more information on how to install 'Rtools'", collapse=""), |
|
||||
call.=FALSE) |
|
||||
} |
|
||||
|
|
||||
magic_db <- normalizePath(magic_wand_file()) |
|
||||
|
|
||||
tf <- tempfile() |
|
||||
writeLines(path, tf) |
|
||||
|
|
||||
suppressMessages( |
|
||||
suppressWarnings( |
|
||||
system2(file_exe, |
|
||||
c("--mime-type", "--mime-encoding", "--no-buffer", "--preserve-date", |
|
||||
'--separator "||"', |
|
||||
sprintf('--files-from "%s"', tf)), |
|
||||
stdout=TRUE))) -> output_1 |
|
||||
|
|
||||
suppressMessages( |
|
||||
suppressWarnings(system2(file_exe, |
|
||||
c("--no-buffer", "--preserve-date", '--separator "||"', |
|
||||
sprintf('--files-from "%s"', tf)), |
|
||||
stdout=TRUE))) -> output_2 |
|
||||
|
|
||||
unlink(tf) |
|
||||
|
|
||||
stri_split_fixed(output_1, "||", n=2, simplify=TRUE) %>% |
|
||||
as_data_frame() %>% |
|
||||
setNames(c("file", "response")) %>% |
|
||||
separate(response, c("mime_type", "encoding"), sep=";", extra="drop", fill="right") %>% |
|
||||
mutate(encoding=stri_replace_first_regex(encoding, "charset=", "")) -> df1 |
|
||||
|
|
||||
stri_split_fixed(output_2, "||", n=2, simplify=TRUE) %>% |
|
||||
as_data_frame() %>% |
|
||||
setNames(c("file", "description")) -> df2 |
|
||||
|
|
||||
left_join(df1, df2, by="file") %>% |
|
||||
mutate_all(stri_trim_both) -> ret |
|
||||
|
|
||||
} else { |
|
||||
ret <- incant_(path, magic_db) |
|
||||
} |
|
||||
|
|
||||
if (!("extensions" %in% colnames(ret))) ret$extensions <- NA |
|
||||
|
|
||||
mutate(ret, extensions=ifelse(extensions=="???", NA, extensions)) %>% |
|
||||
mutate(extensions=map_exts(mime_type, extensions)) |
|
||||
|
|
||||
} |
|
||||
|
|
||||
map_exts <- function(mime_type, current_extensions) { |
|
||||
|
|
||||
exts <- stri_split_regex(current_extensions, "/") |
|
||||
|
|
||||
map2(mime_type, exts, function(mt, xt) { |
|
||||
|
|
||||
ret <- wand::mime_db[[mt]]$extensions %||% NA |
|
||||
ret <- sort(unique(c(xt, ret))) |
|
||||
ret <- ret[!is.na(ret)] |
|
||||
if (length(ret)==0) ret <- NA |
|
||||
ret |
|
||||
|
|
||||
}) |
|
||||
|
|
||||
} |
|
||||
|
|
||||
|
|
||||
#' ripped from rappdirs (ty Hadley!) |
|
||||
get_os <- function () { |
|
||||
if (.Platform$OS.type == "windows") { |
|
||||
"win" |
|
||||
} else if (Sys.info()["sysname"] == "Darwin") { |
|
||||
"mac" |
|
||||
} else if (.Platform$OS.type == "unix") { |
|
||||
"unix" |
|
||||
} else { |
|
||||
stop("Unknown OS") |
|
||||
} |
|
||||
} |
|
@ -1,41 +0,0 @@ |
|||||
#' Use the "magic" file that comes with the package |
|
||||
#' |
|
||||
#' The \code{magic_load()} functon from \code{libmagic} can't take ZIP files |
|
||||
#' and the \code{magic.mgc} file that ships with the package is too large to |
|
||||
#' be shipped uncompressed. Using this function as the \code{magic_db} |
|
||||
#' parameter will copy and uncompress the database to a cache directory and |
|
||||
#' return the full path to the magic file. Subsequent calls will not have to |
|
||||
#' perform the decompression unless \code{force} is \code{TRUE} or the |
|
||||
#' cache directory has been cleared. |
|
||||
#' |
|
||||
#' @param refresh ensure the lastest copy of the pacakge "magic" |
|
||||
#' database is used. |
|
||||
#' @note 'magic' files are highly coupled with the version of the \code{file} |
|
||||
#' utility they were built with. This function is provided solely for the |
|
||||
#' off chance that a macOS or Linux/UNIX system's \code{libmagic} library |
|
||||
#' was not configured properly and cannot find the system 'magic' file. |
|
||||
#' @export |
|
||||
#' @examples |
|
||||
#' library(dplyr) |
|
||||
#' |
|
||||
#' system.file("extdata/img", package="wand") %>% |
|
||||
#' list.files(full.names=TRUE) %>% |
|
||||
#' incant(magic_wand_file()) %>% |
|
||||
#' glimpse() |
|
||||
magic_wand_file <- function(refresh=FALSE) { |
|
||||
|
|
||||
cache <- rappdirs::user_cache_dir("wandr") |
|
||||
|
|
||||
if (!dir.exists(cache)) dir.create(cache, recursive=TRUE, showWarnings=FALSE) |
|
||||
if (!dir.exists(cache)) return(NULL) |
|
||||
|
|
||||
if (lib_version() >= 528) vers <- "new" else vers <- "old" |
|
||||
|
|
||||
if (refresh | (!file.exists(file.path(rappdirs::user_cache_dir("wandr"), "magic.mgc")))) { |
|
||||
unzip(system.file("extdata", "db", vers, "magic.mgc.zip", package="wand"), |
|
||||
exdir=cache, overwrite=TRUE) |
|
||||
} |
|
||||
|
|
||||
file.path(rappdirs::user_cache_dir("wandr"), "magic.mgc") |
|
||||
|
|
||||
} |
|
@ -1,85 +1,70 @@ |
|||||
--- |
--- |
||||
output: rmarkdown::github_document |
output: rmarkdown::github_document |
||||
--- |
--- |
||||
|
|
||||
[![Project Status: Active - The project has reached a stable, usable state and is being actively developed.](http://www.repostatus.org/badges/0.1.0/active.svg)](http://www.repostatus.org/#active) |
[![Project Status: Active - The project has reached a stable, usable state and is being actively developed.](http://www.repostatus.org/badges/0.1.0/active.svg)](http://www.repostatus.org/#active) |
||||
[![Travis-CI Build Status](https://travis-ci.org/hrbrmstr/wand.svg?branch=master)](https://travis-ci.org/hrbrmstr/wand) |
[![Travis-CIBuild Status](https://travis-ci.org/hrbrmstr/simplemagic.svg?branch=master)](https://travis-ci.org/hrbrmstr/simplemagic) |
||||
|
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/hrbrmstr/simplemagic?branch=master&svg=true)](https://ci.appveyor.com/project/hrbrmstr/simplemagic) |
||||
|
[![Coverage Status](https://img.shields.io/codecov/c/github/hrbrmstr/simplemagic/master.svg)](https://codecov.io/github/hrbrmstr/simplemagic?branch=master) |
||||
|
|
||||
`wand` : Retrieve 'Magic' Attributes from Files and Directories |
# wand |
||||
|
|
||||
The `libmagic` library must be installed on *nix/macOS and available to use this. |
Lightweight File 'MIME' Type Detection Based On Contents or Extension |
||||
|
|
||||
- `apt-get install libmagic-dev` on Ubuntu/Debian-ish systems |
## Description |
||||
- `brew install libmagic` on macOS |
|
||||
- `yum install file-devel` on RHEL/CentOS/Fedora |
|
||||
|
|
||||
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. |
'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. |
||||
|
|
||||
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. Windows folk can go [here](https://github.com/stan-dev/rstan/wiki/Install-Rtools-for-Windows) to find out more info on `Rtools`. |
Provides a more portable/ligtweight alternative to the `wand` package. |
||||
|
|
||||
The following functions are implemented: |
## SOME IMPORTANT DETAILS |
||||
|
|
||||
- `incant` : returns the "magic" metadata of the files in the input vector (as a data frame) |
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`](https://github.com/threatstack/libmagic/tree/master/magic/) 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. |
||||
- `magic_wand_file` : provides a full path to the package-provided `magic` file |
|
||||
|
|
||||
The following datasets are included: |
## What's Inside The Tin |
||||
|
|
||||
- `mime_db` : a database of all mime types from <https://github.com/jshttp/mime-db> |
- `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 |
## Installation |
||||
|
|
||||
```{r eval=FALSE} |
```{r eval=FALSE} |
||||
devtools::install_github("hrbrmstr/wand") |
devtools::install_git("https://gitlab.com/hrbrmstr/wand") |
||||
``` |
``` |
||||
|
|
||||
```{r echo=FALSE, message=FALSE, warning=FALSE, error=FALSE} |
```{r message=FALSE, warning=FALSE, error=FALSE, include=FALSE} |
||||
options(width=120) |
options(width=120) |
||||
``` |
``` |
||||
|
|
||||
### Usage |
## Usage |
||||
|
|
||||
```{r message=FALSE} |
```{r message=FALSE, warning=FALSE, error=FALSE} |
||||
library(wand) |
library(wand) |
||||
library(dplyr) |
library(tidyverse) |
||||
|
|
||||
system.file("extdata", "img", package="wand") %>% |
|
||||
list.files(full.names=TRUE) %>% |
|
||||
incant() %>% |
|
||||
glimpse() |
|
||||
``` |
|
||||
|
|
||||
```{r message=FALSE} |
|
||||
# Use a non-system magic-file |
|
||||
|
|
||||
system.file("extdata", "img", package="wand") %>% |
|
||||
list.files(full.names=TRUE) %>% |
|
||||
incant(magic_wand_file()) %>% |
|
||||
select(description) %>% |
|
||||
unlist(use.names=FALSE) |
|
||||
``` |
|
||||
|
|
||||
```{r message=FALSE} |
|
||||
# what kinds of extensions are associated with these mime types |
|
||||
system.file("extdata", "img", package="wand") %>% |
|
||||
list.files(full.names=TRUE) %>% |
|
||||
incant(magic_wand_file()) %>% |
|
||||
select(extensions) %>% |
|
||||
as.data.frame() |
|
||||
``` |
|
||||
|
|
||||
```{r message=FALSE} |
|
||||
# current verison |
# current verison |
||||
packageVersion("wand") |
packageVersion("wand") |
||||
|
|
||||
``` |
``` |
||||
|
|
||||
### Test Results |
```{r} |
||||
|
list.files(system.file("extdat", package="wand"), full.names=TRUE) %>% |
||||
```{r message=FALSE} |
map_df(~{ |
||||
library(wand) |
data_frame( |
||||
library(testthat) |
fil = basename(.x), |
||||
|
mime = list(get_content_type(.x)) |
||||
|
) |
||||
|
}) %>% |
||||
|
unnest() %>% |
||||
|
print(n=100) |
||||
|
``` |
||||
|
|
||||
date() |
## Code of Conduct |
||||
|
|
||||
test_dir("tests/") |
Please note that this project is released with a [Contributor Code of Conduct](CONDUCT.md). By participating in this project you agree to abide by its terms. |
||||
``` |
|
||||
|
|
||||
|
@ -1,118 +1,167 @@ |
|||||
|
|
||||
[![Project Status: Active - The project has reached a stable, usable state and is being actively developed.](http://www.repostatus.org/badges/0.1.0/active.svg)](http://www.repostatus.org/#active) [![Travis-CI Build Status](https://travis-ci.org/hrbrmstr/wand.svg?branch=master)](https://travis-ci.org/hrbrmstr/wand) |
[![Project Status: Active - The project has reached a stable, usable |
||||
|
state and is being actively |
||||
|
developed.](http://www.repostatus.org/badges/0.1.0/active.svg)](http://www.repostatus.org/#active) |
||||
|
[![Travis-CIBuild |
||||
|
Status](https://travis-ci.org/hrbrmstr/simplemagic.svg?branch=master)](https://travis-ci.org/hrbrmstr/simplemagic) |
||||
|
[![AppVeyor Build |
||||
|
Status](https://ci.appveyor.com/api/projects/status/github/hrbrmstr/simplemagic?branch=master&svg=true)](https://ci.appveyor.com/project/hrbrmstr/simplemagic) |
||||
|
[![Coverage |
||||
|
Status](https://img.shields.io/codecov/c/github/hrbrmstr/simplemagic/master.svg)](https://codecov.io/github/hrbrmstr/simplemagic?branch=master) |
||||
|
|
||||
`wand` : Retrieve 'Magic' Attributes from Files and Directories |
# wand |
||||
|
|
||||
The `libmagic` library must be installed on \*nix/macOS and available to use this. |
Lightweight File ‘MIME’ Type Detection Based On Contents or Extension |
||||
|
|
||||
- `apt-get install libmagic-dev` on Ubuntu/Debian-ish systems |
## Description |
||||
- `brew install libmagic` on macOS |
|
||||
- `yum install file-devel` on RHEL/CentOS/Fedora |
|
||||
|
|
||||
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. |
‘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. |
||||
|
|
||||
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. Windows folk can go [here](https://github.com/stan-dev/rstan/wiki/Install-Rtools-for-Windows) to find out more info on `Rtools`. |
Provides a more portable/ligtweight alternative to the `wand` package. |
||||
|
|
||||
The following functions are implemented: |
## SOME IMPORTANT DETAILS |
||||
|
|
||||
- `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 |
|
||||
|
|
||||
The following datasets are included: |
|
||||
|
|
||||
- `mime_db` : a database of all mime types from <https://github.com/jshttp/mime-db> |
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 |
||||
### Installation |
types from [`magic |
||||
|
sources`](https://github.com/threatstack/libmagic/tree/master/magic/) |
||||
``` r |
that you would like coded into the package, please file an issue and |
||||
devtools::install_github("hrbrmstr/wand") |
*include the full line(s)* from that linked `magic.tab` that you would |
||||
``` |
like mapped. |
||||
|
|
||||
### Usage |
## What’s Inside The Tin |
||||
|
|
||||
``` r |
- `get_content_type`: Discover MIME type of a file based on contents |
||||
library(wand) |
- `guess_content_type`: Guess MIME type from filename (extension) |
||||
library(dplyr) |
- `simplemagic_mime_db`: File extension-to-MIME mapping data frame |
||||
|
|
||||
system.file("extdata", "img", package="wand") %>% |
The following functions are implemented: |
||||
list.files(full.names=TRUE) %>% |
|
||||
incant() %>% |
|
||||
glimpse() |
|
||||
``` |
|
||||
|
|
||||
## Observations: 10 |
## Installation |
||||
## Variables: 5 |
|
||||
## $ file <chr> "/Library/Frameworks/R.framework/Versions/3.3/Resources/library/wand/extdata/img/example_dir", ... |
|
||||
## $ 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 <list> [NA, <"c", "cc", "cpp", "cxx", "dic", "h", "hh">, <"htm", "html", "shtml">, <"conf", "def", "i... |
|
||||
## $ description <chr> "directory", "C source, ASCII text", "HTML document, ASCII text, with CRLF line terminators", "... |
|
||||
|
|
||||
``` r |
``` r |
||||
# Use a non-system magic-file |
devtools::install_git("https://gitlab.com/hrbrmstr/wand") |
||||
|
|
||||
system.file("extdata", "img", package="wand") %>% |
|
||||
list.files(full.names=TRUE) %>% |
|
||||
incant(magic_wand_file()) %>% |
|
||||
select(description) %>% |
|
||||
unlist(use.names=FALSE) |
|
||||
``` |
``` |
||||
|
|
||||
## [1] "directory" |
## Usage |
||||
## [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" |
|
||||
|
|
||||
``` r |
``` r |
||||
# what kinds of extensions are associated with these mime types |
library(wand) |
||||
system.file("extdata", "img", package="wand") %>% |
library(tidyverse) |
||||
list.files(full.names=TRUE) %>% |
|
||||
incant(magic_wand_file()) %>% |
|
||||
select(extensions) %>% |
|
||||
as.data.frame() |
|
||||
``` |
|
||||
|
|
||||
## extensions |
|
||||
## 1 NA |
|
||||
## 2 c, cc, cpp, cxx, dic, h, hh |
|
||||
## 3 htm, html, shtml |
|
||||
## 4 conf, def, in, ini, list, log, text, txt |
|
||||
## 5 rtf |
|
||||
## 6 jfif, jpe, jpeg, jpg |
|
||||
## 7 pdf |
|
||||
## 8 png |
|
||||
## 9 conf, def, in, ini, list, log, text, txt |
|
||||
## 10 tif, tiff |
|
||||
|
|
||||
``` r |
|
||||
# current verison |
# current verison |
||||
packageVersion("wand") |
packageVersion("wand") |
||||
``` |
``` |
||||
|
|
||||
## [1] '0.2.0' |
## [1] '0.3.0' |
||||
|
|
||||
### Test Results |
|
||||
|
|
||||
``` r |
|
||||
library(wand) |
|
||||
library(testthat) |
|
||||
|
|
||||
date() |
|
||||
``` |
|
||||
|
|
||||
## [1] "Mon Aug 15 14:56:16 2016" |
|
||||
|
|
||||
``` r |
``` r |
||||
test_dir("tests/") |
list.files(system.file("extdat", package="wand"), full.names=TRUE) %>% |
||||
|
map_df(~{ |
||||
|
data_frame( |
||||
|
fil = basename(.x), |
||||
|
mime = list(get_content_type(.x)) |
||||
|
) |
||||
|
}) %>% |
||||
|
unnest() %>% |
||||
|
print(n=100) |
||||
``` |
``` |
||||
|
|
||||
## testthat results ======================================================================================================== |
## # A tibble: 85 x 2 |
||||
## OK: 1 SKIPPED: 0 FAILED: 0 |
## fil mime |
||||
## |
## <chr> <chr> |
||||
## DONE =================================================================================================================== |
## 1 actions.csv application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
||||
|
## 2 actions.txt application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
||||
|
## 3 actions.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
||||
|
## 4 test_1.2.class application/java-vm |
||||
|
## 5 test_1.3.class application/java-vm |
||||
|
## 6 test_1.4.class application/java-vm |
||||
|
## 7 test_1.5.class application/java-vm |
||||
|
## 8 test_128_44_jstereo.mp3 audio/mp3 |
||||
|
## 9 test_excel_2000.xls application/msword |
||||
|
## 10 test_excel_spreadsheet.xml application/xml |
||||
|
## 11 test_excel_web_archive.mht message/rfc822 |
||||
|
## 12 test_excel.xlsm application/zip |
||||
|
## 13 test_excel.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
||||
|
## 14 test_nocompress.tif image/tiff |
||||
|
## 15 test_powerpoint.pptm application/zip |
||||
|
## 16 test_powerpoint.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation |
||||
|
## 17 test_word_2000.doc application/msword |
||||
|
## 18 test_word_6.0_95.doc application/msword |
||||
|
## 19 test_word.docm application/zip |
||||
|
## 20 test_word.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document |
||||
|
## 21 test.au audio/basic |
||||
|
## 22 test.bin application/mac-binary |
||||
|
## 23 test.bin application/macbinary |
||||
|
## 24 test.bin application/octet-stream |
||||
|
## 25 test.bin application/x-binary |
||||
|
## 26 test.bin application/x-macbinary |
||||
|
## 27 test.bmp image/bmp |
||||
|
## 28 test.dtd application/xml-dtd |
||||
|
## 29 test.emf application/x-msmetafile |
||||
|
## 30 test.eps application/postscript |
||||
|
## 31 test.fli video/flc |
||||
|
## 32 test.fli video/fli |
||||
|
## 33 test.fli video/x-fli |
||||
|
## 34 test.gif image/gif |
||||
|
## 35 test.ico image/x-icon |
||||
|
## 36 test.java text/plain |
||||
|
## 37 test.java text/x-java |
||||
|
## 38 test.java text/x-java-source |
||||
|
## 39 test.jpg image/jpeg |
||||
|
## 40 test.mp3 audio/mp3 |
||||
|
## 41 test.odt application/vnd.oasis.opendocument.text |
||||
|
## 42 test.ogg application/ogg |
||||
|
## 43 test.ogg audio/ogg |
||||
|
## 44 test.pcx image/pcx |
||||
|
## 45 test.pcx image/x-pcx |
||||
|
## 46 test.pdf application/pdf |
||||
|
## 47 test.pl text/plain |
||||
|
## 48 test.pl text/x-perl |
||||
|
## 49 test.pl text/x-script.perl |
||||
|
## 50 test.png image/png |
||||
|
## 51 test.pnm application/x-portable-anymap |
||||
|
## 52 test.pnm image/x-portable-anymap |
||||
|
## 53 test.ppm image/x-portable-pixmap |
||||
|
## 54 test.ppt application/msword |
||||
|
## 55 test.ps application/postscript |
||||
|
## 56 test.psd image/photoshop |
||||
|
## 57 test.py text/x-python |
||||
|
## 58 test.py text/x-script.phyton |
||||
|
## 59 test.rtf application/rtf |
||||
|
## 60 test.rtf application/x-rtf |
||||
|
## 61 test.rtf text/richtext |
||||
|
## 62 test.rtf text/rtf |
||||
|
## 63 test.sh application/x-bsh |
||||
|
## 64 test.sh application/x-sh |
||||
|
## 65 test.sh application/x-shar |
||||
|
## 66 test.sh text/x-script.sh |
||||
|
## 67 test.sh text/x-sh |
||||
|
## 68 test.tar application/pax |
||||
|
## 69 test.tar.gz application/octet-stream |
||||
|
## 70 test.tar.gz application/x-compressed |
||||
|
## 71 test.tar.gz application/x-gzip |
||||
|
## 72 test.tga image/x-tga |
||||
|
## 73 test.txt text/plain |
||||
|
## 74 test.txt.gz application/octet-stream |
||||
|
## 75 test.txt.gz application/x-compressed |
||||
|
## 76 test.txt.gz application/x-gzip |
||||
|
## 77 test.wav audio/x-wav |
||||
|
## 78 test.wmf application/x-msmetafile |
||||
|
## 79 test.wmf windows/metafile |
||||
|
## 80 test.xcf application/x-xcf |
||||
|
## 81 test.xml application/xml |
||||
|
## 82 test.xpm image/x-xbitmap |
||||
|
## 83 test.xpm image/x-xpixmap |
||||
|
## 84 test.xpm image/xpm |
||||
|
## 85 test.zip application/zip |
||||
|
|
||||
|
## Code of Conduct |
||||
|
|
||||
|
Please note that this project is released with a [Contributor Code of |
||||
|
Conduct](CONDUCT.md). By participating in this project you agree to |
||||
|
abide by its terms. |
||||
|
@ -1,4 +0,0 @@ |
|||||
JSON_DB_URL <- "https://raw.githubusercontent.com/jshttp/mime-db/master/db.json" |
|
||||
|
|
||||
mime_db <- jsonlite::fromJSON(JSON_DB_URL, flatten=TRUE) |
|
||||
use_data(mime_db) |
|
@ -1,2 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
rm -f src/Makevars |
|
@ -1,61 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
echo "Checking to see if libmagic is available..." |
|
||||
|
|
||||
: ${R_HOME=`R RHOME`} |
|
||||
if test -z "${R_HOME}"; then |
|
||||
echo |
|
||||
echo "could not determine R_HOME" |
|
||||
echo |
|
||||
exit 1 |
|
||||
fi |
|
||||
|
|
||||
CC=`"${R_HOME}/bin/R" CMD config CC` |
|
||||
CFLAGS=`"${R_HOME}/bin/R" CMD config CFLAGS` |
|
||||
CPPFLAGS=`"${R_HOME}/bin/R" CMD config CPPFLAGS` |
|
||||
CXXFLAGS=`"${R_HOME}/bin/R" CMD config CXXFLAGS` |
|
||||
LDFLAGS=`"${R_HOME}/bin/R" CMD config LDFLAGS` |
|
||||
DYLIB_LDFLAGS=`"${R_HOME}/bin/R" CMD config DYLIB_LDFLAGS` |
|
||||
SHLIB_LDFLAGS=`"${R_HOME}/bin/R" CMD config SHLIB_LDFLAGS` |
|
||||
|
|
||||
LIBDIRS="/usr/lib/x86_64-linux-gnu /usr/lib/i386-linux-gnu /usr/lib64 /usr/lib32 /usr/local/lib /opt/local/lib /usr/lib /lib" |
|
||||
PKG_LD_FLAGS="" |
|
||||
for DIR in ${LIBDIRS} ; do |
|
||||
if test -d ${DIR} ; then PKG_LD_FLAGS="${PKG_LD_FLAGS} -L$DIR" ; fi |
|
||||
done |
|
||||
|
|
||||
INCDIRS="/usr/include/x86_64-linux-gnu /usr/include/i386-linux-gnu /usr/include /usr/local/include /opt/local/include" |
|
||||
PKG_CPP_FLAGS="" |
|
||||
for DIR in ${INCDIRS} ; do |
|
||||
if test -d ${DIR} ; then PKG_CPP_FLAGS="${PKG_CPP_FLAGS} -L$DIR" ; fi |
|
||||
done |
|
||||
|
|
||||
temp_src=$(mktemp) |
|
||||
cat > ${temp_src} <<EOF |
|
||||
#include "src/magic.h" |
|
||||
int main() { |
|
||||
magic_t t = magic_open(MAGIC_NONE); |
|
||||
return(0) |
|
||||
} |
|
||||
EOF |
|
||||
|
|
||||
temp_exe=$(mktemp) |
|
||||
|
|
||||
${CPP} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} ${PKG_CPP_FLAGS} ${PKG_LD_FLAGS} -o ${temp_exe} -lmagic ${temp_src} > /dev/null 2>&1 |
|
||||
ccerr=$? |
|
||||
|
|
||||
rm ${temp_src} ${temp_exe} |
|
||||
|
|
||||
if [ "$ccerr" = 1 ] ; then |
|
||||
echo |
|
||||
echo |
|
||||
echo "The libmagic library was not found." |
|
||||
echo |
|
||||
echo "Please install it before installing this package." |
|
||||
echo |
|
||||
echo |
|
||||
exit 1 |
|
||||
fi |
|
||||
|
|
||||
sed -e "s|@cflags@|$PKG_CPP_FLAGS|" -e "s|@libs@|$PKG_LD_FLAGS|" src/Makevars.in > src/Makevars |
|
||||
|
|
||||
exit 0 |
|
Can't render this file because it contains an unexpected character in line 2 and column 148.
|
After Width: | Height: | Size: 29 KiB |
@ -0,0 +1,18 @@ |
|||||
|
<!ELEMENT magic (info?,match-list)> |
||||
|
<!ELEMENT info (version?,author?,description?)> |
||||
|
<!ELEMENT version (#PCDATA)> |
||||
|
<!ELEMENT author (#PCDATA)> |
||||
|
<!ELEMENT description (#PCDATA)> |
||||
|
<!ELEMENT match-list (match*)> |
||||
|
<!ELEMENT match (mimetype,extension,description,test,submatch-list?)> |
||||
|
<!ELEMENT extension (#PCDATA)> |
||||
|
<!ELEMENT mimetype (#PCDATA)> |
||||
|
<!ELEMENT description (#PCDATA)> |
||||
|
<!ELEMENT test (#PCDATA)> |
||||
|
<!ATTLIST test offset CDATA "0"> |
||||
|
<!ATTLIST test type CDATA "string"> |
||||
|
<!ATTLIST test bitmask CDATA ""> |
||||
|
<!ATTLIST test comparator CDATA "="> |
||||
|
<!ELEMENT submatch-list (match+)> |
||||
|
|
||||
|
|
@ -0,0 +1,338 @@ |
|||||
|
%!PS-Adobe-3.0 EPSF-3.0 |
||||
|
%%Creator: GIMP PostScript file plugin V 1.16 by Peter Kirchgessner |
||||
|
%%Title: /home/arimus/test.eps |
||||
|
%%CreationDate: Tue Jun 15 19:43:49 2004 |
||||
|
%%DocumentData: Clean7Bit |
||||
|
%%LanguageLevel: 2 |
||||
|
%%Pages: 1 |
||||
|
%%BoundingBox: 14 14 115 115 |
||||
|
%%EndComments |
||||
|
%%BeginProlog |
||||
|
% Use own dictionary to avoid conflicts |
||||
|
10 dict begin |
||||
|
%%EndProlog |
||||
|
%%Page: 1 1 |
||||
|
% Translate for offset |
||||
|
14.173228346456694 14.173228346456694 translate |
||||
|
% Translate to begin of first scanline |
||||
|
0 99.999999999999986 translate |
||||
|
99.999999999999986 -99.999999999999986 scale |
||||
|
% Image geometry |
||||
|
100 100 8 |
||||
|
% Transformation matrix |
||||
|
[ 100 0 0 100 0 0 ] |
||||
|
% Strings to hold RGB-samples per scanline |
||||
|
/rstr 100 string def |
||||
|
/gstr 100 string def |
||||
|
/bstr 100 string def |
||||
|
{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} |
||||
|
{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} |
||||
|
{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} |
||||
|
true 3 |
||||
|
%%BeginData: 4976 ASCII Bytes |
||||
|
colorimage |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
p]'IX^]/f~> |
||||
|
p]'IX^]/f~> |
||||
|
p]'IX^]/f~> |
||||
|
p]'IXf`1mMm/MS~> |
||||
|
p]'IXf`1mMm/MS~> |
||||
|
p]'IXf`1mMm/MS~> |
||||
|
p]'IXf`1mMm/MS~> |
||||
|
p]'IXf`1mMm/MS~> |
||||
|
p]'IXf`1mMm/MS~> |
||||
|
mJm+bcN!hCm/MS~> |
||||
|
mJm+bcN!hCm/MS~> |
||||
|
mJm+bcN!hCm/MS~> |
||||
|
mJm+bcN!hCm/MS~> |
||||
|
mJm+bcN!hCm/MS~> |
||||
|
mJm+bcN!hCm/MS~> |
||||
|
mJm+bcN!hCm/MS~> |
||||
|
mJm+bcN!hCm/MS~> |
||||
|
mJm+bcN!hCm/MS~> |
||||
|
mJm+bp\tTsX'R7b!t-Pd[f6"#$/9nr)@?QZ2/^>,s8;ras*t~> |
||||
|
mJm+bp\tTsX'R7b!t-Pd[f6"#$/9nr)@?QZ2/^>,s8;ras*t~> |
||||
|
mJm+bp\tTsX'R7b!t-Pd[f6"#$/9nr)@?QZ2/^>,s8;ras*t~> |
||||
|
mJm+bq#:Aq*V]U81t2:#!qp@1p](=F[f-6t!;$5@~> |
||||
|
mJm+bq#:Aq*V]U81t2:#!qp@1p](=F[f-6t!;$5@~> |
||||
|
mJm+bq#:Aq*V]U81t2:#!qp@1p](=F[f-6t!;$5@~> |
||||
|
mJm+bqYpTqE:j23%)Dc?!W5@X!<)rh!;$5@~> |
||||
|
mJm+bqYpTqE:j23%)Dc?!W5@X!<)rh!;$5@~> |
||||
|
mJm+bqYpTqE:j23%)Dc?!W5@X!<)rh!;$5@~> |
||||
|
mJm+bqYpP=rW!0*?b5S"jeOC*!!*Yfr;Qbbr;[.#[HID]h5*jJ!<)rh!;$5@~> |
||||
|
mJm+bqYpP=rW!0*?b5S"jeOC*!!*Yfr;Qbbr;[.#[HID]h5*jJ!<)rh!;$5@~> |
||||
|
mJm+bqYpP=rW!0*?b5S"jeOC*!!*Yfr;Qbbr;[.#[HID]h5*jJ!<)rh!;$5@~> |
||||
|
mJm+bqu6Z-rVus1_Ya?6pJ(Ve!(m+g!'1#Y!-.i7!SgBFs8;ras*t~> |
||||
|
mJm+bqu6Z-rVus1_Ya?6pJ(Ve!(m+g!'1#Y!-.i7!SgBFs8;ras*t~> |
||||
|
mJm+bqu6Z-rVus1_Ya?6pJ(Ve!(m+g!'1#Y!-.i7!SgBFs8;ras*t~> |
||||
|
mJm+bqu6XJrVur,q>UKd*<#p<d/EtE$iU,+jm`<K!:9`9~> |
||||
|
mJm+bqu6XJrVur,q>UKd*<#p<d/EtE$iU,+jm`<K!:9`9~> |
||||
|
mJm+bqu6XJrVur,q>UKd*<#p<d/EtE$iU,+jm`<K!:9`9~> |
||||
|
mJm+br;Qc5rVupdp\t5OrVuqDrVlj$rVurpnGiFem/MS~> |
||||
|
mJm+br;Qc5rVupdp\t5OrVuqDrVlj$rVurpnGiFem/MS~> |
||||
|
mJm+br;Qc5rVupdp\t5OrVuqDrVlj$rVurpnGiFem/MS~> |
||||
|
mJm+br;Qb:rVuqhp\t6ArVup]rVlj@rVur6nGiFem/MS~> |
||||
|
mJm+br;Qb:rVuqhp\t6ArVup]rVlj@rVur6nGiFem/MS~> |
||||
|
mJm+br;Qb:rVuqhp\t6ArVup]rVlj@rVur6nGiFem/MS~> |
||||
|
mJm+br;QaXrVurEp\t6brVup8rVlk5rVus?\af^u!:9`9~> |
||||
|
mJm+br;QaXrVurEp\t6brVup8rVlk5rVus?\af^u!:9`9~> |
||||
|
mJm+br;QaXrVurEp\t6brVup8rVlk5rVus?\af^u!:9`9~> |
||||
|
mJm+br;Qa5rW)m!rW<'"qu?^$rVloZ(&\+7+DIk?p&Fsjm/MS~> |
||||
|
mJm+br;Qa5rW)m!rW<'"qu?^$rVloZ(&\+7+DIk?p&Fsjm/MS~> |
||||
|
mJm+br;Qa5rW)m!rW<'"qu?^$rVloZ(&\+7+DIk?p&Fsjm/MS~> |
||||
|
mJm+br;Qa#mK!1b!RiOp!!4Zth"^pJ!:9`9~> |
||||
|
mJm+br;Qa#mK!1b!RiOp!!4Zth"^pJ!:9`9~> |
||||
|
mJm+br;Qa#mK!1b!RiOp!!4Zth"^pJ!:9`9~> |
||||
|
mJm+br;Q`umK!.a"8nua#5\B%!b1]rs8;ras*t~> |
||||
|
mJm+br;Q`umK!.a"8nua#5\B%!b1]rs8;ras*t~> |
||||
|
mJm+br;Q`umK!.a"8nua#5\B%!b1]rs8;ras*t~> |
||||
|
mJm+br;Qa-rVurdl2Ln[^4&-Gr;ZjSp&"df!:9`9~> |
||||
|
mJm+br;Qa-rVurdl2Ln[^4&-Gr;ZjSp&"df!:9`9~> |
||||
|
mJm+br;Qa-rVurdl2Ln[^4&-Gr;ZjSp&"df!:9`9~> |
||||
|
mJm+br;QaMrVur?jo5DHJdD>U!/(1Kr;c3aJ,~> |
||||
|
mJm+br;QaMrVur?jo5DHJdD>U!/(1Kr;c3aJ,~> |
||||
|
mJm+br;QaMrVur?jo5DHJdD>U!/(1Kr;c3aJ,~> |
||||
|
mJm+br;Qb-rVuqOj8T+NrVupKqu?Tpm/MS~> |
||||
|
mJm+br;Qb-rVuqOj8T+NrVupKqu?Tpm/MS~> |
||||
|
mJm+br;Qb-rVuqOj8T+NrVupKqu?Tpm/MS~> |
||||
|
mJm+br;Qc'rVusAq;hPUoDS^i#lFW%"o\K%r9aN7~> |
||||
|
mJm+br;Qc'rVusAq;hPUoDS^i#lFW%"o\K%r9aN7~> |
||||
|
mJm+br;Qc'rVusAq;hPUoDS^i#lFW%"o\K%r9aN7~> |
||||
|
mJm+br;Qfq,5qQBHK>)+l2CY_%/^&)'E.t3lL"V%~> |
||||
|
mJm+br;Qfq,5qQBHK>)+l2CY_%/^&)'E.t3lL"V%~> |
||||
|
mJm+br;Qfq,5qQBHK>)+l2CY_%/^&)'E.t3lL"V%~> |
||||
|
mJm+bqu6Z#r;ZkIr:p9m]L)Pr!^XEsq>UG:rVup]qu6XTrVur+mJh\~> |
||||
|
mJm+bqu6Z#r;ZkIr:p9m]L)Pr!^XEsq>UG:rVup]qu6XTrVur+mJh\~> |
||||
|
mJm+bqu6Z#r;ZkIr:p9m]L)Pr!^XEsq>UG:rVup]qu6XTrVur+mJh\~> |
||||
|
mJm+bqYpP8r;[3PNR%"in(Ojb,6.`As8N'),':6Oq>BHb:]17nW;HSpFoD@C-bJmInGe"~> |
||||
|
mJm+bqYpP8r;[3PNR%"in(Ojb,6.`As8N'),':6Oq>BHb:]17nW;HSpFoD@C-bJmInGe"~> |
||||
|
mJm+bqYpP8r;[3PNR%"in(Ojb,6.`As8N'),':6Oq>BHb:]17nW;HSpFoD@C-bJmInGe"~> |
||||
|
mJm+bqYpTqFn,P1s763j@J^!)g'7<PoDa=~> |
||||
|
mJm+bqYpTqFn,P1s763j@J^!)g'7<PoDa=~> |
||||
|
mJm+bqYpTqFn,P1s763j@J^!)g'7<PoDa=~> |
||||
|
mJm+bq#:B(.e`oE"B!/9s7H?n%Z^ParrJo%q#L$dJ,~> |
||||
|
mJm+bq#:B(.e`oE"B!/9s7H?n%Z^ParrJo%q#L$dJ,~> |
||||
|
mJm+bq#:B(.e`oE"B!/9s7H?n%Z^ParrJo%q#L$dJ,~> |
||||
|
mJm+bp\tX#]l#bD"9T5g>b:<Yrs[qfGYTh)#6PG_<1<7Krrq>46Q6C6rW)QiJ,~> |
||||
|
mJm+bp\tX#]l#bD"9T5g>b:<Yrs[qfGYTh)#6PG_<1<7Krrq>46Q6C6rW)QiJ,~> |
||||
|
mJm+bp\tX#]l#bD"9T5g>b:<Yrs[qfGYTh)#6PG_<1<7Krrq>46Q6C6rW)QiJ,~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
Sc=3~> |
||||
|
%%EndData |
||||
|
showpage |
||||
|
%%Trailer |
||||
|
end |
||||
|
%%EOF |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 318 B |
@ -0,0 +1,5 @@ |
|||||
|
public class test { |
||||
|
public static void main(String[] args) { |
||||
|
System.out.println("this is a test java source file"); |
||||
|
} |
||||
|
} |
After Width: | Height: | Size: 1.7 KiB |
@ -0,0 +1,84 @@ |
|||||
|
%PDF-1.2 |
||||
|
%Çì�¢ |
||||
|
6 0 obj |
||||
|
<</Length 7 0 R/Filter /FlateDecode>> |
||||
|
stream |
||||
|
xœUŒ±‚@DûýŠ)µ9wW�»ÖÄÀ\bMÈ™;"�ÂÏ÷@-ÌL2¯x™ l¼æ»m¢‰×÷™êŒÊŒB…‘6¬œ2"©³ÿ¼)‘ºa¤ ²]þ¦M8û|êPšRŽâà{ÃÊj?T�ðI`¥4E•…D;?„¹
ž± #–îµ ±Ûû]<jZóR’*ãendstream |
||||
|
endobj |
||||
|
7 0 obj |
||||
|
143 |
||||
|
endobj |
||||
|
5 0 obj |
||||
|
<</Type/Page/MediaBox [0 0 612 792] |
||||
|
/Rotate 0/Parent 3 0 R |
||||
|
/Resources<</ProcSet[/PDF /Text] |
||||
|
/ExtGState 10 0 R |
||||
|
/Font 11 0 R |
||||
|
>> |
||||
|
/Contents 6 0 R |
||||
|
>> |
||||
|
endobj |
||||
|
3 0 obj |
||||
|
<< /Type /Pages /Kids [ |
||||
|
5 0 R |
||||
|
] /Count 1 |
||||
|
>> |
||||
|
endobj |
||||
|
1 0 obj |
||||
|
<</Type /Catalog /Pages 3 0 R |
||||
|
>> |
||||
|
endobj |
||||
|
4 0 obj |
||||
|
<</Type/ExtGState/Name/R4/TR/Identity>> |
||||
|
endobj |
||||
|
10 0 obj |
||||
|
<</R4 |
||||
|
4 0 R>> |
||||
|
endobj |
||||
|
11 0 obj |
||||
|
<</R9 |
||||
|
9 0 R>> |
||||
|
endobj |
||||
|
8 0 obj |
||||
|
<</Type/FontDescriptor/FontName/Courier>> |
||||
|
endobj |
||||
|
9 0 obj |
||||
|
<</Subtype/Type1/BaseFont/Courier/Type/Font/Name/R9/FirstChar 26/LastChar 255/Widths[ 600 600 600 600 600 600 |
||||
|
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
||||
|
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
||||
|
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
||||
|
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
||||
|
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
||||
|
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
||||
|
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
||||
|
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
||||
|
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
||||
|
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
||||
|
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
||||
|
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
||||
|
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 |
||||
|
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600] |
||||
|
>> |
||||
|
endobj |
||||
|
2 0 obj |
||||
|
<</Producer(ESP Ghostscript 7.07)>>endobj |
||||
|
xref |
||||
|
0 12 |
||||
|
0000000000 65535 f |
||||
|
0000000466 00000 n |
||||
|
0000001711 00000 n |
||||
|
0000000407 00000 n |
||||
|
0000000514 00000 n |
||||
|
0000000247 00000 n |
||||
|
0000000015 00000 n |
||||
|
0000000228 00000 n |
||||
|
0000000629 00000 n |
||||
|
0000000686 00000 n |
||||
|
0000000569 00000 n |
||||
|
0000000599 00000 n |
||||
|
trailer |
||||
|
<< /Size 12 /Root 1 0 R /Info 2 0 R |
||||
|
>> |
||||
|
startxref |
||||
|
1761 |
||||
|
%%EOF |
@ -0,0 +1,5 @@ |
|||||
|
#!/usr/bin/perl -w |
||||
|
|
||||
|
use strict; |
||||
|
|
||||
|
print "this is a test perl script\n"; |
After Width: | Height: | Size: 1.3 KiB |
@ -0,0 +1,280 @@ |
|||||
|
%!PS-Adobe-2.0 |
||||
|
%%DocumentFonts: Courier Times-Bold |
||||
|
%%Title: <stdin> (mpage) |
||||
|
%%Creator: mpage 2.5.1pre2 March 1998 |
||||
|
%%CreationDate: Tue Jun 15 20:04:08 2004 |
||||
|
%%Orientation: Portrait |
||||
|
%%DocumentMedia: A4 596 842 |
||||
|
%%BoundingBox: 20 20 576 822 |
||||
|
%%Pages: (atend) |
||||
|
%%EndComments |
||||
|
|
||||
|
%%BeginProlog |
||||
|
|
||||
|
/mp_stm usertime def |
||||
|
/mp_pgc statusdict begin pagecount end def |
||||
|
statusdict begin /jobname (<stdin>) def end |
||||
|
/reencsmalldict 12 dict def /ReEncodeSmall { reencsmalldict begin |
||||
|
/newcodesandnames exch def /newfontname exch def /basefontname exch def |
||||
|
/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def |
||||
|
basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } |
||||
|
ifelse } |
||||
|
{ pop pop } |
||||
|
ifelse } forall |
||||
|
newfont /FontName newfontname put |
||||
|
newcodesandnames aload pop newcodesandnames length 2 idiv |
||||
|
{ newfont /Encoding get 3 1 roll put } repeat |
||||
|
newfontname newfont definefont pop end } def |
||||
|
/charvec [ |
||||
|
026 /Scaron |
||||
|
027 /Ydieresis |
||||
|
028 /Zcaron |
||||
|
029 /scaron |
||||
|
030 /trademark |
||||
|
031 /zcaron |
||||
|
032 /space |
||||
|
033 /exclam |
||||
|
034 /quotedbl |
||||
|
035 /numbersign |
||||
|
036 /dollar |
||||
|
037 /percent |
||||
|
038 /ampersand |
||||
|
039 /quoteright |
||||
|
040 /parenleft |
||||
|
041 /parenright |
||||
|
042 /asterisk |
||||
|
043 /plus |
||||
|
044 /comma |
||||
|
045 /minus |
||||
|
046 /period |
||||
|
047 /slash |
||||
|
048 /zero |
||||
|
049 /one |
||||
|
050 /two |
||||
|
051 /three |
||||
|
052 /four |
||||
|
053 /five |
||||
|
054 /six |
||||
|
055 /seven |
||||
|
056 /eight |
||||
|
057 /nine |
||||
|
058 /colon |
||||
|
059 /semicolon |
||||
|
060 /less |
||||
|
061 /equal |
||||
|
062 /greater |
||||
|
063 /question |
||||
|
064 /at |
||||
|
065 /A |
||||
|
066 /B |
||||
|
067 /C |
||||
|
068 /D |
||||
|
069 /E |
||||
|
070 /F |
||||
|
071 /G |
||||
|
072 /H |
||||
|
073 /I |
||||
|
074 /J |
||||
|
075 /K |
||||
|
076 /L |
||||
|
077 /M |
||||
|
078 /N |
||||
|
079 /O |
||||
|
080 /P |
||||
|
081 /Q |
||||
|
082 /R |
||||
|
083 /S |
||||
|
084 /T |
||||
|
085 /U |
||||
|
086 /V |
||||
|
087 /W |
||||
|
088 /X |
||||
|
089 /Y |
||||
|
090 /Z |
||||
|
091 /bracketleft |
||||
|
092 /backslash |
||||
|
093 /bracketright |
||||
|
094 /asciicircum |
||||
|
095 /underscore |
||||
|
096 /quoteleft |
||||
|
097 /a |
||||
|
098 /b |
||||
|
099 /c |
||||
|
100 /d |
||||
|
101 /e |
||||
|
102 /f |
||||
|
103 /g |
||||
|
104 /h |
||||
|
105 /i |
||||
|
106 /j |
||||
|
107 /k |
||||
|
108 /l |
||||
|
109 /m |
||||
|
110 /n |
||||
|
111 /o |
||||
|
112 /p |
||||
|
113 /q |
||||
|
114 /r |
||||
|
115 /s |
||||
|
116 /t |
||||
|
117 /u |
||||
|
118 /v |
||||
|
119 /w |
||||
|
120 /x |
||||
|
121 /y |
||||
|
122 /z |
||||
|
123 /braceleft |
||||
|
124 /bar |
||||
|
125 /braceright |
||||
|
126 /asciitilde |
||||
|
127 /.notdef |
||||
|
128 /fraction |
||||
|
129 /florin |
||||
|
130 /quotesingle |
||||
|
131 /quotedblleft |
||||
|
132 /guilsinglleft |
||||
|
133 /guilsinglright |
||||
|
134 /fi |
||||
|
135 /fl |
||||
|
136 /endash |
||||
|
137 /dagger |
||||
|
138 /daggerdbl |
||||
|
139 /bullet |
||||
|
140 /quotesinglbase |
||||
|
141 /quotedblbase |
||||
|
142 /quotedblright |
||||
|
143 /ellipsis |
||||
|
144 /dotlessi |
||||
|
145 /grave |
||||
|
146 /acute |
||||
|
147 /circumflex |
||||
|
148 /tilde |
||||
|
149 /oe |
||||
|
150 /breve |
||||
|
151 /dotaccent |
||||
|
152 /perthousand |
||||
|
153 /emdash |
||||
|
154 /ring |
||||
|
155 /Lslash |
||||
|
156 /OE |
||||
|
157 /hungarumlaut |
||||
|
158 /ogonek |
||||
|
159 /caron |
||||
|
160 /lslash |
||||
|
161 /exclamdown |
||||
|
162 /cent |
||||
|
163 /sterling |
||||
|
164 /currency |
||||
|
165 /yen |
||||
|
166 /brokenbar |
||||
|
167 /section |
||||
|
168 /dieresis |
||||
|
169 /copyright |
||||
|
170 /ordfeminine |
||||
|
171 /guillemotleft |
||||
|
172 /logicalnot |
||||
|
173 /hyphen |
||||
|
174 /registered |
||||
|
175 /macron |
||||
|
176 /degree |
||||
|
177 /plusminus |
||||
|
178 /twosuperior |
||||
|
179 /threesuperior |
||||
|
180 /acute |
||||
|
181 /mu |
||||
|
182 /paragraph |
||||
|
183 /periodcentered |
||||
|
184 /cedilla |
||||
|
185 /onesuperior |
||||
|
186 /ordmasculine |
||||
|
187 /guillemotright |
||||
|
188 /onequarter |
||||
|
189 /onehalf |
||||
|
190 /threequarters |
||||
|
191 /questiondown |
||||
|
192 /Agrave |
||||
|
193 /Aacute |
||||
|
194 /Acircumflex |
||||
|
195 /Atilde |
||||
|
196 /Adieresis |
||||
|
197 /Aring |
||||
|
198 /AE |
||||
|
199 /Ccedilla |
||||
|
200 /Egrave |
||||
|
201 /Eacute |
||||
|
202 /Ecircumflex |
||||
|
203 /Edieresis |
||||
|
204 /Igrave |
||||
|
205 /Iacute |
||||
|
206 /Icircumflex |
||||
|
207 /Idieresis |
||||
|
208 /Eth |
||||
|
209 /Ntilde |
||||
|
210 /Ograve |
||||
|
211 /Oacute |
||||
|
212 /Ocircumflex |
||||
|
213 /Otilde |
||||
|
214 /Odieresis |
||||
|
215 /multiply |
||||
|
216 /Oslash |
||||
|
217 /Ugrave |
||||
|
218 /Uacute |
||||
|
219 /Ucircumflex |
||||
|
220 /Udieresis |
||||
|
221 /Yacute |
||||
|
222 /Thorn |
||||
|
223 /germandbls |
||||
|
224 /agrave |
||||
|
225 /aacute |
||||
|
226 /acircumflex |
||||
|
227 /atilde |
||||
|
228 /adieresis |
||||
|
229 /aring |
||||
|
230 /ae |
||||
|
231 /ccedilla |
||||
|
232 /egrave |
||||
|
233 /eacute |
||||
|
234 /ecircumflex |
||||
|
235 /edieresis |
||||
|
236 /igrave |
||||
|
237 /iacute |
||||
|
238 /icircumflex |
||||
|
239 /idieresis |
||||
|
240 /eth |
||||
|
241 /ntilde |
||||
|
242 /ograve |
||||
|
243 /oacute |
||||
|
244 /ocircumflex |
||||
|
245 /otilde |
||||
|
246 /odieresis |
||||
|
247 /divide |
||||
|
248 /oslash |
||||
|
249 /ugrave |
||||
|
250 /uacute |
||||
|
251 /ucircumflex |
||||
|
252 /udieresis |
||||
|
253 /yacute |
||||
|
254 /thorn |
||||
|
255 /ydieresis |
||||
|
] def |
||||
|
/Courier /OurCharSet charvec ReEncodeSmall |
||||
|
/textfont /OurCharSet findfont 11 scalefont def |
||||
|
/fnamefont /Times-Bold findfont 14 scalefont def |
||||
|
/headerfont /Times-Bold findfont 12 scalefont def |
||||
|
textfont setfont |
||||
|
(a) stringwidth pop /mp_a_x exch def |
||||
|
%%EndProlog |
||||
|
%%Page: 1 1 |
||||
|
save |
||||
|
gsave |
||||
|
20 421 translate |
||||
|
0 0 moveto 0 401 rlineto 278 0 rlineto 0 -401 rlineto closepath clip |
||||
|
278 80 mp_a_x mul div 401 792 div scale |
||||
|
4 7 translate 270 278 div 784 792 div scale |
||||
|
textfont setfont |
||||
|
0 780 moveto (This is a plain text file) show |
||||
|
grestore |
||||
|
restore |
||||
|
showpage |
||||
|
%%Trailer |
||||
|
%%Pages: 1 |
@ -0,0 +1,365 @@ |
|||||
|
"""Append module search paths for third-party packages to sys.path. |
||||
|
|
||||
|
**************************************************************** |
||||
|
* This module is automatically imported during initialization. * |
||||
|
**************************************************************** |
||||
|
|
||||
|
In earlier versions of Python (up to 1.5a3), scripts or modules that |
||||
|
needed to use site-specific modules would place ``import site'' |
||||
|
somewhere near the top of their code. Because of the automatic |
||||
|
import, this is no longer necessary (but code that does it still |
||||
|
works). |
||||
|
|
||||
|
This will append site-specific paths to to the module search path. On |
||||
|
Unix, it starts with sys.prefix and sys.exec_prefix (if different) and |
||||
|
appends lib/python<version>/site-packages as well as lib/site-python. |
||||
|
On other platforms (mainly Mac and Windows), it uses just sys.prefix |
||||
|
(and sys.exec_prefix, if different, but this is unlikely). The |
||||
|
resulting directories, if they exist, are appended to sys.path, and |
||||
|
also inspected for path configuration files. |
||||
|
|
||||
|
FOR DEBIAN, this sys.path is augmented with directories in /usr/local. |
||||
|
Local addons go into /usr/local/lib/python<version>/site-packages |
||||
|
(resp. /usr/local/lib/site-python), Debian addons install into |
||||
|
/usr/{lib,share}/python<version>/site-packages. |
||||
|
|
||||
|
A path configuration file is a file whose name has the form |
||||
|
<package>.pth; its contents are additional directories (one per line) |
||||
|
to be added to sys.path. Non-existing directories (or |
||||
|
non-directories) are never added to sys.path; no directory is added to |
||||
|
sys.path more than once. Blank lines and lines beginning with |
||||
|
'#' are skipped. Lines starting with 'import' are executed. |
||||
|
|
||||
|
For example, suppose sys.prefix and sys.exec_prefix are set to |
||||
|
/usr/local and there is a directory /usr/local/lib/python2.3/site-packages |
||||
|
with three subdirectories, foo, bar and spam, and two path |
||||
|
configuration files, foo.pth and bar.pth. Assume foo.pth contains the |
||||
|
following: |
||||
|
|
||||
|
# foo package configuration |
||||
|
foo |
||||
|
bar |
||||
|
bletch |
||||
|
|
||||
|
and bar.pth contains: |
||||
|
|
||||
|
# bar package configuration |
||||
|
bar |
||||
|
|
||||
|
Then the following directories are added to sys.path, in this order: |
||||
|
|
||||
|
/usr/local/lib/python2.3/site-packages/bar |
||||
|
/usr/local/lib/python2.3/site-packages/foo |
||||
|
|
||||
|
Note that bletch is omitted because it doesn't exist; bar precedes foo |
||||
|
because bar.pth comes alphabetically before foo.pth; and spam is |
||||
|
omitted because it is not mentioned in either path configuration file. |
||||
|
|
||||
|
After these path manipulations, an attempt is made to import a module |
||||
|
named sitecustomize, which can perform arbitrary additional |
||||
|
site-specific customizations. If this import fails with an |
||||
|
ImportError exception, it is silently ignored. |
||||
|
|
||||
|
""" |
||||
|
|
||||
|
import sys, os |
||||
|
|
||||
|
|
||||
|
def makepath(*paths): |
||||
|
dir = os.path.abspath(os.path.join(*paths)) |
||||
|
return dir, os.path.normcase(dir) |
||||
|
|
||||
|
for m in sys.modules.values(): |
||||
|
if hasattr(m, "__file__") and m.__file__: |
||||
|
m.__file__ = os.path.abspath(m.__file__) |
||||
|
del m |
||||
|
|
||||
|
# This ensures that the initial path provided by the interpreter contains |
||||
|
# only absolute pathnames, even if we're running from the build directory. |
||||
|
L = [] |
||||
|
_dirs_in_sys_path = {} |
||||
|
dir = dircase = None # sys.path may be empty at this point |
||||
|
for dir in sys.path: |
||||
|
# Filter out duplicate paths (on case-insensitive file systems also |
||||
|
# if they only differ in case); turn relative paths into absolute |
||||
|
# paths. |
||||
|
dir, dircase = makepath(dir) |
||||
|
if not dircase in _dirs_in_sys_path: |
||||
|
L.append(dir) |
||||
|
_dirs_in_sys_path[dircase] = 1 |
||||
|
sys.path[:] = L |
||||
|
del dir, dircase, L |
||||
|
|
||||
|
# Append ./build/lib.<platform> in case we're running in the build dir |
||||
|
# (especially for Guido :-) |
||||
|
# XXX This should not be part of site.py, since it is needed even when |
||||
|
# using the -S option for Python. See http://www.python.org/sf/586680 |
||||
|
if (os.name == "posix" and sys.path and |
||||
|
os.path.basename(sys.path[-1]) == "Modules"): |
||||
|
from distutils.util import get_platform |
||||
|
s = "build/lib.%s-%.3s" % (get_platform(), sys.version) |
||||
|
s = os.path.join(os.path.dirname(sys.path[-1]), s) |
||||
|
sys.path.append(s) |
||||
|
del get_platform, s |
||||
|
|
||||
|
def _init_pathinfo(): |
||||
|
global _dirs_in_sys_path |
||||
|
_dirs_in_sys_path = d = {} |
||||
|
for dir in sys.path: |
||||
|
if dir and not os.path.isdir(dir): |
||||
|
continue |
||||
|
dir, dircase = makepath(dir) |
||||
|
d[dircase] = 1 |
||||
|
|
||||
|
def addsitedir(sitedir): |
||||
|
global _dirs_in_sys_path |
||||
|
if _dirs_in_sys_path is None: |
||||
|
_init_pathinfo() |
||||
|
reset = 1 |
||||
|
else: |
||||
|
reset = 0 |
||||
|
sitedir, sitedircase = makepath(sitedir) |
||||
|
if not sitedircase in _dirs_in_sys_path: |
||||
|
sys.path.append(sitedir) # Add path component |
||||
|
try: |
||||
|
names = os.listdir(sitedir) |
||||
|
except os.error: |
||||
|
return |
||||
|
names.sort() |
||||
|
for name in names: |
||||
|
if name[-4:] == os.extsep + "pth": |
||||
|
addpackage(sitedir, name) |
||||
|
if reset: |
||||
|
_dirs_in_sys_path = None |
||||
|
|
||||
|
def addpackage(sitedir, name): |
||||
|
global _dirs_in_sys_path |
||||
|
if _dirs_in_sys_path is None: |
||||
|
_init_pathinfo() |
||||
|
reset = 1 |
||||
|
else: |
||||
|
reset = 0 |
||||
|
fullname = os.path.join(sitedir, name) |
||||
|
try: |
||||
|
f = open(fullname) |
||||
|
except IOError: |
||||
|
return |
||||
|
while 1: |
||||
|
dir = f.readline() |
||||
|
if not dir: |
||||
|
break |
||||
|
if dir[0] == '#': |
||||
|
continue |
||||
|
if dir.startswith("import"): |
||||
|
exec dir |
||||
|
continue |
||||
|
if dir[-1] == '\n': |
||||
|
dir = dir[:-1] |
||||
|
dir, dircase = makepath(sitedir, dir) |
||||
|
if not dircase in _dirs_in_sys_path and os.path.exists(dir): |
||||
|
sys.path.append(dir) |
||||
|
_dirs_in_sys_path[dircase] = 1 |
||||
|
if reset: |
||||
|
_dirs_in_sys_path = None |
||||
|
|
||||
|
prefixes = [os.path.join(sys.prefix, "local"), sys.prefix] |
||||
|
sitedir = None # make sure sitedir is initialized because of later 'del' |
||||
|
if sys.exec_prefix != sys.prefix: |
||||
|
prefixes.append(os.path.join(sys.exec_prefix, "local")) |
||||
|
for prefix in prefixes: |
||||
|
if prefix: |
||||
|
if sys.platform in ('os2emx', 'riscos'): |
||||
|
sitedirs = [os.path.join(prefix, "Lib", "site-packages")] |
||||
|
elif os.sep == '/': |
||||
|
sitedirs = [os.path.join(prefix, |
||||
|
"lib", |
||||
|
"python" + sys.version[:3], |
||||
|
"site-packages"), |
||||
|
os.path.join(prefix, "lib", "site-python")] |
||||
|
else: |
||||
|
sitedirs = [prefix, os.path.join(prefix, "lib", "site-packages")] |
||||
|
if sys.platform == 'darwin': |
||||
|
# for framework builds *only* we add the standard Apple |
||||
|
# locations. Currently only per-user, but /Library and |
||||
|
# /Network/Library could be added too |
||||
|
if 'Python.framework' in prefix: |
||||
|
home = os.environ.get('HOME') |
||||
|
if home: |
||||
|
sitedirs.append( |
||||
|
os.path.join(home, |
||||
|
'Library', |
||||
|
'Python', |
||||
|
sys.version[:3], |
||||
|
'site-packages')) |
||||
|
for sitedir in sitedirs: |
||||
|
if os.path.isdir(sitedir): |
||||
|
addsitedir(sitedir) |
||||
|
del prefix, sitedir |
||||
|
|
||||
|
_dirs_in_sys_path = None |
||||
|
|
||||
|
|
||||
|
# Define new built-ins 'quit' and 'exit'. |
||||
|
# These are simply strings that display a hint on how to exit. |
||||
|
if os.sep == ':': |
||||
|
exit = 'Use Cmd-Q to quit.' |
||||
|
elif os.sep == '\\': |
||||
|
exit = 'Use Ctrl-Z plus Return to exit.' |
||||
|
else: |
||||
|
exit = 'Use Ctrl-D (i.e. EOF) to exit.' |
||||
|
import __builtin__ |
||||
|
__builtin__.quit = __builtin__.exit = exit |
||||
|
del exit |
||||
|
|
||||
|
# interactive prompt objects for printing the license text, a list of |
||||
|
# contributors and the copyright notice. |
||||
|
class _Printer: |
||||
|
MAXLINES = 23 |
||||
|
|
||||
|
def __init__(self, name, data, files=(), dirs=()): |
||||
|
self.__name = name |
||||
|
self.__data = data |
||||
|
self.__files = files |
||||
|
self.__dirs = dirs |
||||
|
self.__lines = None |
||||
|
|
||||
|
def __setup(self): |
||||
|
if self.__lines: |
||||
|
return |
||||
|
data = None |
||||
|
for dir in self.__dirs: |
||||
|
for file in self.__files: |
||||
|
file = os.path.join(dir, file) |
||||
|
try: |
||||
|
fp = open(file) |
||||
|
data = fp.read() |
||||
|
fp.close() |
||||
|
break |
||||
|
except IOError: |
||||
|
pass |
||||
|
if data: |
||||
|
break |
||||
|
if not data: |
||||
|
data = self.__data |
||||
|
self.__lines = data.split('\n') |
||||
|
self.__linecnt = len(self.__lines) |
||||
|
|
||||
|
def __repr__(self): |
||||
|
self.__setup() |
||||
|
if len(self.__lines) <= self.MAXLINES: |
||||
|
return "\n".join(self.__lines) |
||||
|
else: |
||||
|
return "Type %s() to see the full %s text" % ((self.__name,)*2) |
||||
|
|
||||
|
def __call__(self): |
||||
|
self.__setup() |
||||
|
prompt = 'Hit Return for more, or q (and Return) to quit: ' |
||||
|
lineno = 0 |
||||
|
while 1: |
||||
|
try: |
||||
|
for i in range(lineno, lineno + self.MAXLINES): |
||||
|
print self.__lines[i] |
||||
|
except IndexError: |
||||
|
break |
||||
|
else: |
||||
|
lineno += self.MAXLINES |
||||
|
key = None |
||||
|
while key is None: |
||||
|
key = raw_input(prompt) |
||||
|
if key not in ('', 'q'): |
||||
|
key = None |
||||
|
if key == 'q': |
||||
|
break |
||||
|
|
||||
|
__builtin__.copyright = _Printer("copyright", sys.copyright) |
||||
|
if sys.platform[:4] == 'java': |
||||
|
__builtin__.credits = _Printer( |
||||
|
"credits", |
||||
|
"Jython is maintained by the Jython developers (www.jython.org).") |
||||
|
else: |
||||
|
__builtin__.credits = _Printer("credits", """\ |
||||
|
Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands |
||||
|
for supporting Python development. See www.python.org for more information.""") |
||||
|
here = os.path.dirname(os.__file__) |
||||
|
__builtin__.license = _Printer( |
||||
|
"license", "See http://www.python.org/%.3s/license.html" % sys.version, |
||||
|
["LICENSE.txt", "LICENSE"], |
||||
|
[os.path.join(here, os.pardir), here, os.curdir]) |
||||
|
|
||||
|
|
||||
|
# Define new built-in 'help'. |
||||
|
# This is a wrapper around pydoc.help (with a twist). |
||||
|
|
||||
|
class _Helper: |
||||
|
def __repr__(self): |
||||
|
return "Type help() for interactive help, " \ |
||||
|
"or help(object) for help about object." |
||||
|
def __call__(self, *args, **kwds): |
||||
|
import pydoc |
||||
|
return pydoc.help(*args, **kwds) |
||||
|
|
||||
|
__builtin__.help = _Helper() |
||||
|
|
||||
|
|
||||
|
# On Windows, some default encodings are not provided |
||||
|
# by Python (e.g. "cp932" in Japanese locale), while they |
||||
|
# are always available as "mbcs" in each locale. |
||||
|
# Make them usable by aliasing to "mbcs" in such a case. |
||||
|
|
||||
|
if sys.platform == 'win32': |
||||
|
import locale, codecs |
||||
|
enc = locale.getdefaultlocale()[1] |
||||
|
if enc.startswith('cp'): # "cp***" ? |
||||
|
try: |
||||
|
codecs.lookup(enc) |
||||
|
except LookupError: |
||||
|
import encodings |
||||
|
encodings._cache[enc] = encodings._unknown |
||||
|
encodings.aliases.aliases[enc] = 'mbcs' |
||||
|
|
||||
|
# Set the string encoding used by the Unicode implementation. The |
||||
|
# default is 'ascii', but if you're willing to experiment, you can |
||||
|
# change this. |
||||
|
|
||||
|
encoding = "ascii" # Default value set by _PyUnicode_Init() |
||||
|
|
||||
|
if 0: |
||||
|
# Enable to support locale aware default string encodings. |
||||
|
import locale |
||||
|
loc = locale.getdefaultlocale() |
||||
|
if loc[1]: |
||||
|
encoding = loc[1] |
||||
|
|
||||
|
if 0: |
||||
|
# Enable to switch off string to Unicode coercion and implicit |
||||
|
# Unicode to string conversion. |
||||
|
encoding = "undefined" |
||||
|
|
||||
|
if encoding != "ascii": |
||||
|
# On Non-Unicode builds this will raise an AttributeError... |
||||
|
sys.setdefaultencoding(encoding) # Needs Python Unicode build ! |
||||
|
|
||||
|
# |
||||
|
# Run custom site specific code, if available. |
||||
|
# |
||||
|
try: |
||||
|
import sitecustomize |
||||
|
except ImportError: |
||||
|
pass |
||||
|
|
||||
|
# |
||||
|
# Remove sys.setdefaultencoding() so that users cannot change the |
||||
|
# encoding after initialization. The test for presence is needed when |
||||
|
# this module is run as a script, because this code is executed twice. |
||||
|
# |
||||
|
if hasattr(sys, "setdefaultencoding"): |
||||
|
del sys.setdefaultencoding |
||||
|
|
||||
|
def _test(): |
||||
|
print "sys.path = [" |
||||
|
for dir in sys.path: |
||||
|
print " %s," % `dir` |
||||
|
print "]" |
||||
|
|
||||
|
if __name__ == '__main__': |
||||
|
_test() |
@ -0,0 +1,16 @@ |
|||||
|
{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f36\froman\fcharset238\fprq2 Times New Roman CE;} |
||||
|
{\f37\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f39\froman\fcharset161\fprq2 Times New Roman Greek;}{\f40\froman\fcharset162\fprq2 Times New Roman Tur;}{\f41\froman\fcharset177\fprq2 Times New Roman (Hebrew);} |
||||
|
{\f42\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f43\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f44\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255; |
||||
|
\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0; |
||||
|
\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive \ssemihidden |
||||
|
Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv |
||||
|
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}{\*\rsidtbl \rsid5531693}{\*\generator Microsoft Word 10.0.2627;}{\info |
||||
|
{\title This is a test RTF document}{\author David Castro}{\operator David Castro}{\creatim\yr2004\mo6\dy17\hr19\min29}{\revtim\yr2004\mo6\dy17\hr19\min30}{\version1}{\edmins1}{\nofpages1}{\nofwords4}{\nofchars25}{\*\company Azusa Pacific University} |
||||
|
{\nofcharsws28}{\vern16437}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1 |
||||
|
\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct\asianbrkrule\rsidroot5531693 \fet0\sectd |
||||
|
\linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4 |
||||
|
\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (} |
||||
|
{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 |
||||
|
\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid5531693 This is a test RTF document |
||||
|
\par |
||||
|
\par }} |
@ -0,0 +1,3 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
echo "this is a test bash script" |
@ -0,0 +1 @@ |
|||||
|
This is a plain text file |
@ -0,0 +1,47 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!DOCTYPE magic PUBLIC "-//jMimeMagic//DTD magic config 1.0//EN" "magic_1_0.dtd"> |
||||
|
<magic> |
||||
|
<info> |
||||
|
<version>0.1</version> |
||||
|
<author>arimus@users.sourceforge.net</author> |
||||
|
<description>XML magic file</description> |
||||
|
</info> |
||||
|
<match-list> |
||||
|
<match> |
||||
|
<mimetype>application/x-tar</mimetype> |
||||
|
<extension>tar</extension> |
||||
|
<description>POSIX tar archive</description> |
||||
|
<test offset="257" type="string" comparator="=">ustar\000</test> |
||||
|
</match> |
||||
|
<match> |
||||
|
<mimetype>application/x-tar</mimetype> |
||||
|
<extension>tar</extension> |
||||
|
<description>tar archive</description> |
||||
|
<test offset="257" type="string" comparator="=">ustar \000GNU</test> |
||||
|
</match> |
||||
|
<match> |
||||
|
<mimetype>application/zip</mimetype> |
||||
|
<extension>zip</extension> |
||||
|
<description>archive data</description> |
||||
|
<test offset="0" type="string" comparator="=">PK\003\004</test> |
||||
|
</match> |
||||
|
<match> |
||||
|
<mimetype>application/x-gzip</mimetype> |
||||
|
<extension>gz</extension> |
||||
|
<description>gzip compressed data</description> |
||||
|
<test offset="0" type="string" comparator="=">\037\213</test> |
||||
|
</match> |
||||
|
<match> |
||||
|
<mimetype>application/x-bzip2</mimetype> |
||||
|
<extension>bz2</extension> |
||||
|
<description>bzip2 compressed data</description> |
||||
|
<test offset="0" type="string" comparator="=">BZh</test> |
||||
|
</match> |
||||
|
<match> |
||||
|
<mimetype>???</mimetype> |
||||
|
<extension>bat</extension> |
||||
|
<description>MS-DOS batch file text</description> |
||||
|
<test offset="0" type="string" comparator="=">@echo off</test> |
||||
|
</match> |
||||
|
</match-list> |
||||
|
</magic> |
@ -0,0 +1,255 @@ |
|||||
|
/* XPM */ |
||||
|
static char * test_xpm[] = { |
||||
|
"100 100 152 2", |
||||
|
" c #FFFFFF", |
||||
|
". c #000000", |
||||
|
"+ c #FAFAFA", |
||||
|
"@ c #ABABAB", |
||||
|
"# c #5E5E5E", |
||||
|
"$ c #2A2A2A", |
||||
|
"% c #0D0D0D", |
||||
|
"& c #030303", |
||||
|
"* c #0B0B0B", |
||||
|
"= c #292929", |
||||
|
"- c #616161", |
||||
|
"; c #B6B6B6", |
||||
|
"> c #FEFEFE", |
||||
|
", c #DBDBDB", |
||||
|
"' c #7E7E7E", |
||||
|
") c #434343", |
||||
|
"! c #1A1A1A", |
||||
|
"~ c #0A0A0A", |
||||
|
"{ c #121212", |
||||
|
"] c #353535", |
||||
|
"^ c #6E6E6E", |
||||
|
"/ c #C3C3C3", |
||||
|
"( c #1D1D1D", |
||||
|
"_ c #343434", |
||||
|
": c #D3D3D3", |
||||
|
"< c #F6F6F6", |
||||
|
"[ c #6A6A6A", |
||||
|
"} c #020202", |
||||
|
"| c #2B2B2B", |
||||
|
"1 c #707070", |
||||
|
"2 c #0C0C0C", |
||||
|
"3 c #C0C0C0", |
||||
|
"4 c #FCFCFC", |
||||
|
"5 c #444444", |
||||
|
"6 c #767676", |
||||
|
"7 c #5F5F5F", |
||||
|
"8 c #BABABA", |
||||
|
"9 c #EBEBEB", |
||||
|
"0 c #E5E5E5", |
||||
|
"a c #A4A4A4", |
||||
|
"b c #101010", |
||||
|
"c c #DEDEDE", |
||||
|
"d c #999999", |
||||
|
"e c #505050", |
||||
|
"f c #B5B5B5", |
||||
|
"g c #E7E7E7", |
||||
|
"h c #F8F8F8", |
||||
|
"i c #DDDDDD", |
||||
|
"j c #A5A5A5", |
||||
|
"k c #4E4E4E", |
||||
|
"l c #C2C2C2", |
||||
|
"m c #F7F7F7", |
||||
|
"n c #4D4D4D", |
||||
|
"o c #494949", |
||||
|
"p c #393939", |
||||
|
"q c #717171", |
||||
|
"r c #DCDCDC", |
||||
|
"s c #4C4C4C", |
||||
|
"t c #2D2D2D", |
||||
|
"u c #F2F2F2", |
||||
|
"v c #1C1C1C", |
||||
|
"w c #D0D0D0", |
||||
|
"x c #C1C1C1", |
||||
|
"y c #8B8B8B", |
||||
|
"z c #797979", |
||||
|
"A c #050505", |
||||
|
"B c #9D9D9D", |
||||
|
"C c #D2D2D2", |
||||
|
"D c #3D3D3D", |
||||
|
"E c #212121", |
||||
|
"F c #3A3A3A", |
||||
|
"G c #CFCFCF", |
||||
|
"H c #F3F3F3", |
||||
|
"I c #181818", |
||||
|
"J c #6B6B6B", |
||||
|
"K c #1E1E1E", |
||||
|
"L c #B9B9B9", |
||||
|
"M c #171717", |
||||
|
"N c #010101", |
||||
|
"O c #060606", |
||||
|
"P c #E4E4E4", |
||||
|
"Q c #151515", |
||||
|
"R c #202020", |
||||
|
"S c #696969", |
||||
|
"T c #AAAAAA", |
||||
|
"U c #E9E9E9", |
||||
|
"V c #7B7B7B", |
||||
|
"W c #454545", |
||||
|
"X c #626262", |
||||
|
"Y c #F1F1F1", |
||||
|
"Z c #0F0F0F", |
||||
|
"` c #EEEEEE", |
||||
|
" . c #BEBEBE", |
||||
|
".. c #3B3B3B", |
||||
|
"+. c #333333", |
||||
|
"@. c #F5F5F5", |
||||
|
"#. c #2F2F2F", |
||||
|
"$. c #C9C9C9", |
||||
|
"%. c #828282", |
||||
|
"&. c #080808", |
||||
|
"*. c #838383", |
||||
|
"=. c #646464", |
||||
|
"-. c #848484", |
||||
|
";. c #9E9E9E", |
||||
|
">. c #B3B3B3", |
||||
|
",. c #F9F9F9", |
||||
|
"'. c #222222", |
||||
|
"). c #7A7A7A", |
||||
|
"!. c #131313", |
||||
|
"~. c #EAEAEA", |
||||
|
"{. c #B0B0B0", |
||||
|
"]. c #BCBCBC", |
||||
|
"^. c #424242", |
||||
|
"/. c #414141", |
||||
|
"(. c #747474", |
||||
|
"_. c #373737", |
||||
|
":. c #262626", |
||||
|
"<. c #8D8D8D", |
||||
|
"[. c #CECECE", |
||||
|
"}. c #EFEFEF", |
||||
|
"|. c #FBFBFB", |
||||
|
"1. c #DADADA", |
||||
|
"2. c #ACACAC", |
||||
|
"3. c #232323", |
||||
|
"4. c #E1E1E1", |
||||
|
"5. c #E8E8E8", |
||||
|
"6. c #4F4F4F", |
||||
|
"7. c #A8A8A8", |
||||
|
"8. c #757575", |
||||
|
"9. c #272727", |
||||
|
"0. c #BBBBBB", |
||||
|
"a. c #F0F0F0", |
||||
|
"b. c #B7B7B7", |
||||
|
"c. c #040404", |
||||
|
"d. c #515151", |
||||
|
"e. c #C5C5C5", |
||||
|
"f. c #0E0E0E", |
||||
|
"g. c #8E8E8E", |
||||
|
"h. c #090909", |
||||
|
"i. c #BDBDBD", |
||||
|
"j. c #111111", |
||||
|
"k. c #2E2E2E", |
||||
|
"l. c #5C5C5C", |
||||
|
"m. c #ECECEC", |
||||
|
"n. c #E3E3E3", |
||||
|
"o. c #787878", |
||||
|
"p. c #141414", |
||||
|
"q. c #070707", |
||||
|
"r. c #545454", |
||||
|
"s. c #9A9A9A", |
||||
|
"t. c #E0E0E0", |
||||
|
"u. c #1B1B1B", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" . . . . . . . . . . . . . . . . . . . . . . . . ", |
||||
|
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", |
||||
|
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", |
||||
|
" . . . . . . . . ", |
||||
|
" . . . . . . . . ", |
||||
|
" . . . . . . . . ", |
||||
|
" . . . . + @ # $ % & * = - ; > , ' ) ! ~ & { ] ^ / . . . . ", |
||||
|
" . . . . @ ( . . . . . . . . . _ : < [ } . . . . . . . . . | ; . . . . . . . . . . . . . . ", |
||||
|
" . . . . > 1 . . . . . . . . . . . . 2 3 4 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . ", |
||||
|
" . . . . 6 . . . & 7 8 9 + 0 a $ . . . b c d . . . . e f g + h i j k } . . . . . . . . . . . . . . . ", |
||||
|
" . . . . 8 . . . b l m n . . . o p . . . q r s . . . . ", |
||||
|
" . . . . t . . . ; u v . . . w * . . . 0 . . . . ", |
||||
|
" . . . . x . . . 5 y . . . z A . . . + . . . . ", |
||||
|
" . . . . q . . . B C . . . D E . . . 3 . . . . ", |
||||
|
" . . . . F . . . G H . . . I J . . . K L . . . . ", |
||||
|
" . . . . M . . . & & & & } } } N N N . . . . . O P Q . . . . R S T U . . . . ", |
||||
|
" . . . . A . . . . . . . . . . . . . . . . . . . : $ . . . . . . . | V r . . . . ", |
||||
|
" . . . . } . . . . . . . . . . . . . . . . . . . 4 j W O . . . . . . } X Y . . . . ", |
||||
|
" . . . . Z . . . ` < .' ..& . . . . +.@. . . . . ", |
||||
|
" . . . . #.. . . $. U %.&.. . . *. . . . . ", |
||||
|
" . . . . =.. . . -. ;.. . . | . . . . ", |
||||
|
" . . . . >.. . . R ,. H . . . &. A . . . 4 ", |
||||
|
" . . . . 4 '.. . . ). U . . . 2 !.. . . ~. ", |
||||
|
" . . . . {.. . . . ' 4 ].^. /.8 > (.. . . D _.. . . f ", |
||||
|
" . . . . q . . . . :.<.[.}.|.}.1.2.(.3.. . . . '.(.f 4.,.4 5.; 6.. . . . 7. 8.. . . 9.0.a.> ", |
||||
|
" . . . . > 8.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . - 1.O . . . . . . . . . ", |
||||
|
" . . . . b.$ . . . . . . . . . . c.d.e. . . . . . . . . . . . . f.g.> a h.. . . . . . . . ", |
||||
|
" . . . . > i.^ _.Q c.& j.k.l.;.m. n.T o.k t p.q.& f.:.r.s.` t.%.) u.* N . . . ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" ", |
||||
|
" "}; |
@ -0,0 +1,62 @@ |
|||||
|
<?xml version="1.0"?> |
||||
|
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" |
||||
|
xmlns:o="urn:schemas-microsoft-com:office:office" |
||||
|
xmlns:x="urn:schemas-microsoft-com:office:excel" |
||||
|
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" |
||||
|
xmlns:html="http://www.w3.org/TR/REC-html40"> |
||||
|
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> |
||||
|
<Author>David Castro</Author> |
||||
|
<LastAuthor>David Castro</LastAuthor> |
||||
|
<Created>2004-06-16T02:29:05Z</Created> |
||||
|
<LastSaved>2004-06-16T02:29:24Z</LastSaved> |
||||
|
<Company>Azusa Pacific University</Company> |
||||
|
<Version>10.2625</Version> |
||||
|
</DocumentProperties> |
||||
|
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office"> |
||||
|
<DownloadComponents/> |
||||
|
<LocationOfComponents HRef="file:///Z:\mnt\c\Documents%20and%20Settings\Administrator\Desktop\download\Office%20XP%20Pro\"/> |
||||
|
</OfficeDocumentSettings> |
||||
|
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> |
||||
|
<WindowHeight>12660</WindowHeight> |
||||
|
<WindowWidth>17100</WindowWidth> |
||||
|
<WindowTopX>360</WindowTopX> |
||||
|
<WindowTopY>60</WindowTopY> |
||||
|
<ProtectStructure>False</ProtectStructure> |
||||
|
<ProtectWindows>False</ProtectWindows> |
||||
|
</ExcelWorkbook> |
||||
|
<Styles> |
||||
|
<Style ss:ID="Default" ss:Name="Normal"> |
||||
|
<Alignment ss:Vertical="Bottom"/> |
||||
|
<Borders/> |
||||
|
<Font/> |
||||
|
<Interior/> |
||||
|
<NumberFormat/> |
||||
|
<Protection/> |
||||
|
</Style> |
||||
|
</Styles> |
||||
|
<Worksheet ss:Name="Sheet1"> |
||||
|
<Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1" |
||||
|
x:FullRows="1"> |
||||
|
<Row> |
||||
|
<Cell><Data ss:Type="String">Test excel 2000 spreadsheet</Data></Cell> |
||||
|
</Row> |
||||
|
</Table> |
||||
|
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> |
||||
|
<Selected/> |
||||
|
<ProtectObjects>False</ProtectObjects> |
||||
|
<ProtectScenarios>False</ProtectScenarios> |
||||
|
</WorksheetOptions> |
||||
|
</Worksheet> |
||||
|
<Worksheet ss:Name="Sheet2"> |
||||
|
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> |
||||
|
<ProtectObjects>False</ProtectObjects> |
||||
|
<ProtectScenarios>False</ProtectScenarios> |
||||
|
</WorksheetOptions> |
||||
|
</Worksheet> |
||||
|
<Worksheet ss:Name="Sheet3"> |
||||
|
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> |
||||
|
<ProtectObjects>False</ProtectObjects> |
||||
|
<ProtectScenarios>False</ProtectScenarios> |
||||
|
</WorksheetOptions> |
||||
|
</Worksheet> |
||||
|
</Workbook> |
@ -0,0 +1,155 @@ |
|||||
|
MIME-Version: 1.0 |
||||
|
X-Document-Type: Worksheet |
||||
|
Content-Location: file:///C:/2A65B325/test_excel_web_archive.htm |
||||
|
Content-Transfer-Encoding: quoted-printable |
||||
|
Content-Type: text/html; charset="us-ascii" |
||||
|
|
||||
|
<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" |
||||
|
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" |
||||
|
xmlns=3D"http://www.w3.org/TR/REC-html40"> |
||||
|
|
||||
|
<head> |
||||
|
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii"> |
||||
|
<meta name=3DProgId content=3DExcel.Sheet> |
||||
|
<meta name=3DGenerator content=3D"Microsoft Excel 10"> |
||||
|
<link rel=3DFile-List href=3D"test_excel_web_archive_files/filelist.xml"> |
||||
|
<link rel=3DEdit-Time-Data href=3D"test_excel_web_archive_files/editdata.ms= |
||||
|
o"> |
||||
|
<link rel=3DOLE-Object-Data href=3D"test_excel_web_archive_files/oledata.ms= |
||||
|
o"> |
||||
|
<!--[if gte mso 9]><xml> |
||||
|
<o:DocumentProperties> |
||||
|
<o:Author>David Castro</o:Author> |
||||
|
<o:LastAuthor>David Castro</o:LastAuthor> |
||||
|
<o:Created>2004-06-16T02:29:05Z</o:Created> |
||||
|
<o:LastSaved>2004-06-16T02:31:29Z</o:LastSaved> |
||||
|
<o:Company>Azusa Pacific University</o:Company> |
||||
|
<o:Version>10.2625</o:Version> |
||||
|
</o:DocumentProperties> |
||||
|
<o:OfficeDocumentSettings> |
||||
|
<o:DownloadComponents/> |
||||
|
<o:LocationOfComponents HRef=3D"file:///Z:\mnt\c\Documents%20and%20Settin= |
||||
|
gs\Administrator\Desktop\download\Office%20XP%20Pro\"/> |
||||
|
</o:OfficeDocumentSettings> |
||||
|
</xml><![endif]--> |
||||
|
<style> |
||||
|
<!--table |
||||
|
{mso-displayed-decimal-separator:"\."; |
||||
|
mso-displayed-thousand-separator:"\,";} |
||||
|
@page |
||||
|
{margin:1.0in .75in 1.0in .75in; |
||||
|
mso-header-margin:.5in; |
||||
|
mso-footer-margin:.5in;} |
||||
|
tr |
||||
|
{mso-height-source:auto;} |
||||
|
col |
||||
|
{mso-width-source:auto;} |
||||
|
br |
||||
|
{mso-data-placement:same-cell;} |
||||
|
.style0 |
||||
|
{mso-number-format:General; |
||||
|
text-align:general; |
||||
|
vertical-align:bottom; |
||||
|
white-space:nowrap; |
||||
|
mso-rotate:0; |
||||
|
mso-background-source:auto; |
||||
|
mso-pattern:auto; |
||||
|
color:windowtext; |
||||
|
font-size:10.0pt; |
||||
|
font-weight:400; |
||||
|
font-style:normal; |
||||
|
text-decoration:none; |
||||
|
font-family:Arial; |
||||
|
mso-generic-font-family:auto; |
||||
|
mso-font-charset:0; |
||||
|
border:none; |
||||
|
mso-protection:locked visible; |
||||
|
mso-style-name:Normal; |
||||
|
mso-style-id:0;} |
||||
|
td |
||||
|
{mso-style-parent:style0; |
||||
|
padding-top:1px; |
||||
|
padding-right:1px; |
||||
|
padding-left:1px; |
||||
|
mso-ignore:padding; |
||||
|
color:windowtext; |
||||
|
font-size:10.0pt; |
||||
|
font-weight:400; |
||||
|
font-style:normal; |
||||
|
text-decoration:none; |
||||
|
font-family:Arial; |
||||
|
mso-generic-font-family:auto; |
||||
|
mso-font-charset:0; |
||||
|
mso-number-format:General; |
||||
|
text-align:general; |
||||
|
vertical-align:bottom; |
||||
|
border:none; |
||||
|
mso-background-source:auto; |
||||
|
mso-pattern:auto; |
||||
|
mso-protection:locked visible; |
||||
|
white-space:nowrap; |
||||
|
mso-rotate:0;} |
||||
|
--> |
||||
|
</style> |
||||
|
<!--[if gte mso 9]><xml> |
||||
|
<x:ExcelWorkbook> |
||||
|
<x:ExcelWorksheets> |
||||
|
<x:ExcelWorksheet> |
||||
|
<x:Name>Sheet1</x:Name> |
||||
|
<x:WorksheetOptions> |
||||
|
<x:Selected/> |
||||
|
<x:ProtectContents>False</x:ProtectContents> |
||||
|
<x:ProtectObjects>False</x:ProtectObjects> |
||||
|
<x:ProtectScenarios>False</x:ProtectScenarios> |
||||
|
</x:WorksheetOptions> |
||||
|
</x:ExcelWorksheet> |
||||
|
<x:ExcelWorksheet> |
||||
|
<x:Name>Sheet2</x:Name> |
||||
|
<x:WorksheetOptions> |
||||
|
<x:ProtectContents>False</x:ProtectContents> |
||||
|
<x:ProtectObjects>False</x:ProtectObjects> |
||||
|
<x:ProtectScenarios>False</x:ProtectScenarios> |
||||
|
</x:WorksheetOptions> |
||||
|
</x:ExcelWorksheet> |
||||
|
<x:ExcelWorksheet> |
||||
|
<x:Name>Sheet3</x:Name> |
||||
|
<x:WorksheetOptions> |
||||
|
<x:ProtectContents>False</x:ProtectContents> |
||||
|
<x:ProtectObjects>False</x:ProtectObjects> |
||||
|
<x:ProtectScenarios>False</x:ProtectScenarios> |
||||
|
</x:WorksheetOptions> |
||||
|
</x:ExcelWorksheet> |
||||
|
</x:ExcelWorksheets> |
||||
|
<x:WindowHeight>12660</x:WindowHeight> |
||||
|
<x:WindowWidth>17100</x:WindowWidth> |
||||
|
<x:WindowTopX>360</x:WindowTopX> |
||||
|
<x:WindowTopY>60</x:WindowTopY> |
||||
|
<x:ProtectStructure>False</x:ProtectStructure> |
||||
|
<x:ProtectWindows>False</x:ProtectWindows> |
||||
|
</x:ExcelWorkbook> |
||||
|
</xml><![endif]--> |
||||
|
</head> |
||||
|
|
||||
|
<body link=3Dblue vlink=3Dpurple> |
||||
|
|
||||
|
<table x:str border=3D0 cellpadding=3D0 cellspacing=3D0 width=3D192 style= |
||||
|
=3D'border-collapse: |
||||
|
collapse;table-layout:fixed;width:144pt'> |
||||
|
<col width=3D64 span=3D3 style=3D'width:48pt'> |
||||
|
<tr height=3D17 style=3D'height:12.75pt'> |
||||
|
<td height=3D17 colspan=3D3 width=3D192 style=3D'height:12.75pt;mso-ignor= |
||||
|
e:colspan; |
||||
|
width:144pt'>Test excel 2000 spreadsheet</td> |
||||
|
</tr> |
||||
|
<![if supportMisalignedColumns]> |
||||
|
<tr height=3D0 style=3D'display:none'> |
||||
|
<td width=3D64 style=3D'width:48pt'></td> |
||||
|
<td width=3D64 style=3D'width:48pt'></td> |
||||
|
<td width=3D64 style=3D'width:48pt'></td> |
||||
|
</tr> |
||||
|
<![endif]> |
||||
|
</table> |
||||
|
|
||||
|
</body> |
||||
|
|
||||
|
</html> |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 2.0 KiB |
@ -1,5 +0,0 @@ |
|||||
#include <stdio.h> |
|
||||
|
|
||||
void main() { |
|
||||
|
|
||||
} |
|
@ -1,4 +0,0 @@ |
|||||
<html> |
|
||||
<head></head> |
|
||||
<body></body> |
|
||||
</html> |
|
@ -1 +0,0 @@ |
|||||
print("examle") |
|
@ -1,5 +0,0 @@ |
|||||
{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 |
|
||||
{\fonttbl} |
|
||||
{\colortbl;\red255\green255\blue255;} |
|
||||
\margl1440\margr1440\vieww12540\viewh14960\viewkind1 |
|
||||
} |
|
@ -1 +0,0 @@ |
|||||
Test text file since the dir can't be empty and I need to test out dir functionality. |
|
@ -0,0 +1,27 @@ |
|||||
|
% Generated by roxygen2: do not edit by hand |
||||
|
% Please edit documentation in R/get-content-type.R |
||||
|
\name{get_content_type} |
||||
|
\alias{get_content_type} |
||||
|
\title{Discover MIME type of a file based on contents} |
||||
|
\usage{ |
||||
|
get_content_type(path) |
||||
|
} |
||||
|
\arguments{ |
||||
|
\item{path}{path to a file} |
||||
|
} |
||||
|
\value{ |
||||
|
character vector |
||||
|
} |
||||
|
\description{ |
||||
|
There are a limited number of header "magic" bytes checked directly by |
||||
|
this function but cover quite a bit of ground. After that, \code{\link[=guess_content_type]{guess_content_type()}} is called which uses |
||||
|
file extension-to-MIME mappings. File an issue or PR if more magic-byte-level |
||||
|
comparisons are required/desired. If no match is found, \code{???} is returned. |
||||
|
} |
||||
|
\details{ |
||||
|
Initial in-R header mapping logic borrowed from \code{MimeTypes.java} from |
||||
|
\href{https://github.com/Servoy/servoy-client}{servoy-client} |
||||
|
} |
||||
|
\examples{ |
||||
|
get_content_type(system.file("extdat", "test.pdf", package="simplemagic")) |
||||
|
} |
@ -1,11 +0,0 @@ |
|||||
% Generated by roxygen2: do not edit by hand |
|
||||
% Please edit documentation in R/wand.r |
|
||||
\name{get_os} |
|
||||
\alias{get_os} |
|
||||
\title{ripped from rappdirs (ty Hadley!)} |
|
||||
\usage{ |
|
||||
get_os() |
|
||||
} |
|
||||
\description{ |
|
||||
ripped from rappdirs (ty Hadley!) |
|
||||
} |
|
@ -0,0 +1,28 @@ |
|||||
|
% Generated by roxygen2: do not edit by hand |
||||
|
% Please edit documentation in R/guess-content-type.R |
||||
|
\name{guess_content_type} |
||||
|
\alias{guess_content_type} |
||||
|
\title{Guess MIME type from filename (extension)} |
||||
|
\usage{ |
||||
|
guess_content_type(path) |
||||
|
} |
||||
|
\arguments{ |
||||
|
\item{path}{path to file} |
||||
|
} |
||||
|
\value{ |
||||
|
character vector |
||||
|
} |
||||
|
\description{ |
||||
|
Uses an internal database of over 1,500 file extension-to-MIME mappings to |
||||
|
return one or more associated types for a given input path. If no match is |
||||
|
found, \code{???} is returned. |
||||
|
} |
||||
|
\details{ |
||||
|
Incorporates standard IANA MIME extension mappings and those from |
||||
|
\href{https://github.com/Servoy/servoy-client}{servoy-client} and |
||||
|
\href{https://github.com/stevenwdv}{stevenwdv}'s |
||||
|
\href{https://s-randomfiles.s3.amazonaws.com/mime/allMimeTypes.json}{allMimeTypes.json}. |
||||
|
} |
||||
|
\examples{ |
||||
|
guess_content_type(system.file("extdat", "test.pdf", package="simplemagic")) |
||||
|
} |
@ -1,41 +0,0 @@ |
|||||
% Generated by roxygen2: do not edit by hand |
|
||||
% Please edit documentation in R/wand.r |
|
||||
\name{incant} |
|
||||
\alias{incant} |
|
||||
\title{Retrieve 'magic' attributes from files and directories} |
|
||||
\usage{ |
|
||||
incant(path, magic_db = "system") |
|
||||
} |
|
||||
\arguments{ |
|
||||
\item{path}{character vector of files to use magic on} |
|
||||
|
|
||||
\item{magic_db}{either "\code{system}" (the default) to use the system |
|
||||
\code{magic} database or an atomic character vector with a |
|
||||
colon-separated list of full paths to custom \code{magic} database(s). This parameter |
|
||||
is (for the moment) ignored on Windows.} |
|
||||
} |
|
||||
\value{ |
|
||||
a \code{tibble} / \code{data.frame} of file magic attributes. |
|
||||
Specifically, mime type, encoding, possible file extensions and |
|
||||
type description are returned as colums in the data frame along |
|
||||
with \code{path}. |
|
||||
} |
|
||||
\description{ |
|
||||
Retrieve 'magic' attributes from files and directories |
|
||||
} |
|
||||
\note{ |
|
||||
Various fields might not be available depending on the version |
|
||||
of \code{libmagic} you have installed. |
|
||||
} |
|
||||
\examples{ |
|
||||
library(dplyr) |
|
||||
|
|
||||
system.file("extdata/img", package="wand") \%>\% |
|
||||
list.files(full.names=TRUE) \%>\% |
|
||||
incant() \%>\% |
|
||||
glimpse() |
|
||||
} |
|
||||
\references{ |
|
||||
See \url{http://openpreservation.org/blog/2012/08/09/magic-editing-and-creation-primer/} |
|
||||
for information on how to create your own \code{magic} database |
|
||||
} |
|
@ -1,35 +0,0 @@ |
|||||
% Generated by roxygen2: do not edit by hand |
|
||||
% Please edit documentation in R/zzz.r |
|
||||
\name{magic_wand_file} |
|
||||
\alias{magic_wand_file} |
|
||||
\title{Use the "magic" file that comes with the package} |
|
||||
\usage{ |
|
||||
magic_wand_file(refresh = FALSE) |
|
||||
} |
|
||||
\arguments{ |
|
||||
\item{refresh}{ensure the lastest copy of the pacakge "magic" |
|
||||
database is used.} |
|
||||
} |
|
||||
\description{ |
|
||||
The \code{magic_load()} functon from \code{libmagic} can't take ZIP files |
|
||||
and the \code{magic.mgc} file that ships with the package is too large to |
|
||||
be shipped uncompressed. Using this function as the \code{magic_db} |
|
||||
parameter will copy and uncompress the database to a cache directory and |
|
||||
return the full path to the magic file. Subsequent calls will not have to |
|
||||
perform the decompression unless \code{force} is \code{TRUE} or the |
|
||||
cache directory has been cleared. |
|
||||
} |
|
||||
\note{ |
|
||||
'magic' files are highly coupled with the version of the \code{file} |
|
||||
utility they were built with. This function is provided solely for the |
|
||||
off chance that a macOS or Linux/UNIX system's \code{libmagic} library |
|
||||
was not configured properly and cannot find the system 'magic' file. |
|
||||
} |
|
||||
\examples{ |
|
||||
library(dplyr) |
|
||||
|
|
||||
system.file("extdata/img", package="wand") \%>\% |
|
||||
list.files(full.names=TRUE) \%>\% |
|
||||
incant(magic_wand_file()) \%>\% |
|
||||
glimpse() |
|
||||
} |
|
@ -1,39 +0,0 @@ |
|||||
% Generated by roxygen2: do not edit by hand |
|
||||
% Please edit documentation in R/datasets.r |
|
||||
\docType{data} |
|
||||
\name{mime_db} |
|
||||
\alias{mime_db} |
|
||||
\title{MIME Types Database} |
|
||||
\format{A list with 1,883 elements and four named fields: \code{source}, |
|
||||
\code{compressible}, \code{extensions} & \code{charset}.} |
|
||||
\usage{ |
|
||||
data(mime_db) |
|
||||
} |
|
||||
\description{ |
|
||||
This is a dataset of all mime types. It aggregates data from the |
|
||||
following sources: |
|
||||
|
|
||||
\itemize{ |
|
||||
\item \url{http://www.iana.org/assignments/media-types/media-types.xhtml} |
|
||||
\item \url{http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types} |
|
||||
\item \url{http://hg.nginx.org/nginx/raw-file/default/conf/mime.types} |
|
||||
} |
|
||||
|
|
||||
There are a total of four possible fields per element: |
|
||||
|
|
||||
\itemize{ |
|
||||
\item \code{source}: where the mime type is defined. If not set, it's |
|
||||
probably a custom media type. One of \code{apache}, \code{iana} or \code{nginx}. |
|
||||
\item \code{extensions}: a character vector of known extensions associated with this mime type. |
|
||||
\item \code{compressible}: whether a file of this type can be "gzipped" (mostly |
|
||||
useful in the context of serving up web content). |
|
||||
\item \code{charset}: the default charset associated with this type, if any. |
|
||||
} |
|
||||
} |
|
||||
\note{ |
|
||||
Last updated 2016-08-14; the only guaranteed field is \code{source} |
|
||||
} |
|
||||
\references{ |
|
||||
Ingested from \url{https://github.com/jshttp/mime-db}. |
|
||||
} |
|
||||
\keyword{datasets} |
|
@ -0,0 +1,14 @@ |
|||||
|
% Generated by roxygen2: do not edit by hand |
||||
|
% Please edit documentation in R/aaa.R |
||||
|
\docType{data} |
||||
|
\name{simplemagic_mime_db} |
||||
|
\alias{simplemagic_mime_db} |
||||
|
\title{File extension-to-MIME mapping data frame} |
||||
|
\format{An object of class \code{tbl_df} (inherits from \code{tbl}, \code{data.frame}) with 1763 rows and 2 columns.} |
||||
|
\usage{ |
||||
|
simplemagic_mime_db |
||||
|
} |
||||
|
\description{ |
||||
|
File extension-to-MIME mapping data frame |
||||
|
} |
||||
|
\keyword{datasets} |
@ -1,3 +0,0 @@ |
|||||
*.o |
|
||||
*.so |
|
||||
*.dll |
|
@ -1,2 +0,0 @@ |
|||||
PKG_CPPFLAGS= -L/usr/include -L/usr/local/include |
|
||||
PKG_LIBS= -L/usr/local/lib -L/usr/lib -lmagic |
|
@ -1,2 +0,0 @@ |
|||||
PKG_CPPFLAGS=@cflags@ |
|
||||
PKG_LIBS=@libs@ -lmagic |
|