Handle non-standard file name suffixes during decompression. Recoll should now index arbitrary compressed XML formats. Closes issue #93
This commit is contained in:
parent
f34994d882
commit
eeaf564d4e
@ -17,14 +17,25 @@ outdir=$3
|
|||||||
sinfile=`basename "$infile"`
|
sinfile=`basename "$infile"`
|
||||||
#echo "rcluncomp: $sinfile" 1>&2
|
#echo "rcluncomp: $sinfile" 1>&2
|
||||||
|
|
||||||
# What we do depends on suffix existence.
|
|
||||||
case "$sinfile" in
|
case "$sinfile" in
|
||||||
*.*)
|
|
||||||
cp "$infile" "$outdir/$sinfile" || exit 1
|
# File with a suffix: try to decompress in file mode so that the
|
||||||
$uncomp "$outdir/$sinfile" || exit 1
|
# decompressor can transform the file name if it knows how. Try
|
||||||
uncompressed=`echo $outdir/*`
|
# filter mode if this fails
|
||||||
;;
|
*.*)
|
||||||
*)
|
cp "$infile" "$outdir/$sinfile" || exit 1
|
||||||
|
# try uncompress
|
||||||
|
if $uncomp "$outdir/$sinfile" ; then
|
||||||
|
uncompressed=`echo $outdir/*`
|
||||||
|
else
|
||||||
|
rm -f "$outdir/sinfile"
|
||||||
|
$uncomp < "$infile" > "$outdir/$sinfile" || exit 1
|
||||||
|
uncompressed="$outdir/$sinfile"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
# Suffixless file names: use filter mode
|
||||||
|
*)
|
||||||
$uncomp < "$infile" > "$outdir/$sinfile" || exit 1
|
$uncomp < "$infile" > "$outdir/$sinfile" || exit 1
|
||||||
uncompressed="$outdir/$sinfile"
|
uncompressed="$outdir/$sinfile"
|
||||||
;;
|
;;
|
||||||
|
|||||||
@ -19,6 +19,8 @@
|
|||||||
application/x-gzip = uncompress rcluncomp gunzip %f %t
|
application/x-gzip = uncompress rcluncomp gunzip %f %t
|
||||||
application/x-compress = uncompress rcluncomp gunzip %f %t
|
application/x-compress = uncompress rcluncomp gunzip %f %t
|
||||||
application/x-bzip2 = uncompress rcluncomp bunzip2 %f %t
|
application/x-bzip2 = uncompress rcluncomp bunzip2 %f %t
|
||||||
|
application/x-xz = uncompress rcluncomp unxz %f %t
|
||||||
|
application/x-lzma = uncompress rcluncomp unxz %f %t
|
||||||
|
|
||||||
## ###################################
|
## ###################################
|
||||||
# Filters for indexing and internal preview.
|
# Filters for indexing and internal preview.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user