Crate sqlar

Source
Expand description

§sqlar - an SQLite Archive utility

An “SQLite Archive” is a file container similar to a ZIP archive or Tarball but based on an SQLite database.

See the SQLite Archive Files documentation for all information.

This library allows to list archive contents, extract files from archives or create a new archive. It’s main usage is throug the command line utility sqlar.

§Installation

The command line utility sqlar can be installed through cargo:

cargo install sqlar

§Usage

§List the content of an archive

sqlar l path/to/file.sqlar

§Extract an archive

sqlar x path/to/file.sqlar path/to/dest/

§Create an archive

sqlar c path/to/new-archive.sqlar path/to/source/

§Example

The library can also be used progamatically.

§List files in an archive

use sqlar::with_each_entry;

with_each_entry("path/to/archive.sqlar", false, |entry| {
   println!("File: {}, file type: {:?}, mode: {}", entry.name, entry.filetype, entry.mode);
   Ok(())
});

§Create an archive

use sqlar::create;

create("path/to/new-archive.sqlar", &["path/to/source"]);

§Extract all files from an archive

use sqlar::extract;

extract("path/to/archive.sqlar", "path/to/dest");

Structs§

Entry
A file entry in the archive

Enums§

FileType
A file’s type

Functions§

create
Create a new archive and add all regular files and directories.
extract
Extract all files from the SQLar at path into dest.
with_each_entry
Iterate over each entry in the archive.

Type Aliases§

Result
A typedef of the result returned by many methods.