[Tutor] Zip-ing files/folders - collecting opinions

Simon Wittber (Maptek) Simon.Wittber@perth.maptek.com.au
Tue Jan 28 23:34:02 2003


This is a multi-part message in MIME format.

------_=_NextPart_001_01C2C74F.61349F94
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

>I am trying to put together somethin' littl' in Python=20
>that would do archiving of potentially large files and/
>or large folder structures on Windows platform.=20

I'm not sure my idea or approach is any better, but it is quite nifty!

It's a small program which zips up a directory structure into an python
program. You then run the generated python program to expand the tree.

Have a look, you might get some more ideas.

Sw.

------_=_NextPart_001_01C2C74F.61349F94
Content-Type: application/octet-stream;
	name="com.py"
Content-Transfer-Encoding: base64
Content-Description: com.py
Content-Disposition: attachment;
	filename="com.py"

I0NvcHlyaWdodCAyMDAyIFNpbW9uIFdpdHRiZXINCiNzaW1vbndpdHRiZXJAaG90bWFpbC5jb20N
Cg0KI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IgbW9kaWZ5DQojaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiN0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyhhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uDQoNCiNUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiNidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KI01FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiNHTlUgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KDQojWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiNhbG9u
ZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0K
I0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1B
ICAwMjExMS0xMzA3ICBVU0ENCg0KaW1wb3J0IGJhc2U2NA0KaW1wb3J0IHpsaWINCmltcG9ydCBv
cw0KaW1wb3J0IG9zLnBhdGgNCmltcG9ydCBzeXMNCg0KaWYgbGVuKHN5cy5hcmd2KSAhPSAyOg0K
CXByaW50ICJDb21wcmVzc2VzIGEgZGlyZWN0b3J5IHN0cnVjdHVyZSBpbnRvIGEgcHl0aG9uIHBy
b2dyYW0uXG5cblVzYWdlOiAiICsgc3lzLmFyZ3ZbMF0gKyAiIDxkaXJlY3Rvcnk+Ig0KCXN5cy5l
eGl0KDApDQppZiBub3Qgb3MucGF0aC5pc2Rpcihvcy5wYXRoLmFic3BhdGgoc3lzLmFyZ3ZbMV0p
KToNCglwcmludCBzeXMuYXJndlsxXSArICIgaXMgbm90IGEgZGlyZWN0b3J5LiINCglzeXMuZXhp
dCgwKQ0KDQpjb2RlID0gIiIiDQppbXBvcnQgYmFzZTY0DQppbXBvcnQgemxpYg0KaW1wb3J0IG9z
DQppbXBvcnQgb3MucGF0aA0KaW1wb3J0IHN5cw0KIiIiDQoNCmZvbGRlciA9IHN5cy5hcmd2WzFd
DQoNCm91dGZpbGVuYW1lID0gZm9sZGVyICsgIi5jb21wcmVzc2VkLnB5Ig0Kb3V0ZmlsZSA9IGZp
bGUoInRlbXAuIiArIG91dGZpbGVuYW1lLCAidyIpDQoNCm91dGZpbGUud3JpdGUoY29kZSkNCg0K
Zm9sZGVycyA9IHt9DQoNCmRlZiB3YWxrZXIoYXJnLCBkaXJuYW1lLCBuYW1lcyk6DQoJZ2xvYmFs
IGZvbGRlcnMNCglmb2xkZXJzW2Rpcm5hbWVdID0gbmFtZXMNCgkNCm9zLnBhdGgud2Fsayhmb2xk
ZXIsIHdhbGtlciwgTm9uZSkNCg0KZm9sZGVybGlzdCA9IGZvbGRlcnMua2V5cygpDQpmb2xkZXJs
aXN0LnNvcnQoKQ0KZm9yIGYgaW4gZm9sZGVybGlzdDoNCglwYXRoID0gb3MucGF0aC5qb2luKGYp
DQoJcGF0aCA9IHBhdGgucmVwbGFjZSgiXFwiLCAiLyIpDQoJb3V0ZmlsZS53cml0ZSgicHJpbnQg
XCIiICsgcGF0aCArICJcIlxuIikNCglvdXRmaWxlLndyaXRlKCJ0cnk6XG5cdG9zLm1rZGlyKFwi
XCJcIiIgKyAgcGF0aCArICJcIlwiXCIpXG5leGNlcHQgT1NFcnJvcjpcblx0cHJpbnQgXCJhbHJl
YWR5IGV4aXN0cy5cIlxuXHRzeXMuZXhpdCgxKVxuIikNCg0KZm9yIGYgaW4gZm9sZGVybGlzdDoN
Cglmb3IgbiBpbiBmb2xkZXJzW2ZdOg0KCQljdXJyZW50RmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4o
ZiwgbikNCgkJaWYgb3MucGF0aC5pc2ZpbGUob3MucGF0aC5hYnNwYXRoKGN1cnJlbnRGaWxlbmFt
ZSkpOg0KCQkJcHJpbnQgY3VycmVudEZpbGVuYW1lIA0KCQkJY3VycmVudEZpbGUgPSBmaWxlKG9z
LnBhdGguYWJzcGF0aChjdXJyZW50RmlsZW5hbWUpLCAicmIiKQ0KCQkJZGF0YSA9IGN1cnJlbnRG
aWxlLnJlYWQoKQ0KCQkJZGF0YSA9IHpsaWIuY29tcHJlc3MoZGF0YSwgOSkNCgkJCWRhdGEgPSBi
YXNlNjQuZW5jb2Rlc3RyaW5nKGRhdGEpDQoJCQlwYXRoID0gb3MucGF0aC5qb2luKGN1cnJlbnRG
aWxlbmFtZSkNCgkJCXBhdGggPSBwYXRoLnJlcGxhY2UoIlxcIiwgIi8iKQ0KCQkJb3V0ZmlsZS53
cml0ZSgicHJpbnQgXCIiICsgcGF0aCArICJcIlxuIikNCgkJCW91dGZpbGUud3JpdGUoImZpbGUo
XCIiICsgcGF0aCArICJcIiwgXCJ3YlwiKS53cml0ZSh6bGliLmRlY29tcHJlc3MoYmFzZTY0LmRl
Y29kZXN0cmluZyhcIlwiXCIiICsgZGF0YSAgKyAiXCJcIlwiKSkpXG4iKQ0KCQkJY3VycmVudEZp
bGUuY2xvc2UoKQ0KDQpvdXRmaWxlLmNsb3NlKCkNCmluZmlsZSA9IGZpbGUoInRlbXAuIiArIG91
dGZpbGVuYW1lKQ0KZGF0YSA9IGluZmlsZS5yZWFkKCkNCmluZmlsZS5jbG9zZSgpDQpvcy51bmxp
bmsoInRlbXAuIiArIG91dGZpbGVuYW1lKQ0KZGF0YSA9IGJhc2U2NC5lbmNvZGVzdHJpbmcoemxp
Yi5jb21wcmVzcyhkYXRhLCA5KSkNCg0KY29kZWRmaWxlID0gZmlsZShvdXRmaWxlbmFtZSwgIndi
IikNCmNvZGVkZmlsZS53cml0ZSgiIiJpbXBvcnQgYmFzZTY0DQppbXBvcnQgemxpYg0KIiIiKQ0K
Y29kZWRmaWxlLndyaXRlKCJleGVjKHpsaWIuZGVjb21wcmVzcyhiYXNlNjQuZGVjb2Rlc3RyaW5n
KFwiXCJcIiIgKyBkYXRhICsgIlwiXCJcIikpKVxuIikNCg0KDQoNCg0K

------_=_NextPart_001_01C2C74F.61349F94--