App-dropboxapi
view release on metacpan or search on metacpan
script/dropbox-api view on Meta::CPAN
sub _find ($) {
my $remote_base = decode('locale_fs', slash(shift));
if ($remote_base eq '/') {
$remote_base = '';
}
my @entries;
my $fetch;
my $count = 0;
$fetch = sub {
my $cursor = shift;
my $list;
if ($cursor) {
$list = $box->list_folder_continue($cursor) or die $box->error;
} else {
$list = $box->list_folder($remote_base, {
recursive => JSON::true,
}) or die $box->error;
}
push @entries, @{ $list->{entries} };
if ($list->{has_more}) {
if ($verbose) {
$| = 1;
$count++;
printf("\r" . (('.') x $count));
}
$fetch->($list->{cursor});
}
};
$fetch->();
if ($verbose) {
print "\n";
}
[ sort { $a->{path_lower} cmp $b->{path_lower} } @entries ];
}
sub copy {
script/dropbox-api view on Meta::CPAN
}
}
$tmp->flush;
$tmp->seek(0, 0);
# finish or small file
if ($total < $limit) {
if ($session_id) {
my $params = {
cursor => {
session_id => $session_id,
offset => $offset,
},
commit => $commit_params,
};
return $box->upload_session_finish($tmp, $params);
} else {
return $box->upload("$path", $tmp, $commit_params);
}
}
# append
elsif ($session_id) {
my $params = {
cursor => {
session_id => $session_id,
offset => $offset,
},
};
unless ($box->upload_session_append_v2($tmp, $params)) {
# some error
return;
}
$offset += $total;
}
( run in 0.234 second using v1.01-cache-2.11-cpan-4d50c553e7e )