Skip to content

Commit 63e01e1

Browse files
committed
switched to English 'cuz i18n
1 parent 4b33c0d commit 63e01e1

3 files changed

Lines changed: 31 additions & 29 deletions

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
/target
22
.env
3+
.envd
4+
.gitignore
35
/src/assets

assets/screenshot.png

-54.7 KB
Binary file not shown.

src/main.rs

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,13 @@
1-
// use colored::Colorize;
21
use dotenvy::dotenv;
3-
// mod prev;
4-
use headless_chrome::protocol::cdp::Page;
52
use headless_chrome::Browser;
6-
use std::{
7-
collections::HashSet, env, error::Error, fs, io, io::prelude::*,
8-
/* thread,*/ time::Duration,
9-
};
3+
use std::{collections::HashSet, env, error::Error, io, io::prelude::*, time::Duration};
104

115
const WAIT_LIMIT: u64 = 15;
126
struct ZnamkaStruct {
137
predmet: String,
148
znamka: f32,
159
vaha: f32,
1610
}
17-
// struct PredmetStruct {
18-
// predmet: String,
19-
// znamky: Vec<f32>,
20-
// }
2111

2212
// the individual processing functions
2313
fn process_two(znamka: &str) -> Option<f32> {
@@ -45,21 +35,36 @@ fn prompt_and_read(prompt: &str) -> Result<usize, Box<dyn std::error::Error>> {
4535
io::stdin().lock().read_line(&mut input)?;
4636
Ok(input.trim().parse()?)
4737
}
38+
fn prompt_and_read_creds(prompt: &str) -> String {
39+
print!("{}", prompt);
40+
io::stdout().flush().expect("failed to flush stdout");
41+
let mut input = String::new();
42+
io::stdin()
43+
.lock()
44+
.read_line(&mut input)
45+
.expect("failed to read line from user");
46+
input.trim().to_string()
47+
}
4848

4949
pub fn main() -> Result<(), Box<dyn Error>> {
5050
println!("starting script");
5151
let browser = Browser::default()?;
5252
let tab = browser.new_tab()?;
53+
54+
let username: String;
55+
let password: String;
5356
match dotenv() {
5457
Ok(..) => {
55-
println!("loaded .env file")
58+
println!("loaded .env file");
59+
username = env::var("USERNAME").expect("USERNAME environment variable not set");
60+
password = env::var("PASSWORD").expect("PASSWORD environment variable not set");
5661
}
5762
Err(..) => {
58-
println!(".env doesn't exist")
63+
println!(".env doesn't exist");
64+
username = prompt_and_read_creds("Your EduPage username: ").to_string();
65+
password = prompt_and_read_creds("Your EduPage password: ").to_string();
5966
}
6067
}
61-
let username = env::var("USERNAME").expect("USERNAME environment variable not set");
62-
let password = env::var("PASSWORD").expect("PASSWORD environment variable not set");
6368

6469
loop {
6570
tab.navigate_to("https://sspbrno.edupage.org/login/edubarLogin.php")?;
@@ -68,7 +73,7 @@ pub fn main() -> Result<(), Box<dyn Error>> {
6873
tab.wait_for_element("input#home_Login_2e2")?.click()?;
6974
tab.type_str(&password)?.press_key("Enter")?;
7075

71-
println!("znamky page");
76+
println!("finished signin");
7277

7378
tab.navigate_to("https://sspbrno.edupage.org/znamky/?eqa=d2hhdD1zdHVkZW50dmlld2VyJnBvaGxhZD1wb2RsYURhdHVtdSZ6bmFta3lfeWVhcmlkPTIwMjMmem5hbWt5X3llYXJpZF9ucz0xJm5hZG9iZG9iaWU9UDImcm9rb2Jkb2JpZT0yMDIzJTNBJTNBUDImZG9ScT0xJndoYXQ9c3R1ZGVudHZpZXdlciZ1cGRhdGVMYXN0Vmlldz0w")?;
7479
println!("navigated to znamky page");
@@ -81,17 +86,12 @@ pub fn main() -> Result<(), Box<dyn Error>> {
8186
break;
8287
}
8388
Err(_) => {
84-
println!("could not find, trying again");
89+
println!("Grades not found; trying again");
8590
let _ = main();
8691
}
8792
};
8893
}
8994

90-
let jpeg_data =
91-
tab.capture_screenshot(Page::CaptureScreenshotFormatOption::Png, None, None, true)?;
92-
// Save the screenshot to disc
93-
fs::write("./assets/screenshot.png", jpeg_data)?;
94-
9595
let mut everything_vec: Vec<ZnamkaStruct> = vec![];
9696
let everything = tab.find_elements(".app-list-item-main")?;
9797

@@ -183,10 +183,10 @@ pub fn main() -> Result<(), Box<dyn Error>> {
183183
println!("{}) - {}", i, p);
184184
}
185185
for _ in 1.. {
186-
let predmet_pick_index = prompt_and_read("Pro který předmět chcete vypočítat průměr? ")?;
186+
let predmet_pick_index = prompt_and_read("Choose subject: ")?;
187187
// random order, because HashSet
188188
let predmet_pick = &vec_predmetu[predmet_pick_index];
189-
println!("\nVybrali jste: {}", predmet_pick);
189+
println!("\nYou chose: {}", predmet_pick);
190190
let mut picked_predmet_znamky: Vec<f32> = vec![];
191191
let mut picked_predmet_vahy: Vec<f32> = vec![];
192192
for i in &everything_vec {
@@ -199,17 +199,17 @@ pub fn main() -> Result<(), Box<dyn Error>> {
199199
// println!("{:?}", picked_predmet_vahy);
200200
// println!("{:?}", picked_predmet_znamky);
201201
println!(
202-
"Váš stávající průměr: {}",
202+
"Your current average: {}",
203203
picked_predmet_znamky.clone().into_iter().sum::<f32>()
204204
/ picked_predmet_vahy.clone().into_iter().sum::<f32>()
205205
);
206-
let nova_znamka: f32 = prompt_and_read("Zadejte novou známku: ")? as f32;
207-
let nova_vaha: f32 = prompt_and_read("Zadejte její váhu: ")? as f32;
208-
println!("Nová známka: {}, Váha: {}", nova_znamka, nova_vaha);
206+
let nova_znamka: f32 = prompt_and_read("Add new grade: ")? as f32;
207+
let nova_vaha: f32 = prompt_and_read("The grade's weight: ")? as f32;
208+
println!("New grade: {}, Weight: {}", nova_znamka, nova_vaha);
209209
picked_predmet_znamky.push(nova_znamka * nova_vaha);
210210
picked_predmet_vahy.push(nova_vaha);
211211
println!(
212-
"Váš nový průměr: {}\n",
212+
"Your new calculated average: {}\n",
213213
picked_predmet_znamky.clone().into_iter().sum::<f32>()
214214
/ picked_predmet_vahy.clone().into_iter().sum::<f32>()
215215
);

0 commit comments

Comments
 (0)