Function psort::get_target_dir

source ·
pub fn get_target_dir(
    src: &Path,
    dest: &Option<Box<&Path>>,
    datetime: &NaiveDateTime
) -> PathBuf
Expand description

Returns the desired folder structure <src|dest>/<year>/<month> as path::PathBuf

The source folder is chosen by default unless you specify a destination folder.

Examples

extern crate chrono;
use std::path;
use chrono::NaiveDateTime;

let src = path::Path::new("src");
let dstr = "2019-01-01 10:00:00";
let datetime = NaiveDateTime::parse_from_str(&dstr, "%Y-%m-%d %H:%M:%S").unwrap();
// <dest> was not provided on the command line
let target_dir = psort::get_target_dir(&src, &None, &datetime);
assert_eq!(target_dir, path::PathBuf::from("src/2019/1"));
// now with <dest>
let dest = path::Path::new("dest");
let target_dir = psort::get_target_dir(&src, &Some(Box::new(dest)), &datetime);
assert_eq!(target_dir, path::PathBuf::from("dest/2019/1"));