
"James C. Ahlstrom" wrote:
[...]
ftp://ftp.interet.com/pub/pylib.html
Jean-Claude Wippler replied:
Ouch - what's wrong with zip archives?
There are utilities to convert to/from zip, to re-pack, to mount zip transparently so it's entries look like regular files, FTP servers, etc.
Both Java (jar) and Tcl (Jan Nijtman's "Wrap") have adopted this format.
Zips would seem natural with JPython. And suppose that scripting ever starts to consolidate to a common scripting kernel (yah, well), do you really want a system which is closing all doors to cross-fertilization?
Zip has an advantage over .tar.gz in that its table of contents is available without having to decompress the whole kaboodle.
Your format has no checksum, which for deployment and long-term storage can be important.
If you want a marshalled TOC, then why not add a manifest entry for it, sort of like what ranlib does with ar?
You designed the format so archives can be concatenated without any tool (other than "cat"), but this works just as well with zip files, as the Tcl Wrap approach demonstrates.
Allow me to very, very loosely paraphrase Guido here: sure, everyone can design an archive format, but they are likely to make the same mistakes all over again - so why not adopt a format which is tried and tested?
With all due respect - I sincerely hope you will reconsider and alter your code to work with zip files. It's probably a small adjustment?
Unless your *intent* is to create a diverging standard, of course...
Exactly my sentiments. We have rough Python code to deal with zip files; it's very rough because we got kind of carried away adding features and ended up with spaghetti code :-( But it's working code nevertheless and we're offering it up for anyone in this group to clean up (we could do that ourselves but it's not high on our current priority list). I don't know anything about Tcl Wrap. I do know a great deal about the ZIP format, but apparently I missed the concatenation feature. How does this work? Does that work for all zip tools, or just for the ZIP reader in Wrap? (I looked up how Jim A does it -- his central directory at the end of the file contains the total size of the data covered by that directory, so he seeks back to the beginning of it and sees if another magic number precedes it; and so on. Very simple.) I quickly looked at the Wrap page; it shows how to access data files stored in the archive. Question: does the wrap::open code go out to the regular filesystem if it finds there's no wrap archive? That would be handy so you can test the code in its unwrapped form without change. Python needs this too. --Guido van Rossum (home page: http://www.python.org/~guido/)