← Back to team overview

kicad-developers team mailing list archive

idea for post-release file manipulations

 

Since KiCad has been retrieving files from the internet ever since
Dick's github plugin was committed, we now have at least 2
sources of files: local and those retrieved via URN (of course
local files can be thought of as a URN as well). I have also
been thinking that our text files take up a lot of space (KiCad
files as well as VRML, X3D and in the future IGES and STEP).

I have other priorities at the moment (which will probably take
me until the end of this year or even longer), but what are
people's thoughts on:

a. Abstracting a stream class which can magically support
file retrieval by http, local files, and perhaps github (I know
next to nothing about how github works) and local file
writing.

b. The stream class can automatically inflate *.gz files
(basically files compressed by zlib and with .gz at the end).
Supporting *.gz can typically shrink footprint files to 30-40%
of the uncompressed size and VRML files can often
compress to <15% of the original size and large STEP
and IGES files can compress to 10% of the original.

In principle we can also enable a flag to write as gz,
but of course no data can actually be written until 'close()'
is invoked.  Dealing with external libraries will be a mix
still since we have no control of their file operations
other than stdin/out/err if we're lucky. I include the
IGES library in development as an external lib; in fact
even if we do put IGES support into KiCad using that
library it may make sense to keep libIGES an external
project.

- Cirilo

Follow ups