Removed configure subcommand for now; Added setup subcommand to initialize the video repository
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
parent
0b327f304e
commit
004c057a2c
@ -1,24 +1,14 @@
|
|||||||
use std::io;
|
use config::Config;
|
||||||
use std::io::Write;
|
use crate::settings;
|
||||||
|
use crate::transcoder::repository::Repository;
|
||||||
|
|
||||||
pub fn configure_command(config_path: &str) {
|
pub fn setup_command(repository_dir: &str) {
|
||||||
let repository_dir = get_user_input("Enter your desired video repository directory path: ");
|
println!("Initializing video repository at {}...", repository_dir);
|
||||||
let interval = get_user_input("Enter how long Zealot should wait in between runs (in minutes): ");
|
|
||||||
|
|
||||||
println!("Updating config file {} with repository path {} and interval {}.", config_path, repository_dir, interval);
|
// create and initialize our config and repository objects
|
||||||
}
|
let c: Config = settings::load_config();
|
||||||
|
let r: Repository = Repository::new(&shellexpand::tilde(&c.get_string("transcoder.repository").unwrap()));
|
||||||
fn get_user_input(message: &str) -> String {
|
|
||||||
// print our message to the user, then flush STDIN so the message is sent
|
// initialize the video repository
|
||||||
print!("{}", message);
|
r.initialize();
|
||||||
io::stdout().flush().unwrap();
|
|
||||||
|
|
||||||
// now create our string object and read the input
|
|
||||||
let mut input = String::new();
|
|
||||||
io::stdin()
|
|
||||||
.read_line(&mut input)
|
|
||||||
.expect("Failed to get user input");
|
|
||||||
|
|
||||||
// obviously, return the trimmed result as a String object
|
|
||||||
return input.trim().to_string();
|
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ struct Cli {
|
|||||||
#[derive(Subcommand)]
|
#[derive(Subcommand)]
|
||||||
enum Commands {
|
enum Commands {
|
||||||
/// displays version info about this program
|
/// displays version info about this program
|
||||||
Configure {},
|
Setup {},
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
@ -37,7 +37,7 @@ fn main() {
|
|||||||
|
|
||||||
match &cli.command {
|
match &cli.command {
|
||||||
// sub-commands will be handled here
|
// sub-commands will be handled here
|
||||||
Some(Commands::Configure {}) => cmd::core::configure_command(config_path),
|
Some(Commands::Setup {}) => cmd::core::setup_command(config_path),
|
||||||
|
|
||||||
// run the main program without any commands
|
// run the main program without any commands
|
||||||
None => {
|
None => {
|
||||||
|
@ -11,16 +11,9 @@ pub struct Repository {
|
|||||||
|
|
||||||
impl Repository {
|
impl Repository {
|
||||||
pub fn new(base_path: &str) -> Repository {
|
pub fn new(base_path: &str) -> Repository {
|
||||||
// create the base directory path
|
|
||||||
create_directory(base_path);
|
|
||||||
|
|
||||||
// create the needed sub-directories
|
|
||||||
let ingest_path = Path::new(base_path).join("ingest");
|
let ingest_path = Path::new(base_path).join("ingest");
|
||||||
create_directory(ingest_path.to_str().unwrap());
|
|
||||||
let archive_path = Path::new(base_path).join("archive");
|
let archive_path = Path::new(base_path).join("archive");
|
||||||
create_directory(archive_path.to_str().unwrap());
|
|
||||||
let output_path = Path::new(base_path).join("output");
|
let output_path = Path::new(base_path).join("output");
|
||||||
create_directory(output_path.to_str().unwrap());
|
|
||||||
|
|
||||||
return Repository {
|
return Repository {
|
||||||
base_dir: String::from(base_path),
|
base_dir: String::from(base_path),
|
||||||
@ -30,6 +23,16 @@ impl Repository {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn initialize(&self) {
|
||||||
|
// create the base directory path
|
||||||
|
create_directory(&self.base_dir);
|
||||||
|
|
||||||
|
// create the needed sub-directories
|
||||||
|
create_directory(&self.ingest_dir.as_str());
|
||||||
|
create_directory(&self.archive_dir.as_str());
|
||||||
|
create_directory(&self.output_dir.as_str());
|
||||||
|
}
|
||||||
|
|
||||||
pub fn search_ingest(&self) -> Vec<String> {
|
pub fn search_ingest(&self) -> Vec<String> {
|
||||||
// read file entries from ingest
|
// read file entries from ingest
|
||||||
let files = fs::read_dir(&self.ingest_dir).unwrap();
|
let files = fs::read_dir(&self.ingest_dir).unwrap();
|
||||||
|
Loading…
Reference in New Issue
Block a user