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 )