Brackup-Target-Gmail
view release on metacpan or search on metacpan
lib/Brackup/Target/Gmail.pm view on Meta::CPAN
return $self;
}
# returns bool
sub has_chunk {
my ($self, $chunk) = @_;
my $dig = $chunk->backup_digest; # "sha1:sdfsdf" format scalar
if (my $dbh = $self->{dbh}) {
my $ans = $dbh->selectrow_array("SELECT COUNT(*) FROM ${CACHE_TABLE} WHERE key=?", undef, $dig);
warn "gmail database for $dig is = $ans\n";
return 1 if $ans;
}
my %files = eval { map { $_ => 1 } $self->{_gmail}->files() };
my $ret = !$@ && exists $files{$dig};
$self->_cache_existence_of($dig) if ($ret);
lib/Brackup/Target/Gmail.pm view on Meta::CPAN
$dbh->do("INSERT INTO ${CACHE_TABLE} VALUES (?,1)", undef, $dig);
}
}
# returns true on success, or returns false or dies otherwise.
sub store_chunk {
my ($self, $chunk) = @_;
my ($fh, $filename) = tempfile( UNLINK => 1 );
print $fh ${ $chunk->chunkref };
close($fh);
$self->{_gmail}->store($filename, $chunk->backup_digest);
}
sub store_backup_meta {
my ($self, $name, $file) = @_;
my ($fh, $filename) = tempfile( UNLINK => 1 );
print $fh $file;
close($fh);
$self->{_gmail}->store($filename, $name);
}
1;
( run in 1.053 second using v1.01-cache-2.11-cpan-49f99fa48dc )