|
@@ -6,7 +6,7 @@ TITLE="Image anonymizer"
|
|
|
|
|
|
# ASSETS
|
|
|
GUIPATH=$(dirname "$0")
|
|
|
-GUIPATH="$GUIPATH/gui"
|
|
|
+GUIPATH="$GUIPATH/gui"
|
|
|
GUIPATH=$(cd "$GUIPATH" && pwd)
|
|
|
if [[ -z "$GUIPATH" ]] ; then
|
|
|
echo "For some reason, the path is not accessible."
|
|
@@ -44,6 +44,20 @@ zenstart() {
|
|
|
zendir() {
|
|
|
DIR=$(zenity --window-icon="$GUIPATH/tux.png" --title="$TITLE" --file-selection --directory 2> /dev/null)
|
|
|
}
|
|
|
+zenchoutff() {
|
|
|
+ zenity --window-icon="$GUIPATH/tux.png" \
|
|
|
+ --title="$TITLE" \
|
|
|
+ --text "Please choose the output format" \
|
|
|
+ --list \
|
|
|
+ --radiolist \
|
|
|
+ --hide-header \
|
|
|
+ --column "Radio buttons" \
|
|
|
+ --column="Output file format" \
|
|
|
+ --column="Output file format (extension)" \
|
|
|
+ --hide-column=3 \
|
|
|
+ --print-column=3 \
|
|
|
+ TRUE PNG png FALSE JPEG jpg 2> /dev/null
|
|
|
+}
|
|
|
zenend() {
|
|
|
zenity --window-icon="$GUIPATH/tux.png" \
|
|
|
--title="$TITLE" \
|
|
@@ -54,7 +68,7 @@ zenend() {
|
|
|
--cancel-label="Restart" \
|
|
|
--ok-label="Exit" \
|
|
|
2> /dev/null
|
|
|
-
|
|
|
+
|
|
|
rm -f "$HTML"
|
|
|
}
|
|
|
zenjob() {
|
|
@@ -91,52 +105,59 @@ then
|
|
|
if [ "$ZENDIR" -eq 0 ]
|
|
|
then
|
|
|
cd $DIR;
|
|
|
-
|
|
|
- cat "$GUIPATH/top.tpl" > $HTML
|
|
|
- echo "<h2>Thank you for using "$TITLE".</h2>" >> $HTML
|
|
|
- (
|
|
|
- P=0
|
|
|
- for F in *;
|
|
|
- do
|
|
|
- identify -quiet "$F" &> /dev/null
|
|
|
- if [ "$?" -eq 0 ]
|
|
|
- then
|
|
|
- N=$(md5sum "$F" | awk '{print $1}')
|
|
|
- N="$N.anon.png"
|
|
|
-
|
|
|
- OLDTYPE=$(file "$F" | cut -d':' -f2)
|
|
|
- OLDTYPE=$(echo $OLDTYPE | sed 's/ *$//g')
|
|
|
- if [ ${#OLDTYPE} -gt 64 ]
|
|
|
+ OUTFF=$(zenchoutff)
|
|
|
+ if [ "$OUTFF" != "" ]; then
|
|
|
+ cat "$GUIPATH/top.tpl" > $HTML
|
|
|
+ echo "<h2>Thank you for using "$TITLE".</h2>" >> $HTML
|
|
|
+ (
|
|
|
+ P=0
|
|
|
+ for F in *;
|
|
|
+ do
|
|
|
+ identify -quiet "$F" &> /dev/null
|
|
|
+ if [ "$?" -eq 0 ]
|
|
|
then
|
|
|
- OLDTYPE="${OLDTYPE:0:61}..."
|
|
|
- fi
|
|
|
-
|
|
|
- # This is the important part of the script!
|
|
|
- convert "$F" "$N" &> /dev/null
|
|
|
- exiftool -overwrite_original -q -all= "$N" &> /dev/null
|
|
|
- optipng --silent "$N" &> /dev/null
|
|
|
-
|
|
|
- OLDSIZE=$(ls -lah "$F" | awk '{print $5}')
|
|
|
- NEWSIZE=$(ls -lah "$N" | awk '{print $5}')
|
|
|
-
|
|
|
- OLDNAME="$F"
|
|
|
- if [ ${#OLDNAME} -gt 24 ]
|
|
|
- then
|
|
|
- OLDNAME="${OLDNAME:0:21}..."
|
|
|
- fi
|
|
|
-
|
|
|
- P=$(($P + 10))
|
|
|
- echo "$P"
|
|
|
- echo "# $OLDNAME ($OLDSIZE) $OLDTYPE"
|
|
|
- echo "<p>← <b>$F</b> ($OLDSIZE)<br> • $OLDTYPE<br>→ <b>$N</b> ($NEWSIZE)" >> $HTML
|
|
|
- fi
|
|
|
- done
|
|
|
- echo "100"
|
|
|
- echo "# Thats' all folks!"
|
|
|
- ) | zenjob
|
|
|
-
|
|
|
- if [ "$?" -eq 1 ]
|
|
|
- then zenexit
|
|
|
+
|
|
|
+ OTYPE=$(file -b --mime-type "$F" | sed -e "s/^[^/]*\///")
|
|
|
+
|
|
|
+ N=$(md5sum "$F" | awk '{print $1}')
|
|
|
+ N="$N.anon.$OUTFF"
|
|
|
+
|
|
|
+ OLDTYPE=$(file "$F" | cut -d':' -f2)
|
|
|
+ OLDTYPE=$(echo $OLDTYPE | sed 's/ *$//g')
|
|
|
+ if [ ${#OLDTYPE} -gt 64 ]
|
|
|
+ then
|
|
|
+ OLDTYPE="${OLDTYPE:0:61}..."
|
|
|
+ fi
|
|
|
+
|
|
|
+ # This is the important part of the script!
|
|
|
+ [ "$OTYPE" != "$OUTFF" ] && convert "$F" "$N" &> /dev/null || cp "$F" "$N" &> /dev/null
|
|
|
+ exiftool -overwrite_original -q -all= "$N" &> /dev/null
|
|
|
+ [ "$OTYPE" == "png" ] && optipng --silent "$N" &> /dev/null
|
|
|
+
|
|
|
+ OLDSIZE=$(ls -lah "$F" | awk '{print $5}')
|
|
|
+ NEWSIZE=$(ls -lah "$N" | awk '{print $5}')
|
|
|
+
|
|
|
+ OLDNAME="$F"
|
|
|
+ if [ ${#OLDNAME} -gt 24 ]
|
|
|
+ then
|
|
|
+ OLDNAME="${OLDNAME:0:21}..."
|
|
|
+ fi
|
|
|
+
|
|
|
+ P=$(($P + 10))
|
|
|
+ echo "$P"
|
|
|
+ echo "# $OLDNAME ($OLDSIZE) $OLDTYPE"
|
|
|
+ echo "<p>← <b>$F</b> ($OLDSIZE)<br> • $OLDTYPE<br>→ <b>$N</b> ($NEWSIZE)" >> $HTML
|
|
|
+ fi
|
|
|
+ done
|
|
|
+ echo "100"
|
|
|
+ echo "# Thats' all folks!"
|
|
|
+ ) | zenjob
|
|
|
+
|
|
|
+ if [ "$?" -eq 1 ]
|
|
|
+ then zenexit
|
|
|
+ fi
|
|
|
+ else
|
|
|
+ zenexit
|
|
|
fi
|
|
|
fi
|
|
|
if [ "$ZENDIR" -eq 1 ]
|
|
@@ -149,7 +170,7 @@ then
|
|
|
then exit
|
|
|
fi
|
|
|
if [ "$ZENEND" -eq 0 ]
|
|
|
- then
|
|
|
+ then
|
|
|
cd "$GUIPATH"
|
|
|
exec ../$(basename $0) && exit
|
|
|
fi
|