diff options
author | Lars Wirzenius <liw@liw.fi> | 2010-07-04 17:02:56 +1200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2010-07-04 17:02:56 +1200 |
commit | a0fa9f8c3314882a8ff754f42a0d0026ff6528cb (patch) | |
tree | 7549d7dc02d8249c58bd37f3eabf4db6e5547861 | |
parent | 1104da1ffd9091668ab50a808746b92e36d2b86b (diff) | |
download | obnam-a0fa9f8c3314882a8ff754f42a0d0026ff6528cb.tar.gz |
Add --chunk-group-size option.
-rw-r--r-- | obnamlib/app.py | 6 | ||||
-rw-r--r-- | obnamlib/plugins/backup_plugin.py | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/obnamlib/app.py b/obnamlib/app.py index b460bee7..6ffe4623 100644 --- a/obnamlib/app.py +++ b/obnamlib/app.py @@ -47,6 +47,12 @@ class App(object): '(default: %default)') self.config['chunk-size'] = '%s' % obnamlib.DEFAULT_CHUNK_SIZE + self.config.new_bytesize(['chunk-group-size'], + 'number of chunks per chunk group ' + '(default: %default)') + self.config['chunk-group-size'] = \ + '%s' % obnamlib.DEFAULT_CHUNK_GROUP_SIZE + self.pm = obnamlib.PluginManager() self.pm.locations = [self.plugins_dir()] self.pm.plugin_arguments = (self,) diff --git a/obnamlib/plugins/backup_plugin.py b/obnamlib/plugins/backup_plugin.py index 4d2dbb6c..84dcb5c6 100644 --- a/obnamlib/plugins/backup_plugin.py +++ b/obnamlib/plugins/backup_plugin.py @@ -191,13 +191,14 @@ class BackupPlugin(obnamlib.ObnamPlugin): groupsum = self.store.new_checksummer() f = self.fs.open(filename, 'r') chunk_size = int(self.app.config['chunk-size']) + chunk_group_size = int(self.app.config['chunk-group-size']) while True: data = f.read(chunk_size) if not data: break chunkids.append(self.backup_file_chunk(data)) groupsum.update(data) - if len(chunkids) == obnamlib.DEFAULT_CHUNK_GROUP_SIZE: + if len(chunkids) == chunk_group_size: checksum = groupsum.hexdigest() cgid = self.store.put_chunk_group(chunkids, checksum) cgids.append(cgid) |