summaryrefslogtreecommitdiff
path: root/lib/SlackBuild/Archive/Extractor.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/SlackBuild/Archive/Extractor.pm')
-rw-r--r--lib/SlackBuild/Archive/Extractor.pm23
1 files changed, 11 insertions, 12 deletions
diff --git a/lib/SlackBuild/Archive/Extractor.pm b/lib/SlackBuild/Archive/Extractor.pm
index 15ed76f..de48962 100644
--- a/lib/SlackBuild/Archive/Extractor.pm
+++ b/lib/SlackBuild/Archive/Extractor.pm
@@ -11,12 +11,17 @@ sub new {
_destdir => $destdir }, $class;
}
+sub logger {
+ my $self = shift;
+ $self->{_logger} //= Log::Log4perl::get_logger(ref($self))
+}
+
sub backend {
- my ($class, $archive, @args) = @_;
- if ($archive->downloaded_html) {
- return new SlackBuild::Archive::Extractor::HTTP($archive, @args);
+ my ($class, $download, @args) = @_;
+ if ($download->is_html) {
+ return new SlackBuild::Archive::Extractor::HTTP($download, @args);
} else {
- return new SlackBuild::Archive::Extractor::Tar($archive, @args);
+ return new SlackBuild::Archive::Extractor::Tar($download, @args);
}
}
@@ -25,16 +30,10 @@ sub destdir { shift->{_destdir} }
sub tempfile { shift->{_tempfile} }
sub rewind { seek shift->tempfile, 0, 0 }
-sub error {
- my $self = shift;
- return $self->archive->error(@_);
-}
-
-sub success { shift->archive->download_status }
-
sub extract {
my $self = shift;
- return $self->archive->error('unrecognized download format');
+ $self->logger->error('unrecognized download format');
+ return new SlackBuild::Download($self)
}
1;

Return to:

Send suggestions and report system problems to the System administrator.