bumblebee/src/main.rs

44 lines
1.1 KiB
Rust

#[macro_use]
extern crate simple_log;
use std::env;
use simple_log::LogConfigBuilder;
mod configuration;
mod files;
mod processing;
fn main() {
setup_logger();
let config = configuration::Config::from_file(&env::var("CONFIG").unwrap_or(String::from("./config.toml")));
debug!("Config: {:#?}", &config);
let input_files = files::get_files(&config.files.input_path)
.into_iter()
.filter(|path| {
let path = path.to_str().unwrap();
config.files.include.iter().any(|include| path.contains(include))
})
.collect::<Vec<_>>();
info!("Found {} file(s) to be processed.", input_files.len());
for files in input_files {
let operation = processing::TranscodeOperation::new(&config.ffmpeg, files);
operation.run();
}
}
fn setup_logger() {
let config = LogConfigBuilder::builder()
.path("backups.log")
.size(10 * 1000)
.roll_count(10)
.time_format("%Y-%m-%d %H:%M:%S")
.level("debug")
.output_file()
.output_console()
.build();
simple_log::new(config).unwrap();
}