Gabriel Genellina wrote:
I propose using a more flexible .pyc format (resembling RIFF files with multiple levels). The layout would be as follows:
- A file contains a sequence of sections. - A section has an identifier (4 bytes, usually ASCII letters),
[snip...]
New sections -or subsections inside a section- can be defined in the future. No implied knowledge of section meanings or its structure is required to read the file; readers can safely skip over sections they don't understand, and never lost synchronism.
As a side suggestion, the PNG spec makes the capitalization of each identifier indicate extra meta-data about the section. (See: http://www.libpng.org/pub/png/spec/1.2/PNG-Structure.html#Chunk-naming-conve... ) For instance, an identifier that starts with a capital letter means that the decoder must understand this chunk to process the contents of the file, whereas an identifier with a lowercase first letter can safely be skipped. An uppercase second letter means that the identifier is defined by Python, whereas a lowercase second letter would indicate a third-party-defined chunk. (The PNG spec reserves the case of the third letter, and forces it to be uppercase. The case of the fourth letter indicates whether it's safe to copy this chunk. I don't think either of those are particularly useful to Python, and so could conveniently be skipped.) Would this extra meta-data be useful? I think so, for the "safe to ignore" flag, at least. Later, Blake.