Mercurial > p > roundup > code
view roundup/cgi/PageTemplates/MultiMapping.py @ 6459:0e86ea84e59d
Debugging and test fixes for CI
test_compression_br worked on my box under python 3.6. In CI it worked
in 3.4 but failed on all other versions 3.6,7,8,9,dev. Error:
json_dict = json.loads(b2s(brotli.decompress(f.content)))
E brotli.error: BrotliDecompress failed
so print f.content.
Also restructured the code to not check for type of f.content. Instead
try json.loads(f.content) and if we get an exception try decompressing. Use
this for br and zstd tests.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sat, 24 Jul 2021 18:23:21 -0400 |
| parents | 23b8e6067f7c |
| children |
line wrap: on
line source
import operator class MultiMapping: def __init__(self, *stores): self.stores = list(stores) def __getitem__(self, key): for store in self.stores: if key in store: return store[key] raise KeyError(key) _marker = [] def get(self, key, default=_marker): for store in self.stores: if key in store: return store[key] if default is self._marker: raise KeyError(key) return default def __len__(self): return sum([len(x) for x in self.stores]) def push(self, store): self.stores.append(store) def pop(self): return self.stores.pop() def items(self): l = [] for store in self.stores: l = l + list(store.items()) return l
