projects
/
cumulus.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Check LBS format version when reading snapshots in the tools.
[cumulus.git]
/
lbs.py
diff --git
a/lbs.py
b/lbs.py
index
5077a7a
..
3f647c4
100644
(file)
--- a/
lbs.py
+++ b/
lbs.py
@@
-12,6
+12,9
@@
from __future__ import division
import os, re, sha, tarfile, tempfile, thread
from pysqlite2 import dbapi2 as sqlite3
import os, re, sha, tarfile, tempfile, thread
from pysqlite2 import dbapi2 as sqlite3
+# The largest supported snapshot format that can be understood.
+FORMAT_VERSION = (0, 2) # LBS Snapshot v0.2
+
# Maximum number of nested indirect references allowed in a snapshot.
MAX_RECURSION_DEPTH = 3
# Maximum number of nested indirect references allowed in a snapshot.
MAX_RECURSION_DEPTH = 3
@@
-261,6
+264,15
@@
def parse_full(lines):
except StopIteration:
return {}
except StopIteration:
return {}
+def parse_metadata_version(s):
+ """Convert a string with the snapshot version format to a tuple."""
+
+ m = re.match(r"^LBS Snapshot v(\d+(\.\d+)*)$", s)
+ if m is None:
+ return ()
+ else:
+ return tuple([int(d) for d in m.group(1).split(".")])
+
def read_metadata(object_store, root):
"""Iterate through all lines in the metadata log, following references."""
def read_metadata(object_store, root):
"""Iterate through all lines in the metadata log, following references."""