 ff53bccc0f
			
		
	
	ff53bccc0f
	
	
	
		
			
			* add docsmg tool * moved to the correct scripts directory * removed test files * added install script and readme draft to docsmg * fix install script * fixed issues * Revert "fixed issues" This reverts commita51192025f. * Revert "Revert "fixed issues"" This reverts commitab68918fea. * added dotenv and updated readme * fixed install script * update readme to ensure that new installers of rust have envs loaded * changed docsmg from using .env to docsmg.env * fixed docsmg to fix internal links in file * fixed docsmg migrate not making directories to file * fixed docsmg migrate trying to read pngs to string * did stuff * fix links * fix links 2 * fix links 3 * fix links * fix links * fix links * fix links * fix links * fixed docsmg migrate replacing links * fixed docsmg migrate replacing links * fixed docsmg migrate replacing links * fixed docsmg migrate replacing links * fixed links * update docsmg fixing links * update docsmg fixing links * update docsmg fixing links * update docsmg removing empty directories * remove changed docs * Revert "remove changed docs" This reverts commit2e21a5bac8. * remove changed docs * fixed readme --------- Signed-off-by: Tana M Berry <tanamarieberry@yahoo.com> Co-authored-by: Tana M Berry <tanamarieberry@yahoo.com>
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| use std::{fs, path::PathBuf};
 | |
| 
 | |
| use clap::{Parser, Subcommand};
 | |
| 
 | |
| mod generate;
 | |
| mod links;
 | |
| mod migrate;
 | |
| mod migratefile;
 | |
| mod r#move;
 | |
| mod hackyfixes;
 | |
| 
 | |
| #[derive(Parser)]
 | |
| struct Cli {
 | |
|     #[arg(long, env, default_value = "./")]
 | |
|     migrate_path: PathBuf,
 | |
| 
 | |
|     #[command(subcommand)]
 | |
|     command: Commands,
 | |
| }
 | |
| 
 | |
| #[derive(Subcommand)]
 | |
| enum Commands {
 | |
|     Move {
 | |
|         old_path: PathBuf,
 | |
|         new_path: PathBuf,
 | |
|     },
 | |
|     Migrate {
 | |
|         #[arg(long, name = "FILE", default_value = "./migratefile")]
 | |
|         migratefile: PathBuf,
 | |
| 
 | |
|         #[arg(short, long)]
 | |
|         quiet: bool,
 | |
|     },
 | |
|     Unmigrate {
 | |
|         #[arg(long, name = "FILE", default_value = "./migratefile")]
 | |
|         migratefile: PathBuf,
 | |
| 
 | |
|         #[arg(short, long)]
 | |
|         quiet: bool,
 | |
|     },
 | |
|     Generate {
 | |
|         #[arg(long, name = "FILE")]
 | |
|         migratefile: Option<PathBuf>,
 | |
|     },
 | |
| }
 | |
| 
 | |
| fn main() {
 | |
|     let _ = dotenv::from_filename("./docsmg.env");
 | |
|     let cli = Cli::parse();
 | |
| 
 | |
|     match cli.command {
 | |
|         Commands::Move { old_path, new_path } => r#move::r#move(old_path, new_path),
 | |
|         Commands::Migrate { migratefile, quiet } => {
 | |
|             migrate::migrate(quiet, migratefile, cli.migrate_path)
 | |
|         }
 | |
|         Commands::Unmigrate { migratefile, quiet } => {
 | |
|             migrate::unmigrate(quiet, migratefile, cli.migrate_path)
 | |
|         }
 | |
|         Commands::Generate { migratefile } => generate::generate(migratefile, cli.migrate_path),
 | |
|     }
 | |
| }
 | |
| 
 | |
| fn recurse_directory(path: PathBuf) -> Vec<PathBuf> {
 | |
|     let paths = fs::read_dir(path).expect("path to exist");
 | |
|     let mut final_paths = vec![];
 | |
|     for path in paths {
 | |
|         match path {
 | |
|             Ok(path) => {
 | |
|                 if !path.path().is_file() && !path.path().is_dir() {
 | |
|                     continue;
 | |
|                 } // dont go any further if not a file or directory
 | |
|                 let is_dir = path.path().is_dir();
 | |
|                 let path = path.path();
 | |
| 
 | |
|                 if is_dir {
 | |
|                     let mut paths = recurse_directory(path);
 | |
|                     final_paths.append(&mut paths);
 | |
|                 } else {
 | |
|                     final_paths.push(path);
 | |
|                 }
 | |
|             }
 | |
|             _ => {}
 | |
|         }
 | |
|     }
 | |
|     final_paths
 | |
| }
 |