App-OATH
view release on metacpan or search on metacpan
lib/App/OATH.pm view on Meta::CPAN
}
sub get_lock {
my ( $self ) = @_;
my $lockh;
my $lockfilename = $self->get_lockfilename();
if ( ! -e $lockfilename ) {
open $lockh, '>', $lockfilename;
close $lockh;
chmod( 0600, $lockfilename );
}
open $lockh, '<', $lockfilename;
if ( !flock( $lockh, LOCK_EX | LOCK_NB ) ) {
return 0;
}
$self->{'lockhandle'} = $lockh;
return 1;
}
sub load_data {
lib/App/OATH.pm view on Meta::CPAN
sub save_data {
my ( $self ) = @_;
my $data = $self->get_encrypted();
my $json = JSON->new();
my $content = $json->encode( $data );
my $filename = $self->get_filename();
open( my $file, '>', $filename ) || die "cannot open file $!";
print $file $content;
close $file;
chmod( 0600, $filename );
return;
}
sub encrypt_data {
my ( $self ) = @_;
my $data = $self->get_plaintext();
$self->drop_password() if $self->{'newpass'};
my $crypt = App::OATH::Crypt->new( $self->get_password() );
my $edata = {};
foreach my $k ( keys %$data ) {
( run in 0.379 second using v1.01-cache-2.11-cpan-496ff517765 )