File: ziptools/ziptools/docetc/illegal-mangles-demo-1.3.txt
""" ******************************************************************************** Demo unzips of filenames with nonportable characters on Windows 10, both with auto-mangling enabled, and with it disabled by -nomangle. This contains two demos: one basic and one with symlinks. It also demos he Mergeall -restore mode's related mangling for __added__.txt. ******************************************************************************** """ #=============================================================================== # Run with mangling - all illegal filenames are mangled, saved, and reported #=============================================================================== C:\Users\me\Desktop\temp>py -3 ziptools\zip-extract.py test-restore-mangle.zip . -permissions Unzipping from test-restore-mangle.zip to . Extracted test-restore-mangle/ Extracted test-restore-mangle/DELTAS/ Extracted test-restore-mangle/DELTAS/__added__.txt Extracted test-restore-mangle/TO/ Extracted test-restore-mangle/TO/keep-top/ Extracted test-restore-mangle/TO/okay.txt --Name mangled: from... test-restore-mangle/TO/nest?bad/ to..... test-restore-mangle/TO/nest_bad/ Extracted test-restore-mangle/TO/nest_bad/ --Name mangled: from... test-restore-mangle/TO/nest?bad/okay.txt to..... test-restore-mangle/TO/nest_bad/okay.txt Extracted test-restore-mangle/TO/nest_bad/okay.txt --Name mangled: from... test-restore-mangle/TO/nest?bad/bad?.txt to..... test-restore-mangle/TO/nest_bad/bad_.txt Extracted test-restore-mangle/TO/nest_bad/bad_.txt --Name mangled: from... test-restore-mangle/TO/nest?bad/keep-nest.txt to..... test-restore-mangle/TO/nest_bad/keep-nest.txt Extracted test-restore-mangle/TO/nest_bad/keep-nest.txt Extracted test-restore-mangle/TO/keep-top.txt --Name mangled: from... test-restore-mangle/TO/nest<nuke/ to..... test-restore-mangle/TO/nest_nuke/ Extracted test-restore-mangle/TO/nest_nuke/ --Name mangled: from... test-restore-mangle/TO/nest<nuke/okay.txt to..... test-restore-mangle/TO/nest_nuke/okay.txt Extracted test-restore-mangle/TO/nest_nuke/okay.txt --Name mangled: from... test-restore-mangle/TO/bad|.txt to..... test-restore-mangle/TO/bad_.txt Extracted test-restore-mangle/TO/bad_.txt Extracted test-restore-mangle/TO/nest/ Extracted test-restore-mangle/TO/nest/okay.txt --Name mangled: from... test-restore-mangle/TO/nest/bad|.txt to..... test-restore-mangle/TO/nest/bad_.txt Extracted test-restore-mangle/TO/nest/bad_.txt Extracted test-restore-mangle/TO/nest/keep-nest.txt Extract finished: files=11, folders=7, symlinks=0, unknowns=0, mangled=8. #=============================================================================== # Run without mangling - all illegal filenames fail and are skipped and reported #=============================================================================== C:\Users\me\Desktop\temp>py -3 ziptools\zip-extract.py test-restore-mangle.zip . -permissions -nomangle Unzipping from test-restore-mangle.zip to . Extracted test-restore-mangle/ Extracted test-restore-mangle/DELTAS/ Extracted test-restore-mangle/DELTAS/__added__.txt Extracted test-restore-mangle/TO/ Extracted test-restore-mangle/TO/keep-top/ Extracted test-restore-mangle/TO/okay.txt **SKIP - item failed and skipped: test-restore-mangle/TO/nest?bad/ Python exception: OSError, [WinError 123] The filename, directory name, or volume label syntax is incorrect: '\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-restore-mangle\\TO\\nest?bad' **SKIP - item failed and skipped: test-restore-mangle/TO/nest?bad/okay.txt Python exception: OSError, [WinError 123] The filename, directory name, or volume label syntax is incorrect: '\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-restore-mangle\\TO\\nest?bad' **SKIP - item failed and skipped: test-restore-mangle/TO/nest?bad/bad?.txt Python exception: OSError, [WinError 123] The filename, directory name, or volume label syntax is incorrect: '\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-restore-mangle\\TO\\nest?bad' **SKIP - item failed and skipped: test-restore-mangle/TO/nest?bad/keep-nest.txt Python exception: OSError, [WinError 123] The filename, directory name, or volume label syntax is incorrect: '\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-restore-mangle\\TO\\nest?bad' Extracted test-restore-mangle/TO/keep-top.txt **SKIP - item failed and skipped: test-restore-mangle/TO/nest<nuke/ Python exception: OSError, [WinError 123] The filename, directory name, or volume label syntax is incorrect: '\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-restore-mangle\\TO\\nest<nuke' **SKIP - item failed and skipped: test-restore-mangle/TO/nest<nuke/okay.txt Python exception: OSError, [WinError 123] The filename, directory name, or volume label syntax is incorrect: '\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-restore-mangle\\TO\\nest<nuke' **SKIP - item failed and skipped: test-restore-mangle/TO/bad|.txt Python exception: OSError, [Errno 22] Invalid argument: '\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-restore-mangle\\TO\\bad|.txt' Extracted test-restore-mangle/TO/nest/ Extracted test-restore-mangle/TO/nest/okay.txt **SKIP - item failed and skipped: test-restore-mangle/TO/nest/bad|.txt Python exception: OSError, [Errno 22] Invalid argument: '\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-restore-mangle\\TO\\nest\\bad|.txt' Extracted test-restore-mangle/TO/nest/keep-nest.txt Extract finished: files=5, folders=5, symlinks=0, unknowns=0, skipped=8. #=============================================================================== # Demo related mangling in Mergeall's -restore mode for __added__.txt removals #=============================================================================== C:\Users\me\Desktop\temp\test-restore-mangle>py -3 ..\mergeall\mergeall.py DELTAS TO -restore -auto -backup -quiet -skipcruft Starting. ------------------------------------------------------------------------------- *Collecting tree differences Skipping system cruft (metadata) files in both FROM and TO comparing [DELTAS] [TO] excluding DELTAS\__added__.txt Phase runtime: 0.016551099999999985 ------------------------------------------------------------------------------- *Reporting tree differences ------------------------------------------------------------------------------- SAMEFILE DIFFERENCES: (name, dirfrom, dirto, why) **These items will be replaced in dirto by automatic resolution** [] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRTO: (names, dirfrom, dirto) **These items will be deleted from dirto by automatic resolution** [(['bad_.txt', 'keep-top', 'keep-top.txt', 'nest', 'nest_bad', 'nest_nuke', 'okay.txt'], 'DELTAS', 'TO')] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRFROM: (names, dirfrom, dirto) **These items will be copied over to dirto by automatic resolution** [] ------------------------------------------------------------------------------- MIXED MODE NAMES: (name, dirfrom, dirto) **These items will be replaced in dirto by automatic resolution** [] ------------------------------------------------------------------------------- *Resolving tree differences Skipping system cruft (metadata) files in FROM folders ....backing up all items to TO\__bkp__\date210916-time165502 ....removed added file: TO\okay.txt ....--Name mangled: "TO\bad|.txt" => "TO\bad_.txt" ....removed added file: TO\bad_.txt ....removed added file: TO\nest\okay.txt ....--Name mangled: "TO\nest\bad|.txt" => "TO\nest\bad_.txt" ....removed added file: TO\nest\bad_.txt ....--Name mangled: "TO\nest?bad\okay.txt" => "TO\nest_bad\okay.txt" ....removed added file: TO\nest_bad\okay.txt ....--Name mangled: "TO\nest?bad\bad?.txt" => "TO\nest_bad\bad_.txt" ....removed added file: TO\nest_bad\bad_.txt ....--Name mangled: "TO\nest<nuke" => "TO\nest_nuke" ....removed added dir: TO\nest_nuke ....prior file/dir additions removed: 6/1 ....retaining all common TO items Phase runtime: 0.13460280000000002 ------------------------------------------------------------------------------- *Summary Compared => files: 0, folders: 1, symlinks: 0 Differences => samefile: 0, uniqueto: 7, uniquefrom: 0, mixedmode: 0 Changed: files => created: 0, deleted: 6, replaced: 0 folders => created: 0, deleted: 1, replaced: 0 ------------------------------------------------------------------------------- Finished. """ ******************************************************************************** An additional mangle/nomangle demo with more-realistic content and symlinks. Nonportable symlinks names were formerly unmangled and failed on Windows; they're now mangled by default for saves along with files and folder. ******************************************************************************** """ #=============================================================================== # Run with mangling - all illegal filenames are mangled, saved, and reported #=============================================================================== C:\Users\me\Desktop\temp>py -3 ziptools\zip-extract.py test-mangles-win.zip . Unzipping from test-mangles-win.zip to . Extracted test-mangles-win/ --Name mangled: from... test-mangles-win/| < > ? * : " ^ to..... test-mangles-win/_ _ _ _ _ _ _ ^ Extracted test-mangles-win/_ _ _ _ _ _ _ ^ --Name mangled: from... test-mangles-win/White House sees supply chain-related price pressures abating, can't say exactly when | Reuters.html to..... test-mangles-win/White House sees supply chain-related price pressures abating, can't say exactly when _ Reuters.html Extracted test-mangles-win/White House sees supply chain-related price pressures abating, can't say exactly when _ Reuters.html Extracted test-mangles-win/z-fold-3/ Extracted test-mangles-win/z-fold-3/Samsung Galaxy Z Fold 3 announced with S Pen support and water resistance - The Verge.html ... ...more cut ... Extracted test-mangles-win/Directive To Wear Face Coverings _ County, WA - Official Website_files/-1138373007.js --Name mangled: from... test-mangles-win/Directive To Wear Face Coverings | County, WA - Official Website_files/rhPtC5RGwF0.html to..... test-mangles-win/Directive To Wear Face Coverings _ County, WA - Official Website_files/rhPtC5RGwF0.html Extracted test-mangles-win/Directive To Wear Face Coverings _ County, WA - Official Website_files/rhPtC5RGwF0.html --Name mangled: from... test-mangles-win/Directive To Wear Face Coverings | County, WA - Official Website_files/jquery.js to..... test-mangles-win/Directive To Wear Face Coverings _ County, WA - Official Website_files/jquery.js Extracted test-mangles-win/Directive To Wear Face Coverings _ County, WA - Official Website_files/jquery.js --Name mangled: from... test-mangles-win/Directive To Wear Face Coverings | County, WA - Official Website_files/jquery-1.js to..... test-mangles-win/Directive To Wear Face Coverings _ County, WA - Official Website_files/jquery-1.js Extracted test-mangles-win/Directive To Wear Face Coverings _ County, WA - Official Website_files/jquery-1.js (Link) --Symlink not supported: stub file made Extracted test-mangles-win/okaylink Extracted test-mangles-win/okaylink-nested/ (Link) --Symlink not supported: stub file made Extracted test-mangles-win/okaylink-nested/okaylink --Name mangled: from... test-mangles-win/not<okay?link-nested/ to..... test-mangles-win/not_okay_link-nested/ Extracted test-mangles-win/not_okay_link-nested/ (Link) --Name mangled: from... test-mangles-win/not<okay?link-nested/not<okay?link to..... test-mangles-win/not_okay_link-nested/not_okay_link --Symlink not supported: stub file made Extracted test-mangles-win/not_okay_link-nested/not_okay_link Extracted test-mangles-win/z-fold-3.txt Extract finished: files=397, folders=11, symlinks=0, unknowns=0, mangled=398. #=============================================================================== # Run without mangling - all illegal filenames fail and are skipped and reported #=============================================================================== C:\Users\me\Desktop\temp>py -3 ziptools\zip-extract.py test-mangles-win.zip . -nomangle Unzipping from test-mangles-win.zip to . Extracted test-mangles-win/ **SKIP - item failed and skipped: test-mangles-win/| < > ? * : " ^ Python exception: OSError, [Errno 22] Invalid argument: '\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-mangles-win\\| < > ? * : " ^' **SKIP - item failed and skipped: test-mangles-win/White House sees supply chain-related price pressures abating, can't say exactly when | Reuters.html Python exception: OSError, [Errno 22] Invalid argument: "\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-mangles-win\\White House sees supply chain-related price pressures abating, can't say exactly when | Reuters.html" Extracted test-mangles-win/z-fold-3/ Extracted test-mangles-win/z-fold-3/Samsung Galaxy Z Fold 3 announced with S Pen support and water resistance - The Verge.html **SKIP - item failed and skipped: test-mangles-win/z-fold-3/Samsung Galaxy Z Fold 3 News, Leaks, Release, Specs, and Rumors! | And ... ...more cut ... **SKIP - item failed and skipped: test-mangles-win/Directive To Wear Face Coverings | County, WA - Official Website_files/rhPtC5RGwF0.html Python exception: OSError, [WinError 123] The filename, directory name, or volume label syntax is incorrect: '\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-mangles-win\\Directive To Wear Face Coverings | County, WA - Official Website_files' **SKIP - item failed and skipped: test-mangles-win/Directive To Wear Face Coverings | County, WA - Official Website_files/jquery.js Python exception: OSError, [WinError 123] The filename, directory name, or volume label syntax is incorrect: '\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-mangles-win\\Directive To Wear Face Coverings | County, WA - Official Website_files' **SKIP - item failed and skipped: test-mangles-win/Directive To Wear Face Coverings | County, WA - Official Website_files/jquery-1.js Python exception: OSError, [WinError 123] The filename, directory name, or volume label syntax is incorrect: '\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-mangles-win\\Directive To Wear Face Coverings | County, WA - Official Website_files' (Link) --Symlink not supported: stub file made Extracted test-mangles-win/okaylink Extracted test-mangles-win/okaylink-nested/ (Link) --Symlink not supported: stub file made Extracted test-mangles-win/okaylink-nested/okaylink **SKIP - item failed and skipped: test-mangles-win/not<okay?link-nested/ Python exception: OSError, [WinError 123] The filename, directory name, or volume label syntax is incorrect: '\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-mangles-win\\not<okay?link-nested' (Link) **SKIP - item failed and skipped: test-mangles-win/not<okay?link-nested/not<okay?link Python exception: OSError, [WinError 123] The filename, directory name, or volume label syntax is incorrect: '\\\\?\\C:\\Users\\me\\Desktop\\temp\\test-mangles-win\\not<okay?link-nested' Extracted test-mangles-win/z-fold-3.txt Extract finished: files=7, folders=3, symlinks=0, unknowns=0, skipped=398.