Check if required args provided
This commit is contained in:
		
							parent
							
								
									76744cbe71
								
							
						
					
					
						commit
						f61367c7bf
					
				
							
								
								
									
										67
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										67
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							|  | @ -136,6 +136,16 @@ dependencies = [ | ||||||
|  "clap", |  "clap", | ||||||
|  "env_logger", |  "env_logger", | ||||||
|  "log", |  "log", | ||||||
|  |  "url", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "form_urlencoded" | ||||||
|  | version = "1.2.1" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" | ||||||
|  | dependencies = [ | ||||||
|  |  "percent-encoding", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
|  | @ -150,6 +160,16 @@ version = "2.1.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" | checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "idna" | ||||||
|  | version = "0.5.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" | ||||||
|  | dependencies = [ | ||||||
|  |  "unicode-bidi", | ||||||
|  |  "unicode-normalization", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "is_terminal_polyfill" | name = "is_terminal_polyfill" | ||||||
| version = "1.70.0" | version = "1.70.0" | ||||||
|  | @ -168,6 +188,12 @@ version = "2.7.2" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" | checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "percent-encoding" | ||||||
|  | version = "2.3.1" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "proc-macro2" | name = "proc-macro2" | ||||||
| version = "1.0.84" | version = "1.0.84" | ||||||
|  | @ -232,12 +258,53 @@ dependencies = [ | ||||||
|  "unicode-ident", |  "unicode-ident", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "tinyvec" | ||||||
|  | version = "1.6.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" | ||||||
|  | dependencies = [ | ||||||
|  |  "tinyvec_macros", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "tinyvec_macros" | ||||||
|  | version = "0.1.1" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "unicode-bidi" | ||||||
|  | version = "0.3.15" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "unicode-ident" | name = "unicode-ident" | ||||||
| version = "1.0.12" | version = "1.0.12" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "unicode-normalization" | ||||||
|  | version = "0.1.23" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" | ||||||
|  | dependencies = [ | ||||||
|  |  "tinyvec", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "url" | ||||||
|  | version = "2.5.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" | ||||||
|  | dependencies = [ | ||||||
|  |  "form_urlencoded", | ||||||
|  |  "idna", | ||||||
|  |  "percent-encoding", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "utf8parse" | name = "utf8parse" | ||||||
| version = "0.2.1" | version = "0.2.1" | ||||||
|  |  | ||||||
|  | @ -8,3 +8,4 @@ description = "Combines blocklists for ActivityPub software" | ||||||
| clap = { version = "4.5.4", features = ["derive"] } | clap = { version = "4.5.4", features = ["derive"] } | ||||||
| env_logger = "0.11.3" | env_logger = "0.11.3" | ||||||
| log = "0.4.21" | log = "0.4.21" | ||||||
|  | url = "2.5.0" | ||||||
|  |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| example.com |  | ||||||
							
								
								
									
										28
									
								
								src/main.rs
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								src/main.rs
									
									
									
									
									
								
							|  | @ -6,30 +6,42 @@ mod tests; | ||||||
| use std::path::PathBuf; | use std::path::PathBuf; | ||||||
| 
 | 
 | ||||||
| use clap::Parser; | use clap::Parser; | ||||||
|  | use log::error; | ||||||
| 
 | 
 | ||||||
| #[derive(Parser)] | #[derive(Parser)] | ||||||
| #[command(version, about, long_about = None)] | #[command(version, about, long_about = None)] | ||||||
| struct Cli { | struct Cli { | ||||||
|     /// Selects a custom config file (optional)
 |     /// Selects a custom config file
 | ||||||
|     config: Option<PathBuf>, |     config: Option<PathBuf>, | ||||||
| 
 | 
 | ||||||
|     /// Sets output directory (optional, defaults to current directory)
 |     /// Specifies files/directories for blocks
 | ||||||
|     output_dir: Option<PathBuf>, |     #[arg(short = 'B', long)] | ||||||
| 
 |  | ||||||
|     /// Specifies block files/directories
 |  | ||||||
|     #[arg(short, long)] |  | ||||||
|     block: Vec<PathBuf>, |     block: Vec<PathBuf>, | ||||||
| 
 | 
 | ||||||
|     /// Specifies silence files/directories
 |     /// Specifies files/directories for silences
 | ||||||
|     #[arg(short, long)] |     #[arg(short = 'M', long)] | ||||||
|     mute: Vec<PathBuf>, |     mute: Vec<PathBuf>, | ||||||
|  | 
 | ||||||
|  |     /// Specifies confidence in a source. Default = 100
 | ||||||
|  |     #[arg(short, long)] | ||||||
|  |     trust: Vec<u16>, | ||||||
|  | 
 | ||||||
|  |     /// Sets output directory (optional, defaults to current directory)
 | ||||||
|  |     #[arg(last = true)] | ||||||
|  |     path: Option<PathBuf>, | ||||||
|     // TODO more options
 |     // TODO more options
 | ||||||
|     // TODO verbose mode
 |     // TODO verbose mode
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| fn main() { | fn main() { | ||||||
|  |     env_logger::init(); | ||||||
|  | 
 | ||||||
|     let cli = Cli::parse(); |     let cli = Cli::parse(); | ||||||
| 
 | 
 | ||||||
|  |     if cli.block.is_empty() && cli.mute.is_empty() && cli.config.is_none() { | ||||||
|  |         error!("No lists or configuration provided."); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     // TODO argument parsing - IN PROGRESS
 |     // TODO argument parsing - IN PROGRESS
 | ||||||
|     // TODO logging
 |     // TODO logging
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -31,6 +31,8 @@ impl ModActionTrust { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| impl From<(u16, u16)> for ModActionTrust { | impl From<(u16, u16)> for ModActionTrust { | ||||||
|  |     /// Creates mod action weights from a tuple of two `u16` weights. Useful
 | ||||||
|  |     /// mostly for testing.
 | ||||||
|     fn from(value: (u16, u16)) -> Self { |     fn from(value: (u16, u16)) -> Self { | ||||||
|         Self { |         Self { | ||||||
|             block: value.0, |             block: value.0, | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue