Skip to content

Commit a3e5909

Browse files
committed
Merge branch 'develop'
2 parents 876c110 + 818b5c9 commit a3e5909

File tree

2 files changed

+41
-8
lines changed

2 files changed

+41
-8
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# zImageOptimizer [![Version](https://img.shields.io/badge/version-v0.9.7-orange.svg)](https://github.com/zevilz/zImageOptimizer/releases/tag/0.9.7) [![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://www.paypal.me/zevilz)
1+
# zImageOptimizer [![Version](https://img.shields.io/badge/version-v0.9.8-orange.svg)](https://github.com/zevilz/zImageOptimizer/releases/tag/0.9.8) [![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://www.paypal.me/zevilz)
22

33
Simple bash script for lossless image optimizing JPEG, PNG and GIF images in a specified directory include subdirectories on Linux, MacOS and FreeBSD.
44

@@ -410,6 +410,7 @@ Do you like the script? Would you like to support its development? Feel free to
410410
[![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://www.paypal.me/zevilz)
411411

412412
## Changelog
413+
- 02.05.2019 - 0.9.8 - [changed logic of time marker, bugfix](https://github.com/zevilz/zImageOptimizer/releases/tag/0.9.8)
413414
- 29.04.2019 - 0.9.7 - improved support for extensions, added new hooks and [more](https://github.com/zevilz/zImageOptimizer/releases/tag/0.9.7)
414415
- 20.04.2019 - 0.9.6 - added support for extensions, added lock file and [more](https://github.com/zevilz/zImageOptimizer/releases/tag/0.9.6)
415416
- 06.02.2019 - 0.9.5 - fixed quality in cjpeg/djpeg compression

zImageOptimizer.sh

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# URL: https://github.com/zevilz/zImageOptimizer
44
# Author: Alexandr "zEvilz" Emshanov
55
# License: MIT
6-
# Version: 0.9.7
6+
# Version: 0.9.8
77

88
sayWait()
99
{
@@ -608,14 +608,37 @@ checkTimeMarkerPermissions()
608608
updateTimeMarker()
609609
{
610610
if [ $NEW_ONLY -eq 1 ]; then
611-
sleep 1
612611
touch -m "$TIME_MARKER_FULL_PATH" > /dev/null
613-
echo
614612
if [ $TIME_MARKER_ISSET -eq 1 ]; then
615613
echo "Time marker updated."
616614
else
617615
echo "Time marker created."
618616
fi
617+
echo
618+
fi
619+
}
620+
621+
fixTimeMarker()
622+
{
623+
if [[ "$OSTYPE" == "darwin"* ]]; then
624+
TIME_MARKER_MODIFIED_TIME=$(stat -t %s -f %m -- "$TIME_MARKER_FULL_PATH")
625+
else
626+
TIME_MARKER_MODIFIED_TIME=$(date -r "$TIME_MARKER_FULL_PATH" +%s)
627+
fi
628+
629+
TIME_MARKER_MODIFIED_TIME=$(echo "$TIME_MARKER_MODIFIED_TIME+1" | bc)
630+
631+
if date --version >/dev/null 2>/dev/null ; then
632+
touch -t $(date '+%Y%m%d%H%M.%S' -d @$TIME_MARKER_MODIFIED_TIME) "$TIME_MARKER_FULL_PATH" > /dev/null # GNU version of date
633+
else
634+
touch -t $(date -r $TIME_MARKER_MODIFIED_TIME +%Y%m%d%H%M.%S) "$TIME_MARKER_FULL_PATH" > /dev/null # Non GNU version of date
635+
fi
636+
}
637+
638+
updateModifyTime()
639+
{
640+
if [ $NEW_ONLY -eq 1 ]; then
641+
touch "$IMAGE" -r "$TIME_MARKER_FULL_PATH" > /dev/null
619642
fi
620643
}
621644

@@ -1453,6 +1476,9 @@ else
14531476
fi
14541477
fi
14551478

1479+
# Return to script dir to prevent find errors
1480+
cd "$SCRIPT_PATH"
1481+
14561482
# Find images
14571483
IMAGES=$(find "$DIR_PATH" $FIND_INCLUDE \( $FIND_NAMES \) | findExclude)
14581484

@@ -1473,11 +1499,14 @@ if ! [ -z "$IMAGES" ]; then
14731499
# Check isset working dir in lock file
14741500
checkDirLock
14751501

1476-
echo "Optimizing..."
1477-
14781502
# Lock working dir in lock file
14791503
lockDir
14801504

1505+
# Update time marker
1506+
updateTimeMarker
1507+
1508+
echo "Optimizing..."
1509+
14811510
# Init stat vars
14821511
INPUT=0
14831512
OUTPUT=0
@@ -1602,6 +1631,9 @@ if ! [ -z "$IMAGES" ]; then
16021631
# Restore permissions
16031632
restorePerms
16041633

1634+
# Update modify time from time marker
1635+
updateModifyTime
1636+
16051637
# Remove original file
16061638
rm "$TMP_PATH/$(basename "$IMAGE").bkp"
16071639

@@ -1667,8 +1699,8 @@ if ! [ -z "$IMAGES" ]; then
16671699

16681700
) # End of loop process. Further variable variables inside loop will not be available
16691701

1670-
# Update time marker
1671-
updateTimeMarker
1702+
# Time marker fix
1703+
fixTimeMarker
16721704

16731705
# Unlock working dir in lock file
16741706
unlockDir

0 commit comments

Comments
 (0)