File: shrinkpix/examples/example3-collect-unshrunk-images.txt

########################################################################################################
# Basic use, with all "factory" settings ($C is your code/install folder, py3==python3)
########################################################################################################


# Starting tree state (see _README.txt for diffall)
~/Desktop$ py3 $C/mergeall/diffall.py examples/subfolders/ examples_start/subfolders/ -skipcruft | tail -n 6
================================================================================
Runtime hrs:mins:secs = 0:0:0.02
Dirs checked 12, Files checked: 49, Files skipped: 0
System metadata (cruft) files were skipped
No diffs found.
End of report.

~/Desktop$ find examples/subfolders/ -name _shrinkpix-originals -print
~/Desktop$


#
# Shrink all images in a nested-folder tree
#

# List large images
~/Desktop$ py3 $C/shrinkpix/shrinkpix.py examples/subfolders -listonly
/Users/blue/Desktop/examples/subfolders/2000-newmarket-1.jpg [1120748 bytes, not changed]
/Users/blue/Desktop/examples/subfolders/2002-barcelona-2.jpg [883737 bytes, not changed]
/Users/blue/Desktop/examples/subfolders/2006-chicago-2.JPG [702716 bytes, not changed]
/Users/blue/Desktop/examples/subfolders/2015-florida.JPG [1692084 bytes, not changed]
/Users/blue/Desktop/examples/subfolders/2015-seattle.JPG [1572370 bytes, not changed]
/Users/blue/Desktop/examples/subfolders/Subfolder1/2000-newmarket-1.jpg [1120748 bytes, not changed]
/Users/blue/Desktop/examples/subfolders/Subfolder1/2002-barcelona-2.jpg [883737 bytes, not changed]
/Users/blue/Desktop/examples/subfolders/Subfolder1/SubSubfolder/2002-barcelona-2.jpg [883737 bytes, not changed]
/Users/blue/Desktop/examples/subfolders/Subfolder2/2006-chicago-2.JPG [702716 bytes, not changed]
/Users/blue/Desktop/examples/subfolders/Subfolder2/rawsubfolder/2000-newmarket-1.jpg [1120748 bytes, not changed]
/Users/blue/Desktop/examples/subfolders/Subfolder2/rawsubfolder/2002-barcelona-2.jpg [883737 bytes, not changed]
/Users/blue/Desktop/examples/subfolders/Subfolder3/2015-florida.JPG [1692084 bytes, not changed]
/Users/blue/Desktop/examples/subfolders/Subfolder3/2015-seattle.JPG [1572370 bytes, not changed]
Done: 24 files, 15 images, 13 large images


# Shrink large images
~/Desktop$ py3 $C/shrinkpix/shrinkpix.py examples/subfolders
This script shrinks images in place, after saving originals; continue? y
/Users/blue/Desktop/examples/subfolders/2000-newmarket-1.jpg
    Old size: 1120748 bytes
    [optimize]
    New size: 484003 bytes
/Users/blue/Desktop/examples/subfolders/2002-barcelona-2.jpg
    Old size: 883737 bytes
    [optimize]
    New size: 349506 bytes
/Users/blue/Desktop/examples/subfolders/2006-chicago-2.JPG
    Old size: 702716 bytes
    [optimize]
    New size: 264567 bytes
/Users/blue/Desktop/examples/subfolders/2015-florida.JPG
    Old size: 1692084 bytes
    [optimize+quality+resize]
    [resized at 0.60]
    New size: 374958 bytes
/Users/blue/Desktop/examples/subfolders/2015-seattle.JPG
    Old size: 1572370 bytes
    [optimize]
    New size: 449090 bytes
/Users/blue/Desktop/examples/subfolders/Subfolder1/2000-newmarket-1.jpg
    Old size: 1120748 bytes
    [optimize]
    New size: 484003 bytes
/Users/blue/Desktop/examples/subfolders/Subfolder1/2002-barcelona-2.jpg
    Old size: 883737 bytes
    [optimize]
    New size: 349506 bytes
/Users/blue/Desktop/examples/subfolders/Subfolder1/SubSubfolder/2002-barcelona-2.jpg
    Old size: 883737 bytes
    [optimize]
    New size: 349506 bytes
/Users/blue/Desktop/examples/subfolders/Subfolder2/2006-chicago-2.JPG
    Old size: 702716 bytes
    [optimize]
    New size: 264567 bytes
/Users/blue/Desktop/examples/subfolders/Subfolder2/rawsubfolder/2000-newmarket-1.jpg
    Old size: 1120748 bytes
    [optimize]
    New size: 484003 bytes
/Users/blue/Desktop/examples/subfolders/Subfolder2/rawsubfolder/2002-barcelona-2.jpg
    Old size: 883737 bytes
    [optimize]
    New size: 349506 bytes
/Users/blue/Desktop/examples/subfolders/Subfolder3/2015-florida.JPG
    Old size: 1692084 bytes
    [optimize+quality+resize]
    [resized at 0.60]
    New size: 374958 bytes
/Users/blue/Desktop/examples/subfolders/Subfolder3/2015-seattle.JPG
    Old size: 1572370 bytes
    [optimize]
    New size: 449090 bytes
Done: 24 files, 15 images, 13 large images


# Where shrinkpix saves originals
~/Desktop$ find examples/subfolders -name _shrinkpix-originals -print
examples/subfolders/_shrinkpix-originals
examples/subfolders/Subfolder1/_shrinkpix-originals
examples/subfolders/Subfolder1/SubSubfolder/_shrinkpix-originals
examples/subfolders/Subfolder2/_shrinkpix-originals
examples/subfolders/Subfolder2/rawsubfolder/_shrinkpix-originals
examples/subfolders/Subfolder3/_shrinkpix-originals


#
# Collect all backup folders in a nested-folder tree, in the root's _shrinkpix-all-originals/
#

# List backup folders
~/Desktop$ py3 $C/shrinkpix/collect-unshrunk-images.py examples/subfolders -listonly
Collecting /Users/blue/Desktop/examples/subfolders/_shrinkpix-originals 
      into /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/
Collecting /Users/blue/Desktop/examples/subfolders/Subfolder1/_shrinkpix-originals 
      into /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder1
Collecting /Users/blue/Desktop/examples/subfolders/Subfolder1/SubSubfolder/_shrinkpix-originals 
      into /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder1/SubSubfolder
Collecting /Users/blue/Desktop/examples/subfolders/Subfolder2/_shrinkpix-originals 
      into /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder2
Collecting /Users/blue/Desktop/examples/subfolders/Subfolder2/rawsubfolder/_shrinkpix-originals 
      into /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder2/rawsubfolder
Collecting /Users/blue/Desktop/examples/subfolders/Subfolder3/_shrinkpix-originals 
      into /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder3
Finished: number subfolders moved: 0


# Collect backup folders to tree root folder
~/Desktop$ py3 $C/shrinkpix/collect-unshrunk-images.py examples/subfolders
This script collects and removes saved original images; proceed? y
Collecting /Users/blue/Desktop/examples/subfolders/_shrinkpix-originals 
      into /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/
Collecting /Users/blue/Desktop/examples/subfolders/Subfolder1/_shrinkpix-originals 
      into /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder1
Collecting /Users/blue/Desktop/examples/subfolders/Subfolder1/SubSubfolder/_shrinkpix-originals 
      into /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder1/SubSubfolder
Collecting /Users/blue/Desktop/examples/subfolders/Subfolder2/_shrinkpix-originals 
      into /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder2
Collecting /Users/blue/Desktop/examples/subfolders/Subfolder2/rawsubfolder/_shrinkpix-originals 
      into /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder2/rawsubfolder
Collecting /Users/blue/Desktop/examples/subfolders/Subfolder3/_shrinkpix-originals 
      into /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder3
Finished: number subfolders moved: 6


# Originals all in a root (by default) folder now, at root-relative paths
~/Desktop$ find examples/subfolders -name _shrinkpix-originals -print
examples/subfolders/_shrinkpix-all-originals/_shrinkpix-originals
examples/subfolders/_shrinkpix-all-originals/Subfolder1/_shrinkpix-originals
examples/subfolders/_shrinkpix-all-originals/Subfolder1/SubSubfolder/_shrinkpix-originals
examples/subfolders/_shrinkpix-all-originals/Subfolder2/_shrinkpix-originals
examples/subfolders/_shrinkpix-all-originals/Subfolder2/rawsubfolder/_shrinkpix-originals
examples/subfolders/_shrinkpix-all-originals/Subfolder3/_shrinkpix-originals


# Collection folder contents
~/Desktop$ ls examples/subfolders/_shrinkpix-all-originals/
Subfolder1   Subfolder2   Subfolder3   _shrinkpix-originals

~/Desktop$ ls examples/subfolders/_shrinkpix-all-originals/Subfolder1
SubSubfolder   _shrinkpix-originals

~/Desktop$ ls examples/subfolders/_shrinkpix-all-originals/Subfolder1/_shrinkpix-originals/
2000-newmarket-1.jpg   2002-barcelona-2.jpg


# Nothing left in tree to restore
~/Desktop$ py3 $C/shrinkpix/restore-unshrunk-images.py examples/subfolders -listonly
Finished: 0 originals, 0 restored, 0 lingering folders.

# Or collect
~/Desktop$ py3 $C/shrinkpix/collect-unshrunk-images.py examples/subfolders -listonly
Finished: number subfolders moved: 0



########################################################################################################
# Restore in collections folder itself and merge back to root => restores originals from collections
########################################################################################################


# 
# Collapse/remove backup-folder levels (continuing from prior example)
#

~/Desktop$ py3 $C/shrinkpix/restore-unshrunk-images.py examples/subfolders/_shrinkpix-all-originals/
This script restores all original images in the folder tree; proceed? y
Restoring /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/2000-newmarket-1.jpg
     from /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/_shrinkpix-originals/2000-newmarket-1.jpg
Restoring /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/2002-barcelona-2.jpg
     from /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/_shrinkpix-originals/2002-barcelona-2.jpg
Restoring /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/2006-chicago-2.JPG
     from /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/_shrinkpix-originals/2006-chicago-2.JPG
Restoring /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/2015-florida.JPG
     from /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/_shrinkpix-originals/2015-florida.JPG
Restoring /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/2015-seattle.JPG
     from /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/_shrinkpix-originals/2015-seattle.JPG
Restoring /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder1/2000-newmarket-1.jpg
     from /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder1/_shrinkpix-originals/2000-newmarket-1.jpg
Restoring /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder1/2002-barcelona-2.jpg
     from /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder1/_shrinkpix-originals/2002-barcelona-2.jpg
Restoring /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder1/SubSubfolder/2002-barcelona-2.jpg
     from /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder1/SubSubfolder/_shrinkpix-originals/2002-barcelona-2.jpg
Restoring /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder2/2006-chicago-2.JPG
     from /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder2/_shrinkpix-originals/2006-chicago-2.JPG
Restoring /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder2/rawsubfolder/2000-newmarket-1.jpg
     from /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder2/rawsubfolder/_shrinkpix-originals/2000-newmarket-1.jpg
Restoring /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder2/rawsubfolder/2002-barcelona-2.jpg
     from /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder2/rawsubfolder/_shrinkpix-originals/2002-barcelona-2.jpg
Restoring /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder3/2015-florida.JPG
     from /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder3/_shrinkpix-originals/2015-florida.JPG
Restoring /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder3/2015-seattle.JPG
     from /Users/blue/Desktop/examples/subfolders/_shrinkpix-all-originals/Subfolder3/_shrinkpix-originals/2015-seattle.JPG
Finished: 13 originals, 13 restored, 0 lingering folders.


# Backup folders gone, and images to '..'
~/Desktop$ find examples/subfolders/ -name _shrinkpix-originals -print
~/Desktop$

~/Desktop$ ls examples/subfolders/_shrinkpix-all-originals/
2000-newmarket-1.jpg   2006-chicago-2.JPG   2015-seattle.JPG   Subfolder2
2002-barcelona-2.jpg   2015-florida.JPG     Subfolder1         Subfolder3

~/Desktop$ ls examples/subfolders/_shrinkpix-all-originals/Subfolder1
2000-newmarket-1.jpg   2002-barcelona-2.jpg   SubSubfolder


# 
# Merge back to root (trailing slashes matter in source, only)
#

~/Desktop$ rsync -avh examples/subfolders/_shrinkpix-all-originals/ examples/subfolders/
building file list ... done
./
2000-newmarket-1.jpg
2002-barcelona-2.jpg
2006-chicago-2.JPG
2015-florida.JPG
2015-seattle.JPG
Subfolder1/
Subfolder1/2000-newmarket-1.jpg
Subfolder1/2002-barcelona-2.jpg
Subfolder1/SubSubfolder/
Subfolder1/SubSubfolder/2002-barcelona-2.jpg
Subfolder2/
Subfolder2/2006-chicago-2.JPG
Subfolder2/rawsubfolder/
Subfolder2/rawsubfolder/2000-newmarket-1.jpg
Subfolder2/rawsubfolder/2002-barcelona-2.jpg
Subfolder3/
Subfolder3/2015-florida.JPG
Subfolder3/2015-seattle.JPG

sent 14.83M bytes  received 342 bytes  29.67M bytes/sec
total size is 14.83M  speedup is 1.00


# 
# Verify: the only diff left is the all-backups folder
#

~/Desktop$ py3 $C/mergeall/diffall.py examples/subfolders/ examples_start/subfolders/ -skipcruft | tail -n 6
Runtime hrs:mins:secs = 0:0:0.04
Dirs checked 12, Files checked: 49, Files skipped: 0
System metadata (cruft) files were skipped
Diffs found: 1
- items UNIQUE at [examples/subfolders/] - [examples_start/subfolders/]
End of report.


# Not removed automatically - it's your backups
~/Desktop$ py3 $C/mergeall/diffall.py examples/subfolders/ examples_start/subfolders/ -skipcruft | grep --context '*UNIQUE'
--------------------
Comparing examples/subfolders/ to examples_start/subfolders/
*UNIQUE items in examples/subfolders/:
... _shrinkpix-all-originals
Comparing contents


# Manually move or remove backups tree to start backups from scratch, and avoid duplicates and images/folder mixes
~/Desktop$ rm -rf examples/subfolders/_shrinkpix-all-originals/


# After removing the all-backups folder, the root is back to its pre-shrink state (if you want it to be)
~/Desktop$ py3 $C/mergeall/diffall.py examples/subfolders/ examples_start/subfolders/ -skipcruft | tail -n 6
================================================================================
Runtime hrs:mins:secs = 0:0:0.02
Dirs checked 12, Files checked: 49, Files skipped: 0
System metadata (cruft) files were skipped
No diffs found.
End of report.


#
# Next: see the 'part2' example file for additional and more advanced collector use cases 
#



[Home page] Books Code Blog Python Author Train Find ©M.Lutz