Skip to content

Commit dc5d7e4

Browse files
committed
- more of progressbar
1 parent 95e6904 commit dc5d7e4

1 file changed

Lines changed: 13 additions & 6 deletions

File tree

src/divportfolio/main.rs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ use polars::prelude::*;
33
use std::collections::BTreeMap;
44
use time::OffsetDateTime;
55
use yahoo_finance_api as yahoo;
6+
use indicatif::ProgressBar;
67

7-
// // TODO: Print dividend data and then add in summary the dividend per month
88
#[derive(Debug, PartialEq, Eq, Hash)]
99
pub enum Exchange {
1010
EUR(String),
@@ -274,12 +274,13 @@ impl<'a> Stock<'a> {
274274
}
275275
}
276276

277-
fn get_data(
278-
symbol: &str,
277+
fn get_data<'a>(
278+
symbol: &'a str,
279279
investement: Currency,
280280
num_shares: f64,
281281
div_yield: Option<f64>,
282-
) -> Result<Stock, Box<dyn std::error::Error>> {
282+
pb : &'a ProgressBar,
283+
) -> Result<Stock<'a>, Box<dyn std::error::Error>> {
283284
// Tworzenie providera Yahoo Finance
284285
let mut provider = yahoo::YahooConnector::new()?;
285286

@@ -359,6 +360,8 @@ fn get_data(
359360

360361
let monthly_dividends = get_dividend_history(symbol, num_shares)?;
361362

363+
pb.inc(1);
364+
362365
Ok(Stock::new(
363366
symbol,
364367
investement,
@@ -423,6 +426,10 @@ fn main() -> Result<(), String> {
423426
std::env::set_var("POLARS_FMT_MAX_ROWS", "-1")
424427
}
425428

429+
// Lets make some progress bar
430+
let pb = ProgressBar::no_length();
431+
432+
426433
// Get stock prices , get dividends data and get EUR/USD
427434

428435
// List of companies in a format (symbol, invested financial resources, current value, current
@@ -434,15 +441,15 @@ fn main() -> Result<(), String> {
434441
Currency::USD(1210.0 + 11.20 + 800.0 + 11.91),
435442
827.09,
436443
None,
444+
&pb,
437445
)
438446
.unwrap(),
439447
];
440448

441449
print_data_frame(&ania);
442450

443451
let jacek = vec![
444-
get_data("VVD.DE", Currency::EUR(5669.23 + 2323.69), 230.02, None).unwrap(),
445-
// Stock::new("DE000A289XJ2",Currency::USD(2594.37), Currency::EUR(2627.66), 0.0501),
452+
get_data("AHOG.DE", Currency::EUR(5980.74), 179.11, None,&pb).unwrap(),
446453
];
447454
print_data_frame(&jacek);
448455

0 commit comments

Comments
 (0)