Add version to manifest

Increment when changing manifest format in breaking ways so that
upgrading hererocks doesn't result in a crash.
This commit is contained in:
mpeterv 2016-04-03 21:19:44 +03:00
parent a1f4f47f2f
commit 24da318802

View File

@ -990,17 +990,26 @@ class LuaRocks(Program):
def get_manifest_name(): def get_manifest_name():
return os.path.join(opts.location, "hererocks.manifest") return os.path.join(opts.location, "hererocks.manifest")
manifest_version = 1
def get_installed_identifiers(): def get_installed_identifiers():
if not os.path.exists(get_manifest_name()): if not os.path.exists(get_manifest_name()):
return {} return {}
with open(get_manifest_name()) as manifest_h: with open(get_manifest_name()) as manifest_h:
try: try:
return json.load(manifest_h) identifiers = json.load(manifest_h)
except ValueError: except ValueError:
return {} return {}
if identifiers.get("version") == manifest_version:
return identifiers
else:
return {}
def save_installed_identifiers(all_identifiers): def save_installed_identifiers(all_identifiers):
all_identifiers["version"] = manifest_version
with open(get_manifest_name(), "w") as manifest_h: with open(get_manifest_name(), "w") as manifest_h:
json.dump(all_identifiers, manifest_h) json.dump(all_identifiers, manifest_h)