good progress
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,3 +2,4 @@ gallery-dl/*.sqlite3
|
||||
gallery-dl/log.txt
|
||||
Artists
|
||||
/target
|
||||
*_generated.txt
|
||||
|
67
src/main.rs
67
src/main.rs
@ -1,17 +1,66 @@
|
||||
use postgres::{Client, NoTls};
|
||||
use std::{env, fs, io::Write};
|
||||
|
||||
fn main() {
|
||||
fn website_is_valid(name: &str) -> bool {
|
||||
let mut client = Client::connect("host=192.168.0.10 port=28945 user=hentai password=h99nqaNPhpfbuuhCDwQXLpZAnoVTjSQP7taoqmQhpzc2rPLVC4JUAKxAHfuuhuU9", NoTls).unwrap();
|
||||
let output = client
|
||||
.query("SELECT * FROM get_urls_and_paths('Rule34');", &[])
|
||||
.unwrap();
|
||||
let mut url: &str;
|
||||
let mut path: &str;
|
||||
let sqlstmt = format!("SELECT * FROM website WHERE name = '{}'", name);
|
||||
let output = client.query(&sqlstmt, &[]).unwrap();
|
||||
|
||||
if output.len() == 0 {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
fn generate_file(website_name: &str) {
|
||||
dbg!(&website_name);
|
||||
|
||||
if !website_is_valid(&website_name) {
|
||||
panic!("Invalid website_name");
|
||||
}
|
||||
|
||||
let filename = format!("{website_name}_generated.txt");
|
||||
dbg!(&filename);
|
||||
|
||||
let mut file = match fs::File::create(filename) {
|
||||
Ok(file) => file,
|
||||
Err(error) => {
|
||||
let message = error.to_string();
|
||||
panic!("Problem opening the file: {message}");
|
||||
}
|
||||
};
|
||||
|
||||
let mut client = Client::connect("host=192.168.0.10 port=28945 user=hentai password=h99nqaNPhpfbuuhCDwQXLpZAnoVTjSQP7taoqmQhpzc2rPLVC4JUAKxAHfuuhuU9", NoTls).unwrap();
|
||||
let sqlstmt = format!("SELECT * FROM get_urls_and_paths('{}');", website_name);
|
||||
let output = client.query(&sqlstmt, &[]).unwrap();
|
||||
|
||||
for row in output {
|
||||
url = row.get(0);
|
||||
path = row.get(1);
|
||||
let url: String = row.get(0);
|
||||
let folder_path: String = row.get(1);
|
||||
|
||||
println!("{} {}", url, path);
|
||||
dbg!(&url, &folder_path);
|
||||
write!(file, "{} # {}", url, folder_path).unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
fn import_file(filename: &str) {
|
||||
dbg!(&filename);
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let args: Vec<String> = env::args().collect();
|
||||
dbg!(&args);
|
||||
|
||||
if args.len() != 3 {
|
||||
panic!("Too many or too few arguments");
|
||||
}
|
||||
|
||||
let operation: &str = args[1].as_str();
|
||||
|
||||
match operation {
|
||||
"generate" => generate_file(&args[2]),
|
||||
"import" => import_file(&args[2]),
|
||||
_ => panic!("Invalid argument"),
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user