diff options
author | Lars Wirzenius <liw@liw.fi> | 2015-07-17 19:47:18 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2015-07-17 19:47:18 +0300 |
commit | dc4abd82271446ddcba6041e6c468ad85c3ed478 (patch) | |
tree | 94984ed35bc026aee095bcc3c41fec60776d367e | |
parent | fb01a08f4632090fab509718cd67bad32c65d0be (diff) | |
download | obnam-dc4abd82271446ddcba6041e6c468ad85c3ed478.tar.gz |
Speed up repo_key_name with lookup table
-rw-r--r-- | obnamlib/repo_interface.py | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/obnamlib/repo_interface.py b/obnamlib/repo_interface.py index fdd9381e..de297a17 100644 --- a/obnamlib/repo_interface.py +++ b/obnamlib/repo_interface.py @@ -70,8 +70,10 @@ _integer_keys = [ "REPO_FILE_INO", ] +_repo_key_names = {} for i, name in enumerate(_string_keys + _integer_keys): globals()[name] = i + _repo_key_names[i] = name def _filter_integer_keys(prefix): @@ -84,10 +86,7 @@ REPO_FILE_INTEGER_KEYS = _filter_integer_keys('REPO_FILE_') def repo_key_name(key_value): - for key_name in _integer_keys + _string_keys: - if globals()[key_name] == key_value: - return key_name - return key_value + return _repo_key_names.get(key_value, key_value) # The following is a key that is NOT allowed for any repository format. |