This commit is contained in:
kdeng00
2023-08-26 23:41:42 -04:00
parent 8441a05a98
commit 109826d1e3
2 changed files with 12 additions and 43 deletions
-2
View File
@@ -19,8 +19,6 @@ fn main() {
filepath: filepath.clone() filepath: filepath.clone()
}; };
myparser.prompt();
println!("\nDumping files"); println!("\nDumping files");
let rawvalues = myparser.filedump(); let rawvalues = myparser.filedump();
// myparser.print_values(&rawvalues); // myparser.print_values(&rawvalues);
+12 -41
View File
@@ -1,15 +1,13 @@
pub mod parser { pub mod parser {
use std::fs::File;
use std::io::{self, BufRead, BufReader};
use std::collections::HashSet; use std::collections::HashSet;
use std::fs::File;
// use serde::{Serialize, Deserialize}; use std::io::{BufRead, BufReader};
use serde::Serialize;
use serde::Deserialize;
// use std::fs::File;
use std::io::prelude::*; use std::io::prelude::*;
use serde::Deserialize;
use serde::Serialize;
#[derive(Clone, Deserialize, Serialize)] #[derive(Clone, Deserialize, Serialize)]
pub struct SomeObject { pub struct SomeObject {
pub value: String pub value: String
@@ -21,10 +19,6 @@ pub mod parser {
} }
impl NumberParser { impl NumberParser {
pub fn prompt(&self) {
println!("Hello!")
}
pub fn filedump(&self) -> Vec<SomeObject> { pub fn filedump(&self) -> Vec<SomeObject> {
let mut objs: Vec<SomeObject> = Vec::new(); let mut objs: Vec<SomeObject> = Vec::new();
@@ -35,9 +29,7 @@ pub mod parser {
value: phonenumber value: phonenumber
}; };
if !myobj.value.is_empty() { if !myobj.value.is_empty() {
// println!("{}", myobj.value);
objs.push(myobj); objs.push(myobj);
} }
} }
@@ -50,16 +42,8 @@ pub mod parser {
pub fn updatevalues(&self, vals: &Vec<SomeObject>) -> Vec<SomeObject> { pub fn updatevalues(&self, vals: &Vec<SomeObject>) -> Vec<SomeObject> {
let mut updated: Vec<SomeObject> = Vec::new(); let mut updated: Vec<SomeObject> = Vec::new();
let mut remove_chars: Vec<char> = Vec::new();
remove_chars.push(')');
remove_chars.push('(');
remove_chars.push(' ');
remove_chars.push('-');
let mut i: i32 = 0; let mut i: i32 = 0;
// let prefix: String = String::from("+1");
for a in vals { for a in vals {
println!("Iter {}", i); println!("Iter {}", i);
@@ -69,7 +53,7 @@ pub mod parser {
continue; continue;
} }
let mut pars = self.remove_some_data(&parsed, &remove_chars); let pars = self.remove_some_data(&parsed);
parsed.clear(); parsed.clear();
parsed = pars; parsed = pars;
@@ -89,17 +73,12 @@ pub mod parser {
return updated; return updated;
} }
pub fn removedups(&self, mut vals: &Vec<SomeObject>) -> Vec<SomeObject> { pub fn removedups(&self, vals: &Vec<SomeObject>) -> Vec<SomeObject> {
println!("Hi");
// let mut tmp: Vec<String> = Vec::new();
let mut tmp: HashSet<String> = HashSet::new(); let mut tmp: HashSet<String> = HashSet::new();
//v.retain(|e| set.insert(e.clone()));
let mut mm: Vec<SomeObject> = Vec::new(); let mut mm: Vec<SomeObject> = Vec::new();
mm = vals.clone(); mm.clone_from(vals);
mm.retain(|e| tmp.insert(e.value.clone())); mm.retain(|e| tmp.insert(e.value.clone()));
// vals.clear();
// vals.clear();
let mut updated: Vec<SomeObject> = Vec::new(); let mut updated: Vec<SomeObject> = Vec::new();
for t in tmp { for t in tmp {
@@ -110,9 +89,6 @@ pub mod parser {
updated.push(so); updated.push(so);
} }
// for item in vals {
// tmp.push(item.value.clone());
// }
return updated return updated
} }
pub fn print_values(&self, vals: &Vec<SomeObject>) { pub fn print_values(&self, vals: &Vec<SomeObject>) {
@@ -131,12 +107,12 @@ pub mod parser {
} }
fn read_lines(&self, filename: &str) -> std::io::Result<std::io::Lines<std::io::BufReader<std::fs::File>>> { fn read_lines(&self, filename: &str) -> std::io::Result<std::io::Lines<BufReader<File>>> {
let file = std::fs::File::open(filename)?; let file = File::open(filename)?;
Ok(std::io::BufReader::new(file).lines()) Ok(BufReader::new(file).lines())
} }
fn remove_some_data(&self, unparsed: &String, remove_chars: &Vec<char>) -> String { fn remove_some_data(&self, unparsed: &String) -> String {
println!("Unparsed: {}", unparsed); println!("Unparsed: {}", unparsed);
let mut parsed: String = String::new(); let mut parsed: String = String::new();
@@ -156,17 +132,12 @@ pub mod parser {
fn add_prefix(&self, raw: String) -> String { fn add_prefix(&self, raw: String) -> String {
let mut mychars = raw.chars().clone(); let mut mychars = raw.chars().clone();
println!("add_prefix");
let first_char: char = mychars.nth(0).clone().unwrap(); let first_char: char = mychars.nth(0).clone().unwrap();
let second_char: char = mychars.nth(1).clone().unwrap(); let second_char: char = mychars.nth(1).clone().unwrap();
println!("add_prefix");
let last_char_index = raw.len() - 1; let last_char_index = raw.len() - 1;
println!("Size {} last index {}", raw.len(), last_char_index); println!("Size {} last index {}", raw.len(), last_char_index);
// let last_char: char = mychars.nth(last_char_index).clone().unwrap();
println!("add_prefix");
let mut parsed: String = raw.clone(); let mut parsed: String = raw.clone();
if first_char == '1' { if first_char == '1' {