diff options
author | Lars Wirzenius <liw@liw.fi> | 2015-08-02 17:17:50 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2015-08-02 17:17:50 +0300 |
commit | bf154f2ba6b5cec13b3bf56e9488fbaa64734689 (patch) | |
tree | 09df26cca6fc368b5278b2bc0aa9af1c00641f1d /obnamlib/fmt_ga/client.py | |
parent | 8d235dc57f64f04d436cfc4c71e6846e08cefce6 (diff) | |
download | obnam-bf154f2ba6b5cec13b3bf56e9488fbaa64734689.tar.gz |
Move file-exists checking deeper into call stack
Diffstat (limited to 'obnamlib/fmt_ga/client.py')
-rw-r--r-- | obnamlib/fmt_ga/client.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/obnamlib/fmt_ga/client.py b/obnamlib/fmt_ga/client.py index 37fb04af..12103029 100644 --- a/obnamlib/fmt_ga/client.py +++ b/obnamlib/fmt_ga/client.py @@ -264,17 +264,14 @@ class GAClient(object): def set_file_key(self, gen_number, filename, key, value): self._load_data() - generation = self._lookup_generation_by_gen_number(gen_number) metadata = generation.get_file_metadata() - if not metadata.file_exists(filename): + if not metadata.set_file_key(filename, key, value): raise obnamlib.RepositoryFileDoesNotExistInGeneration( client_name=self._client_name, genspec=gen_number, filename=filename) - metadata.set_file_key(filename, key, value) - def get_file_chunk_ids(self, gen_number, filename): self._load_data() self._require_file_exists(gen_number, filename) @@ -514,10 +511,13 @@ class GAFileMetadata(object): self._added_files.set_file_key(filename, key, value) if key == obnamlib.REPO_FILE_MODE: self._flush_added_file(filename) + return True else: dir_obj, basename = self._get_mutable_dir_obj(filename) - if dir_obj: - dir_obj.set_file_key(basename, key, value) + if not dir_obj: + return False + dir_obj.set_file_key(basename, key, value) + return True def _get_mutable_dir_obj(self, filename): dir_obj, dir_path, basename = self._get_dir_obj(filename) |