summaryrefslogtreecommitdiff
path: root/obnamlib/repo_interface.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2015-12-06 16:39:20 +0100
committerLars Wirzenius <liw@liw.fi>2015-12-06 16:40:16 +0100
commit62ff6e1823428b3a9f7db3a8ff451b1d47423a8d (patch)
tree63871995fcd6c821faf92e4ab72b3055b9966996 /obnamlib/repo_interface.py
parent4523f153cd37fe54f7e88214cfaedb94d078fa46 (diff)
downloadobnam-62ff6e1823428b3a9f7db3a8ff451b1d47423a8d.tar.gz
Make REPO_* constant numbers less manual
Diffstat (limited to 'obnamlib/repo_interface.py')
-rw-r--r--obnamlib/repo_interface.py60
1 files changed, 35 insertions, 25 deletions
diff --git a/obnamlib/repo_interface.py b/obnamlib/repo_interface.py
index fd1338c3..1a076ea6 100644
--- a/obnamlib/repo_interface.py
+++ b/obnamlib/repo_interface.py
@@ -38,34 +38,44 @@ import obnamlib
# little magic to get a) automatic enumeration b) mapping between
# values and names.
-REPO_CLIENT_TEST_KEY = 0
-REPO_GENERATION_TEST_KEY = 1
-REPO_FILE_TEST_KEY = 2
-REPO_FILE_USERNAME = 3
-REPO_FILE_GROUPNAME = 4
-REPO_FILE_SYMLINK_TARGET = 5
-REPO_FILE_XATTR_BLOB = 6
-REPO_FILE_MD5 = 7
+
+_saved_id = 0
+
+
+def _get_next_id():
+ global _saved_id
+ _saved_id += 1
+ return _saved_id
+
+
+REPO_CLIENT_TEST_KEY = _get_next_id()
+REPO_GENERATION_TEST_KEY = _get_next_id()
+REPO_FILE_TEST_KEY = _get_next_id()
+REPO_FILE_USERNAME = _get_next_id()
+REPO_FILE_GROUPNAME = _get_next_id()
+REPO_FILE_SYMLINK_TARGET = _get_next_id()
+REPO_FILE_XATTR_BLOB = _get_next_id()
+REPO_FILE_MD5 = _get_next_id()
_MAX_STRING_KEY = REPO_FILE_MD5
-REPO_GENERATION_STARTED = 8
-REPO_GENERATION_ENDED = 9
-REPO_GENERATION_IS_CHECKPOINT = 10
-REPO_GENERATION_FILE_COUNT = 11
-REPO_GENERATION_TOTAL_DATA = 12
-REPO_FILE_MODE = 13
-REPO_FILE_MTIME_SEC = 14
-REPO_FILE_MTIME_NSEC = 15
-REPO_FILE_ATIME_SEC = 16
-REPO_FILE_ATIME_NSEC = 17
-REPO_FILE_NLINK = 18
-REPO_FILE_SIZE = 19
-REPO_FILE_UID = 20
-REPO_FILE_GID = 21
-REPO_FILE_BLOCKS = 22
-REPO_FILE_DEV = 23
-REPO_FILE_INO = 24
+REPO_GENERATION_STARTED = _get_next_id()
+REPO_GENERATION_ENDED = _get_next_id()
+REPO_GENERATION_IS_CHECKPOINT = _get_next_id()
+REPO_GENERATION_FILE_COUNT = _get_next_id()
+REPO_GENERATION_TOTAL_DATA = _get_next_id()
+REPO_FILE_MODE = _get_next_id()
+REPO_FILE_MTIME_SEC = _get_next_id()
+REPO_FILE_MTIME_NSEC = _get_next_id()
+REPO_FILE_ATIME_SEC = _get_next_id()
+REPO_FILE_ATIME_NSEC = _get_next_id()
+REPO_FILE_NLINK = _get_next_id()
+REPO_FILE_SIZE = _get_next_id()
+REPO_FILE_UID = _get_next_id()
+REPO_FILE_GID = _get_next_id()
+REPO_FILE_BLOCKS = _get_next_id()
+REPO_FILE_DEV = _get_next_id()
+REPO_FILE_INO = _get_next_id()
_repo_key_names = dict(