6 releases (3 breaking)

0.4.0 Nov 11, 2024
0.3.2 Oct 31, 2024
0.3.1 Apr 8, 2024
0.3.0 Nov 1, 2023
0.1.0 Jul 15, 2023

#158 in Value formatting

Download history 11/week @ 2024-09-23 120/week @ 2024-10-28 19/week @ 2024-11-04 133/week @ 2024-11-11 31/week @ 2024-11-18 9/week @ 2024-11-25

206 downloads per month
Used in 2 crates (via media_info)

MIT license

11KB
184 lines

FS Metadata

A cross-platform simple wrapper to get metadata of a file.

  1. Access SystemTime as readable dates.
  2. Get the permissions of a file.
  3. Get human readable file sizes.

Functions

Favor the Struct version instead.

pub fn file_created(path_str: &Path) -> Result<String, String>

pub fn file_modified(path_str: &Path) -> Result<String, String>

pub fn last_accessed(path_str: &Path) -> Result<String, String>

Struct

struct FileMetadata {
    pub created: String,
    pub modified: String,
    pub accessed: String,
    pub is_file_read_only: bool,
    pub is_dir: bool,
    pub is_file: bool,
    pub is_readable: bool,
    pub is_writable: bool,
    pub is_executable: bool,
}

FileMetadata {
    fn new(path: &Path) -> Result<Self, String>;
    fn readable(&self) -> bool;
    fn writable(&self) -> bool;
    fn executable(&self) -> bool;
    fn get_file_in_kilobytes(&self) -> f32;
    fn get_file_in_megabytes(&self) -> f32;
    fn get_file_in_gigabytes(&self) -> f32;
    fn get_file_in_terabytes(&self) -> f32;
}

Run Tests

To activate the tests, run cargo test -p fs_metadata.

Dependencies

~1–1.5MB
~22K SLoC