From bda50b59586f75c83dd95faf67291d69eb508874 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Sun, 26 Jun 2016 17:14:13 +0200 Subject: [PATCH] stdin chunking: get Item into usable state early --- src/borg/archive.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/borg/archive.py b/src/borg/archive.py index 69f84c7db..09e7c1b82 100644 --- a/src/borg/archive.py +++ b/src/borg/archive.py @@ -714,20 +714,19 @@ Number of files: {0.stats.nfiles}'''.format( def process_stdin(self, path, cache): uid, gid = 0, 0 - fd = sys.stdin.buffer # binary - chunks = [] - for data in backup_io_iter(self.chunker.chunkify(fd)): - chunks.append(cache.add_chunk(self.key.id_hash(data), Chunk(data), self.stats)) - self.stats.nfiles += 1 t = int(time.time()) * 1000000000 item = Item( path=path, - chunks=chunks, mode=0o100660, # regular file, ug=rw uid=uid, user=uid2user(uid), gid=gid, group=gid2group(gid), mtime=t, atime=t, ctime=t, ) + fd = sys.stdin.buffer # binary + item.chunks = [] + for data in backup_io_iter(self.chunker.chunkify(fd)): + item.chunks.append(cache.add_chunk(self.key.id_hash(data), Chunk(data), self.stats)) + self.stats.nfiles += 1 self.add_item(item) return 'i' # stdin