[Python-Dev] zipfile.py
Finn Bock
bckfnn@pipmail.dknet.dk
Thu, 30 Dec 1999 19:14:14 GMT
[I wrote]
> - It can only add disk files. The ability to write data to a zip entry through
> a file-like object or from a string would make it more like an API, IMHO
[JimA wrote]
>I could add a method
> writestr(self, string, year, month, day, hour, minute, second, ...)
>There are a lot of fields required which usually come from the file.
Something like that seems fine to me.
[I wrote]
> - Some kind of access to the TOC entry fields (date, size, compressed
> size etc) also seems like a nice feature.
[JimA answers]
>This access is provided directly by self.TOC, and the fields are
>documented.
Good enough. My bad, I was looking for getter methods. (me being a java dude)
[I wrote]
> I admit that I am fond of the api from java.util.zip.ZipFile and
> java.util.zip.ZipOutputStream.
[JimA asks]
>I don't know this API. If writestr() is not sufficient, what
>API would you like?
This is only meant as a source for inspiration, certainly as a request for
change. writestr would answer my complaint nicely. Below, only one ZipEntry can
be actively read or written to at a time. All the small details of performance
and implementation complexity are ignored.
class ZipFile:
def getEntry(name):
...
self.activeentry = ZipEntry(name)
return self.activeentry
class ZipEntry:
#enough methods and fields to fake file-ness to casual users like me.
def write(list): ...
def writelines(str): ...
def read(size=None): ...
def readlines(sizehint=-1): ...
def seek(offset): ...
def flush(): ...
def close(str): ...
def getSize(): ....
def getCompressedSize(): ....
def getFlags(): ....
regards,
finn