Remove the now-obsolete upload wizard (it was never much used).
[pr0n] / perl / pr0n-upload.pl
index 6d5aacc9d898039e8cf8e0c731ba5bc6075d2b2c..6057ad95abccd1adc472aaf6fa829deff92170d4 100755 (executable)
@@ -18,6 +18,8 @@ use Thread::Queue;
 my $threads = 16;
 my $running_threads :shared = 0;
 my $queue :shared = Thread::Queue->new;
 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;
 
 # Enqueue all the images.
 my $url = shift @ARGV;
@@ -26,10 +28,6 @@ $queue->enqueue(@ARGV);
 # Fetch username and password, and check that they actually work.
 my ($user, $pass) = get_credentials();
 my $dav = init_dav($url, $user, $pass);
 # Fetch username and password, and check that they actually work.
 my ($user, $pass) = get_credentials();
 my $dav = init_dav($url, $user, $pass);
-my $r = $dav->propfind(-url => $url, -depth => 0);
-if ($r == 0) {
-       die "Couldn't open $url: " . $dav->message . "\n";
-}
 
 # Fire up the worker threads, and wait for them to finish.
 my @threads = ();
 
 # Fire up the worker threads, and wait for them to finish.
 my @threads = ();
@@ -44,13 +42,22 @@ for my $thread (@threads) {
        $thread->join();
 }
 
        $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) {
 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--;
        }
        
        $running_threads--;
@@ -61,7 +68,7 @@ sub init_dav {
        my $ua = HTTP::DAV::UserAgent->new();
        $ua->agent('pr0n-uploader/v1.0 (perldav)');
        my $dav = HTTP::DAV->new(-useragent=>$ua);
        my $ua = HTTP::DAV::UserAgent->new();
        $ua->agent('pr0n-uploader/v1.0 (perldav)');
        my $dav = HTTP::DAV->new(-useragent=>$ua);
-       $dav->credentials(-user=>$user, -pass=>$pass, -url=>$url);
+       $dav->credentials(-user=>$user, -pass=>$pass, -url=>$url, -realm=>'pr0n.sesse.net');
        $dav->open(-url => $url)
                or die "Couldn't open $url: " . $dav->message . "\n";
        return $dav;
        $dav->open(-url => $url)
                or die "Couldn't open $url: " . $dav->message . "\n";
        return $dav;