11use std:: env;
22mod database_loader;
3- use database_loader:: OTPElement ;
43extern crate directories;
5- extern crate otp;
6- use otp:: make_totp;
74mod utils;
85mod argument_functions;
6+ mod otp_helper;
97mod cryptograpy;
10- fn main ( ) {
11- let version = "0.0.6" ;
12- print_title ( version) ;
13- let args: Vec < String > = env:: args ( ) . collect ( ) ;
14- if !args_parser ( args) {
15- utils:: create_db_if_needed ( ) ;
16- show_codes ( ) ;
17- }
18- }
198
209#[ cfg( debug_assertions) ]
2110fn print_title ( version : & str ) {
@@ -30,30 +19,13 @@ fn print_title(version: &str){
3019 println ! ( "written by @replydev\n " ) ;
3120}
3221
33- fn show_codes ( ) {
34- let elements: Vec < database_loader:: OTPElement > = database_loader:: read_from_file ( ) ;
35- for i in 0 ..elements. len ( ) {
36- print_totp ( i, & elements[ i] ) ;
37- }
38- }
39-
40- fn get_good_otp_code ( element : & OTPElement ) -> String {
41- let otp = make_totp (
42- & element. secret ( ) , //we have replaced '=' in this method
43- element. period ( ) , 0 ) . unwrap ( ) ;
44- let mut s_otp = otp. to_string ( ) ;
45-
46- while s_otp. len ( ) < element. digits ( ) as usize {
47- s_otp = String :: from ( "0" ) + & s_otp;
48- }
49- s_otp
50- }
51-
52- fn print_totp ( i : usize , element : & OTPElement ) {
53- if element. issuer ( ) != "" {
54- println ! ( "{}) {} - {}: {}" , i+1 , element. issuer( ) , element. label( ) , get_good_otp_code( & element) ) ;
55- } else {
56- println ! ( "{}) {}: {}" , i+1 , element. label( ) , get_good_otp_code( & element) ) ;
22+ fn main ( ) {
23+ let version = "0.0.6" ;
24+ print_title ( version) ;
25+ let args: Vec < String > = env:: args ( ) . collect ( ) ;
26+ if !args_parser ( args) {
27+ utils:: create_db_if_needed ( ) ;
28+ otp_helper:: show_codes ( ) ;
5729 }
5830}
5931
0 commit comments