From 662fe6d7726767a409f5a15a37001c740849c641 Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sun, 3 Apr 2011 09:46:49 +0200 Subject: [PATCH] Make pr0n-upload.pl output a list of failed files at the end, so it's easier to do retries etc. --- perl/pr0n-upload.pl | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/perl/pr0n-upload.pl b/perl/pr0n-upload.pl index 95ac047..6057ad9 100755 --- a/perl/pr0n-upload.pl +++ b/perl/pr0n-upload.pl @@ -18,6 +18,8 @@ use Thread::Queue; my $threads = 16; my $running_threads :shared = 0; my $queue :shared = Thread::Queue->new; +my @succeeded :shared = (); +my @failed :shared = (); # Enqueue all the images. my $url = shift @ARGV; @@ -40,13 +42,22 @@ for my $thread (@threads) { $thread->join(); } +if (scalar @failed != 0 && scalar @succeeded != 0) { + # Output failed files in an easily-pastable format. + print "\nFailed files: ", join(' ', @failed), "\n"; +} + sub upload_thread { $running_threads++; my $dav = init_dav($url, $user, $pass); while (my $filename = $queue->dequeue_nb) { - $dav->put(-local => $filename, -url => $url) - or warn "Couldn't upload $filename: " . $dav->message . "\n"; + if ($dav->put(-local => $filename, -url => $url)) { + push @succeeded, $filename; + } else { + push @failed, $filename; + warn "Couldn't upload $filename: " . $dav->message . "\n"; + } } $running_threads--; -- 2.39.2