35 lines
877 B
Rust
35 lines
877 B
Rust
use serde_derive::Deserialize;
|
|
use std::fs;
|
|
|
|
#[derive(Deserialize)]
|
|
pub struct Config {
|
|
pub transcoder: Transcoder,
|
|
}
|
|
|
|
impl Config {
|
|
pub fn new(config_path: &str) -> Config {
|
|
let resolved_path = shellexpand::tilde(config_path);
|
|
let config_text = fs::read_to_string(&*resolved_path).unwrap();
|
|
let c: Config = toml::from_str(&config_text).unwrap();
|
|
return c;
|
|
}
|
|
|
|
pub fn get_repository(&self) -> String {
|
|
let resolved_path = shellexpand::tilde(&self.transcoder.repository);
|
|
return String::from(&*resolved_path);
|
|
}
|
|
}
|
|
|
|
#[derive(Deserialize)]
|
|
pub struct Transcoder {
|
|
pub repository: String,
|
|
pub interval: u16,
|
|
pub video_format: String,
|
|
pub video_codec: String,
|
|
pub video_profile: String,
|
|
pub video_resolution: String,
|
|
pub video_framerate: u8,
|
|
pub video_color: String,
|
|
pub audio_codec: String,
|
|
}
|