move stuff to plpgsql
This commit is contained in:
12
sql/website_exists.sql
Normal file
12
sql/website_exists.sql
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
CREATE OR REPLACE FUNCTION website_exists(in_website_name text) RETURNS boolean AS $$
|
||||||
|
BEGIN
|
||||||
|
PERFORM * FROM website w
|
||||||
|
WHERE w.name = in_website_name;
|
||||||
|
|
||||||
|
IF FOUND THEN
|
||||||
|
RETURN 1;
|
||||||
|
ELSE
|
||||||
|
RETURN 0;
|
||||||
|
END IF;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql STRICT;
|
35
src/main.rs
35
src/main.rs
@ -1,28 +1,20 @@
|
|||||||
use postgres::{Client, NoTls};
|
use postgres::{Client, NoTls};
|
||||||
use std::{env, fs, io::Write};
|
use std::{
|
||||||
|
env, fs,
|
||||||
fn website_is_valid(name: &str) -> bool {
|
io::{BufRead, BufReader, Write},
|
||||||
let mut client = Client::connect("host=192.168.0.10 port=28945 user=hentai password=h99nqaNPhpfbuuhCDwQXLpZAnoVTjSQP7taoqmQhpzc2rPLVC4JUAKxAHfuuhuU9", NoTls).unwrap();
|
};
|
||||||
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) {
|
fn generate_file(website_name: &str) {
|
||||||
dbg!(&website_name);
|
let mut client = Client::connect("host=192.168.0.10 port=28945 user=hentai password=h99nqaNPhpfbuuhCDwQXLpZAnoVTjSQP7taoqmQhpzc2rPLVC4JUAKxAHfuuhuU9", NoTls).unwrap();
|
||||||
|
let sqlstmt = format!("SELECT website_exists('{}');", website_name);
|
||||||
|
let output = client.query_one(&sqlstmt, &[]).unwrap();
|
||||||
|
|
||||||
if !website_is_valid(&website_name) {
|
let result: bool = output.get(0);
|
||||||
|
if result == false {
|
||||||
panic!("Invalid website_name");
|
panic!("Invalid website_name");
|
||||||
}
|
}
|
||||||
|
|
||||||
let filename = format!("{website_name}_generated.txt");
|
let filename = format!("{website_name}_generated.txt");
|
||||||
dbg!(&filename);
|
|
||||||
|
|
||||||
let mut file = match fs::File::create(filename) {
|
let mut file = match fs::File::create(filename) {
|
||||||
Ok(file) => file,
|
Ok(file) => file,
|
||||||
Err(error) => {
|
Err(error) => {
|
||||||
@ -31,7 +23,6 @@ fn generate_file(website_name: &str) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
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 sqlstmt = format!("SELECT * FROM get_urls_and_paths('{}');", website_name);
|
||||||
let output = client.query(&sqlstmt, &[]).unwrap();
|
let output = client.query(&sqlstmt, &[]).unwrap();
|
||||||
|
|
||||||
@ -39,13 +30,17 @@ fn generate_file(website_name: &str) {
|
|||||||
let url: String = row.get(0);
|
let url: String = row.get(0);
|
||||||
let folder_path: String = row.get(1);
|
let folder_path: String = row.get(1);
|
||||||
|
|
||||||
dbg!(&url, &folder_path);
|
|
||||||
write!(file, "{} # {}", url, folder_path).unwrap();
|
write!(file, "{} # {}", url, folder_path).unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn import_file(filename: &str) {
|
fn import_file(filename: &str) {
|
||||||
dbg!(&filename);
|
let file = fs::File::open(filename).unwrap();
|
||||||
|
let mut reader = BufReader::new(file);
|
||||||
|
let mut line = String::new();
|
||||||
|
reader.read_line(&mut line).unwrap();
|
||||||
|
|
||||||
|
dbg!(line);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
Reference in New Issue
Block a user