]> git.sur5r.net Git - pdfstitch/commitdiff
Add compatibility for old File::Libmagic v0.2
authorJakob Haufe <jakob@haufe.it>
Thu, 6 Jul 2017 14:32:42 +0000 (16:32 +0200)
committerJakob Haufe <sur5r@sur5r.net>
Thu, 6 Jul 2017 14:37:13 +0000 (14:37 +0000)
This allows pdfstitch to run on e.g. Debian Jessie where File::Libmagic
is older than 1.06.

pdfstitch

index 2a46d0e9c71b3a903ceafd9059e3d79c98f5a06b..d8e0a86e9fb59ba15ccce4e2906549760bc3d8a7 100755 (executable)
--- a/pdfstitch
+++ b/pdfstitch
@@ -60,14 +60,23 @@ die "$infile is not readable!\n" unless -r $infile;
 if(not ($genmeta or $preview or $crop or $stitch))
 {
     my $magic = File::LibMagic->new();
+    my $mime_type;
 
-    my $info = $magic->info_from_filename($infile);
-    if($info->{mime_type} eq "application/pdf")
+    if($magic->can('info_from_filename'))
+    {
+        $mime_type = $magic->info_from_filename($infile)->{mime_type}
+    }
+    else
+    {
+        # Fallback for File::Libmagic below 1.06
+        $mime_type = $magic->checktype_filename($infile);
+    }
+    if($mime_type =~ "^application/pdf")
     {
         print "Detected PDF, turning on --genmeta\n";
         $genmeta = 1;
     }
-    elsif ($info->{mime_type} eq  "text/plain")
+    elsif ($mime_type =~  "^text/plain")
     {
         YAML::LoadFile($infile) or die "Failed to parse $infile as YAML!\n";
         print "Detected YAML, turning on --stitch\n";
@@ -75,7 +84,7 @@ if(not ($genmeta or $preview or $crop or $stitch))
     }
     else
     {
-        die "$infile has unsupported type: $info->{mime_type}\n";
+        die "$infile has unsupported type: $mime_type\n";
     }
 }