diff options
author | Lars Wirzenius <liw@liw.fi> | 2017-02-12 10:22:15 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2017-02-12 10:22:15 +0200 |
commit | 621571eca0fb0f6d225e5ec921dbfbdef58947f5 (patch) | |
tree | 51de1a4a28398ce994842e325458cff6c978a4ce | |
parent | f17ea4b4562a8e07bdd15bcb92b4f6be2e713de5 (diff) | |
download | obnam-621571eca0fb0f6d225e5ec921dbfbdef58947f5.tar.gz |
Rewrite get_generation_chunk_ids
-rw-r--r-- | obnamlib/fmt_ga/client.py | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/obnamlib/fmt_ga/client.py b/obnamlib/fmt_ga/client.py index 563f4fbf..7ec4b9c3 100644 --- a/obnamlib/fmt_ga/client.py +++ b/obnamlib/fmt_ga/client.py @@ -384,23 +384,24 @@ class GAClient(object): def get_generation_chunk_ids(self, gen_number): if hasattr(self, '_dumper'): - dumper = self._dumper - dumper.dump_memory_profile('before getting chunk ids used by genaration') + dump = self._dumper.dump_memory_profile + else: + dump = lambda s: None + dump('before getting chunk ids used by genaration') self._load_data() - dumper.dump_memory_profile('after loading data') + dump('after loading data') generation = self._lookup_generation_by_gen_number(gen_number) - dumper.dump_memory_profile('after looking up gen by gen_number') + dump('after looking up gen by gen_number') metadata = generation.get_file_metadata() - dumper.dump_memory_profile('after getting file metadata for generation') - sets = [ - set(metadata.get_file_chunk_ids(filename)) - for filename in metadata - ] - dumper.dump_memory_profile('after building list of sets of chunkids used by files') - union = set().union(*sets) - dumper.dump_memory_profile('after building union of sets') + dump('after getting file metadata for generation') + + union = set() + for filename in metadata: + union = union.union(set(metadata.get_file_chunk_ids(filename))) + + dump('after building union of sets') result = list(union) - dumper.dump_memory_profile('after constructing result') + dump('after constructing result') return result def get_file_children(self, gen_number, filename): |