validate_directory_structure 0.2.5

A powerful tool to validate directory(Files and folders) structures.
Documentation
use validate_directory_structure::ValidateDirTree;

pub fn main() {
    const YOUR_JSON_STRUCTUEE: &str = r#"
{
  "name": "TEST",
  "description": "Structure of folders, folders required and files required",
  "folders": [
    {
      "id": "id_forestal",
      "required": true,
      "names": ["forestal"],
      "files": [
        {
          "id": "id_puntos",
          "required": true,
          "names": ["PuntosDentro"]
        }
      ]
    },
    {
      "required": true,
      "names": ["ambiental"],
      "id": "id_ambiental",
      "files": [
        {
          "id": "id_capa_hueco",
          "required": true,
          "names": ["CapaHueco"]
        }
      ]
    },
    {
      "required": true,
      "names": ["area_estudio"],
      "id": "id_area_estudio",
      "files": [
        {
          "id": "id_poligono_base",
          "required": true,
          "names": ["PoligonoBase"]
        }
      ]
    }
  ]
}
"#;

    let validate_structure = ValidateDirTree {
        required_extensions: vec!["dbf", "shp", "shx"], // extensions of files mandatory
        valid_extensions: vec!["cpg", "prj", "sbn", "sbx", "shp.xml"], // These extensions aren't mandatory on folder
    };

    let results = validate_structure
        // .validate_structure("/home/sonickseven/your_directory_path", YOUR_JSON_STRUCTUEE);
        .validate_structure(
            "/home/sonickseven/www/anla-validator/geoEjemeplo/estudio_ambiental",
            YOUR_JSON_STRUCTUEE,
        );

    println!("these are the results: {:?}", results);
}