Add new versions class interface.

This commit is contained in:
Jeffrey Townsend
2016-07-13 22:58:00 +00:00
parent 137158ca1c
commit 3eea17f7a9

View File

@@ -0,0 +1,37 @@
import json
class OnlVersionManifest(object):
def __init__(self, manifest):
self.version = json.load(open(manifest))
if 'version' in self.version:
self.version = self.version['version']
def __getattr__(self, name):
if name in self.version:
return self.version[name]
else:
raise AttributeError("version key '%s' does not exist." % name)
class OnlVersionBase(OnlVersionManifest):
def __init__(self):
OnlVersionManifest.__init__(self, self.MANIFEST)
class OnlRootfsVersion(OnlVersionBase):
MANIFEST='/etc/onl/rootfs/manifest.json'
class OnlLoaderVersion(OnlVersionBase):
MANIFEST='/etc/onl/loader/manifest.json'
#
# Expected usage:
#
# import onl.versions
#
# print onl.versions.rootfs.BUILD_TIMESTAMP
#
rootfs = OnlRootfsVersion()
loader = OnlLoaderVersion()