diff options
author | Lars Wirzenius <liw@liw.fi> | 2012-05-23 17:49:47 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2012-05-23 17:49:47 +0200 |
commit | 4b822e6458f29d21b1b2b5cf192e91c7bbb9ea33 (patch) | |
tree | e371315f42fd7d36869569a12ab5a317102610ea | |
parent | 43fa0f1349431dcc6a967dc89f2fd8780f6f3846 (diff) | |
download | obnam-4b822e6458f29d21b1b2b5cf192e91c7bbb9ea33.tar.gz |
Only open a client when necessary
-rw-r--r-- | obnamlib/plugins/fsck_plugin.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/obnamlib/plugins/fsck_plugin.py b/obnamlib/plugins/fsck_plugin.py index 3b35f21d..73110ac4 100644 --- a/obnamlib/plugins/fsck_plugin.py +++ b/obnamlib/plugins/fsck_plugin.py @@ -88,7 +88,8 @@ class CheckFile(WorkItem): def do(self): logging.debug('Checking client=%s genid=%s filename=%s' % (self.client_name, self.genid, self.filename)) - self.repo.open_client(self.client_name) + if self.repo.current_client != self.client_name: + self.repo.open_client(self.client_name) metadata = self.repo.get_metadata(self.genid, self.filename) if metadata.isfile(): chunkids = self.repo.get_file_chunks(self.genid, self.filename) @@ -110,7 +111,8 @@ class CheckDirectory(WorkItem): def do(self): logging.debug('Checking client=%s genid=%s dirname=%s' % (self.client_name, self.genid, self.dirname)) - self.repo.open_client(self.client_name) + if self.repo.current_client != self.client_name: + self.repo.open_client(self.client_name) self.repo.get_metadata(self.genid, self.dirname) for basename in self.repo.listdir(self.genid, self.dirname): pathname = os.path.join(self.dirname, basename) @@ -191,7 +193,8 @@ class CheckClient(WorkItem): def do(self): logging.debug('Checking client=%s' % self.client_name) - self.repo.open_client(self.client_name) + if self.repo.current_client != self.client_name: + self.repo.open_client(self.client_name) yield CheckGenerationIdsAreDifferent(self.client_name, self.repo.list_generations()) for genid in self.repo.list_generations(): |