Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
235174b404 | ||
|
|
f837b0f5d0 | ||
|
|
79a3e47a1b | ||
|
|
d8cb2cee19 |
@@ -0,0 +1,65 @@
|
||||
name: clean_file pr
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
check:
|
||||
name: Check
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/deploy_key
|
||||
chmod 600 ~/.ssh/deploy_key
|
||||
ssh-keyscan ${{ secrets.MY_HOST }} >> ~/.ssh/known_hosts
|
||||
eval $(ssh-agent -s)
|
||||
ssh-add -v ~/.ssh/deploy_key
|
||||
cargo check
|
||||
|
||||
fmt:
|
||||
name: Rustfmt
|
||||
runs-on: ubuntu-24.04
|
||||
needs: setup_ssh
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: rustup component add rustfmt
|
||||
- run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/deploy_key
|
||||
chmod 600 ~/.ssh/deploy_key
|
||||
ssh-keyscan ${{ secrets.MY_HOST }} >> ~/.ssh/known_hosts
|
||||
eval $(ssh-agent -s)
|
||||
ssh-add -v ~/.ssh/deploy_key
|
||||
cargo fmt --all -- --check
|
||||
|
||||
clippy:
|
||||
name: Clippy
|
||||
runs-on: ubuntu-24.04
|
||||
needs: setup_ssh
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: rustup component add clippy
|
||||
- run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/deploy_key
|
||||
chmod 600 ~/.ssh/deploy_key
|
||||
ssh-keyscan ${{ secrets.MY_HOST }} >> ~/.ssh/known_hosts
|
||||
eval $(ssh-agent -s)
|
||||
ssh-add -v ~/.ssh/deploy_key
|
||||
cargo clippy -- -D warnings
|
||||
@@ -1,22 +1,20 @@
|
||||
name: Rust Build
|
||||
name: clean_file Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
check:
|
||||
name: Check
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.95
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/deploy_key
|
||||
@@ -31,10 +29,11 @@ jobs:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: setup_ssh
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.95
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/deploy_key
|
||||
@@ -49,10 +48,11 @@ jobs:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: setup_ssh
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.95
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: rustup component add rustfmt
|
||||
- run: |
|
||||
mkdir -p ~/.ssh
|
||||
@@ -68,10 +68,11 @@ jobs:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: setup_ssh
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.95
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: rustup component add clippy
|
||||
- run: |
|
||||
mkdir -p ~/.ssh
|
||||
@@ -87,10 +88,11 @@ jobs:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: setup_ssh
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.95
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/deploy_key
|
||||
|
||||
Generated
+959
-478
File diff suppressed because it is too large
Load Diff
+5
-9
@@ -1,17 +1,13 @@
|
||||
[package]
|
||||
name = "clean_file"
|
||||
version = "1.0.0"
|
||||
version = "1.1.1"
|
||||
edition = "2024"
|
||||
rust-version = "1.95"
|
||||
rust-version = "1.96"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
[dependencies]
|
||||
tokio = { version = "1.52.2", features = ["full"] }
|
||||
futures = { version = "0.3.32" }
|
||||
serde = { version = "1.0.228", features = ["derive"] }
|
||||
serde_json = { version = "1.0.149" }
|
||||
textsender_models = { git = "ssh://git@git.kundeng.us/phoenix/textsender-models.git", tag = "v0.2.5-v0.3.0-migrate-38dbcb09f7-111" }
|
||||
tokio = { version = "1.52.3", features = ["full"] }
|
||||
serde_json = { version = "1.0.150" }
|
||||
schedtxt_models = { git = "ssh://git@git.kundeng.us/phoenix/schedtxt_models.git", tag = "v0.5.3", features = ["contact"] }
|
||||
|
||||
[dev-dependencies]
|
||||
tempfile = { version = "3.27.0" }
|
||||
async-std = { version = "1.13.2" }
|
||||
|
||||
+21
-25
@@ -11,9 +11,9 @@ pub struct NumberParser {
|
||||
impl NumberParser {
|
||||
pub async fn file_dump(
|
||||
&self,
|
||||
) -> Result<Vec<textsender_models::contact::Contact>, std::io::Error> {
|
||||
) -> Result<Vec<schedtxt_models::contact::Contact>, std::io::Error> {
|
||||
println!("Dumping files");
|
||||
let mut objs: Vec<textsender_models::contact::Contact> = Vec::new();
|
||||
let mut objs: Vec<schedtxt_models::contact::Contact> = Vec::new();
|
||||
|
||||
match self.read_lines(&self.filepath).await {
|
||||
Ok(lines) => {
|
||||
@@ -22,7 +22,7 @@ impl NumberParser {
|
||||
if contains_letters {
|
||||
continue;
|
||||
} else {
|
||||
let my_obj = textsender_models::contact::Contact {
|
||||
let my_obj = schedtxt_models::contact::Contact {
|
||||
phone_number: line.clone(),
|
||||
..Default::default()
|
||||
};
|
||||
@@ -41,11 +41,7 @@ impl NumberParser {
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn save_file(
|
||||
&self,
|
||||
numbers: Vec<textsender_models::contact::Contact>,
|
||||
filename: &str,
|
||||
) {
|
||||
pub async fn save_file(&self, numbers: Vec<schedtxt_models::contact::Contact>, filename: &str) {
|
||||
match serde_json::to_string(&numbers) {
|
||||
Ok(json_string) => match std::fs::write(filename, json_string) {
|
||||
Ok(_) => {
|
||||
@@ -61,7 +57,7 @@ impl NumberParser {
|
||||
};
|
||||
}
|
||||
|
||||
pub fn print_phone_numbers(&self, contacts: &Vec<textsender_models::contact::Contact>) {
|
||||
pub fn print_phone_numbers(&self, contacts: &Vec<schedtxt_models::contact::Contact>) {
|
||||
println!("Printing phone numbers");
|
||||
|
||||
for contact in contacts {
|
||||
@@ -83,9 +79,9 @@ impl NumberParser {
|
||||
|
||||
async fn remove_dups(
|
||||
&self,
|
||||
contacts: &Vec<textsender_models::contact::Contact>,
|
||||
) -> Vec<textsender_models::contact::Contact> {
|
||||
let mut unique_contacts: Vec<textsender_models::contact::Contact> = Vec::new();
|
||||
contacts: &Vec<schedtxt_models::contact::Contact>,
|
||||
) -> Vec<schedtxt_models::contact::Contact> {
|
||||
let mut unique_contacts: Vec<schedtxt_models::contact::Contact> = Vec::new();
|
||||
let mut unique_items = std::collections::HashSet::new();
|
||||
|
||||
for val in contacts {
|
||||
@@ -93,7 +89,7 @@ impl NumberParser {
|
||||
}
|
||||
|
||||
for unique_item in unique_items {
|
||||
let contact = textsender_models::contact::Contact {
|
||||
let contact = schedtxt_models::contact::Contact {
|
||||
phone_number: unique_item,
|
||||
..Default::default()
|
||||
};
|
||||
@@ -105,9 +101,9 @@ impl NumberParser {
|
||||
|
||||
async fn update_contacts(
|
||||
&self,
|
||||
contacts: &Vec<textsender_models::contact::Contact>,
|
||||
) -> Vec<textsender_models::contact::Contact> {
|
||||
let mut updated: Vec<textsender_models::contact::Contact> = Vec::new();
|
||||
contacts: &Vec<schedtxt_models::contact::Contact>,
|
||||
) -> Vec<schedtxt_models::contact::Contact> {
|
||||
let mut updated: Vec<schedtxt_models::contact::Contact> = Vec::new();
|
||||
|
||||
for ct in contacts {
|
||||
let phone_number = ct.phone_number.clone();
|
||||
@@ -120,7 +116,7 @@ impl NumberParser {
|
||||
|
||||
match self.add_prefix(&pars) {
|
||||
Ok(updated_parsed) => {
|
||||
let contact = textsender_models::contact::Contact {
|
||||
let contact = schedtxt_models::contact::Contact {
|
||||
phone_number: updated_parsed,
|
||||
..Default::default()
|
||||
};
|
||||
@@ -172,12 +168,12 @@ impl NumberParser {
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use textsender_models::contact::Contact;
|
||||
use schedtxt_models::contact::Contact;
|
||||
|
||||
const TEST_NUMBERS_0: &str = "tests/numbers-0.txt";
|
||||
|
||||
#[test]
|
||||
fn test_file_dump() {
|
||||
#[tokio::test]
|
||||
async fn test_file_dump() {
|
||||
let file_exists = {
|
||||
let path = std::path::Path::new(TEST_NUMBERS_0);
|
||||
path.exists()
|
||||
@@ -222,7 +218,7 @@ mod tests {
|
||||
},
|
||||
];
|
||||
|
||||
match async_std::task::block_on(prsr.file_dump()) {
|
||||
match prsr.file_dump().await {
|
||||
Ok(contacts) => {
|
||||
assert!((contacts.len() > 0), "No contacts has been parsed");
|
||||
|
||||
@@ -238,17 +234,17 @@ mod tests {
|
||||
};
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_save_file() {
|
||||
#[tokio::test]
|
||||
async fn test_save_file() {
|
||||
let prsr = super::NumberParser {
|
||||
filepath: String::from(TEST_NUMBERS_0),
|
||||
};
|
||||
let results = async_std::task::block_on(prsr.file_dump());
|
||||
let results = prsr.file_dump().await;
|
||||
assert!(results.is_ok(), "File dump not successful");
|
||||
let test_output_file: &str = "test-numbers.json";
|
||||
|
||||
let contacts = results.unwrap();
|
||||
async_std::task::block_on(prsr.save_file(contacts, test_output_file));
|
||||
prsr.save_file(contacts, test_output_file).await;
|
||||
let file_exists = {
|
||||
let path = std::path::Path::new(test_output_file);
|
||||
path.exists()
|
||||
|
||||
Reference in New Issue
Block a user