Not working import

This commit is contained in:
Difrex(Denis Zheleztsov) 2014-05-16 18:47:38 +04:00
parent 52c4bd5e0a
commit 5892f440e8
3 changed files with 43 additions and 17 deletions

17
GPG.pm
View File

@ -109,4 +109,21 @@ sub export {
return $export_file; return $export_file;
} }
sub import {
my ( $self, $file ) = @_;
# Generate random file name
my @chars = ( "A" .. "Z", "a" .. "z" );
my $string;
$string .= $chars[ rand @chars ] for 1 .. 10;
my $dec_file = "/tmp/pm." . $string;
# Decrypt database
# gpg --output filepath --decrypt encfile
my @dec_cmd = ( 'gpg', '--output', $dec_file, '--decrypt', $file );
system(@dec_cmd) == 0 or die "Cannot decrypt file $file: $!\n";
return $dec_file;
}
1; 1;

View File

@ -81,19 +81,6 @@ sub remove {
return 0; return 0;
} }
sub export {
my ( $self, $filename ) = @_;
my $gpg = $self->{_gpg};
my $dec_db_file = $gpg->decrypt_db();
my $export_enc = $gpg->export($dec_db_file);
my @mv_cmd = ( 'mv', "$export_enc", "$filename" );
system(@mv_cmd) == 0 or die "Cannot move $export_enc to $filename: $!\n";
return 0;
}
# Decrypt base and store new password # Decrypt base and store new password
sub save { sub save {
my ( $self, $store ) = @_; my ( $self, $store ) = @_;
@ -134,6 +121,27 @@ sub save {
return 0; return 0;
} }
sub export {
my ( $self, $filename ) = @_;
my $gpg = $self->{_gpg};
my $dec_db_file = $gpg->decrypt_db();
my $export_enc = $gpg->export($dec_db_file);
my @mv_cmd = ( 'mv', "$export_enc", "$filename" );
system(@mv_cmd) == 0 or die "Cannot move $export_enc to $filename: $!\n";
return 0;
}
sub import {
my ( $self, $file ) = @_;
my $gpg = $self->{_gpg};
my $db_class = $self->{_db};
my $dec_file = $gpg->import($file);
}
# Generate password # Generate password
sub generate { sub generate {
my @chars = ( "A" .. "Z", "a" .. "z", 0 .. 9 ); my @chars = ( "A" .. "Z", "a" .. "z", 0 .. 9 );

View File

@ -25,6 +25,7 @@ Simple password manager writed in Perl.
-i password ID -i password ID
-o open link -o open link
-x [filename] export -x [filename] export
-I [filename] import
-h show this help screen and exit -h show this help screen and exit
-v show version info and exit -v show version info and exit