@@ -3,8 +3,8 @@ use polars::prelude::*;
33use std:: collections:: BTreeMap ;
44use time:: OffsetDateTime ;
55use 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 ) ]
99pub 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