From 3eea17f7a9d0d9fc2f4dcea482ac493f13946376 Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Wed, 13 Jul 2016 22:58:00 +0000 Subject: [PATCH] Add new versions class interface. --- .../src/python/onl/versions/__init__.py | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 packages/base/all/vendor-config-onl/src/python/onl/versions/__init__.py diff --git a/packages/base/all/vendor-config-onl/src/python/onl/versions/__init__.py b/packages/base/all/vendor-config-onl/src/python/onl/versions/__init__.py new file mode 100644 index 00000000..08faa806 --- /dev/null +++ b/packages/base/all/vendor-config-onl/src/python/onl/versions/__init__.py @@ -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() + +