Peter Otten wrote:

gettarinfo() expects a real file, not a file-like object.
You have to create your TarInfo manually.

ok... which attributes are mandatory, and which optional?


I recommend that you have a look into the tarfile module's source code.


i will try... but:


$ cat /usr/lib/python2.3/tarfile.py | wc -l
1938

wow! it'll take some time ;-)


The following seems to work:

import sys
import time
import tarfile
import StringIO

sf1 = "first.txt", StringIO.StringIO("one one\n")
sf2 = "second.txt", StringIO.StringIO("two\n")
tf = StringIO.StringIO()

tar = tarfile.open(fileobj=tf , mode="w")

mtime = time.time()
for name, f in [sf1 , sf2]:
    ti = tarfile.TarInfo(name)
    ti.size = f.len
    ti.mtime = mtime
# add more attributes as needed tar.addfile(ti, f)

sys.stdout.write(tf.getvalue())

Peter


much obliged mr otten

bye
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to