'Write an archive member from a file like object.
Args:
src_fd: A file like object, must support seek(), tell(), read().
arcname: The name in the archive this should take.
st: A stat object to be used for setting headers.
Raises:
ValueError: If st is omitted.'

def WriteFromFD(self, src_fd, arcname=None, st=None):

    if (st is None):
        raise ValueError("Stat    object    can't    be    None.")
    info = self.tar_fd.tarinfo()
    info.tarfile = self.tar_fd
    info.type = tarfile.REGTYPE
    info.name = SmartStr(arcname)
    info.size = st.st_size
    info.mode = st.st_mode
    info.mtime = (st.st_mtime or time.time())
    self.tar_fd.addfile(info, src_fd)
