summaryrefslogtreecommitdiff
path: root/obnamlib/repo_interface.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2015-07-17 19:47:18 +0300
committerLars Wirzenius <liw@liw.fi>2015-07-17 19:47:18 +0300
commitdc4abd82271446ddcba6041e6c468ad85c3ed478 (patch)
tree94984ed35bc026aee095bcc3c41fec60776d367e /obnamlib/repo_interface.py
parentfb01a08f4632090fab509718cd67bad32c65d0be (diff)
downloadobnam-dc4abd82271446ddcba6041e6c468ad85c3ed478.tar.gz
Speed up repo_key_name with lookup table
Diffstat (limited to 'obnamlib/repo_interface.py')
-rw-r--r--obnamlib/repo_interface.py7
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.