diff --git a/imgsrv-tools/src/main/java/org/hathitrust/tools/Stamper.java b/imgsrv-tools/src/main/java/org/hathitrust/tools/Stamper.java index 257b33523..430539bca 100644 --- a/imgsrv-tools/src/main/java/org/hathitrust/tools/Stamper.java +++ b/imgsrv-tools/src/main/java/org/hathitrust/tools/Stamper.java @@ -210,6 +210,9 @@ private void updateProgressMonitor(String status) throws IOException { updateFileName = String.format("%04d.js", updater.get("current_page").asInt()); } else { updateFileName = status + ".js"; + if (status == DONE) { + updater.set("current_page", -1); + } } // System.err.println(updater.toString() + "\n"); diff --git a/imgsrv/lib/Process/PDF.pm b/imgsrv/lib/Process/PDF.pm index f9a3c463a..4b64d7aef 100644 --- a/imgsrv/lib/Process/PDF.pm +++ b/imgsrv/lib/Process/PDF.pm @@ -63,7 +63,7 @@ sub process { if ( $self->is_partial ) { $$config{pages} = []; foreach my $seq ( @{ $self->pages } ) { - push @$config{pages}, int($seq); + push @{$config->{pages}}, int($seq); } } diff --git a/imgsrv/lib/SRV/Volume/Base.pm b/imgsrv/lib/SRV/Volume/Base.pm index 0c6b7fc89..f887319dc 100644 --- a/imgsrv/lib/SRV/Volume/Base.pm +++ b/imgsrv/lib/SRV/Volume/Base.pm @@ -143,7 +143,7 @@ sub run { my $updater = new SRV::Utils::Progress filepath => $self->progress_filepath, total_pages => $self->total_pages, - download_url => $self->download_url, + download_url => SRV::Utils::get_download_url($self, $self->_action), type => $self->_type; if ( $updater->in_progress ) { diff --git a/imgsrv/lib/SRV/Volume/PDF.pm b/imgsrv/lib/SRV/Volume/PDF.pm index 3bde3d324..01c791d49 100644 --- a/imgsrv/lib/SRV/Volume/PDF.pm +++ b/imgsrv/lib/SRV/Volume/PDF.pm @@ -77,7 +77,7 @@ sub _generate_coderef { my $writer = $responder->([$status, $headers]); my $fh; - if ( ! $self->output_filename || SRV::Utils::under_server() ) { + if ( ! $self->output_filename || SRV::Utils::under_server() || $ENV{PSGI_COMMAND} ) { # streaming $fh = new SRV::Utils::Stream responder => $responder, writer => $writer; $self->output_filename($fh);