diff options
author | Daniel Silverstone <daniel.silverstone@codethink.co.uk> | 2013-11-19 17:06:33 +0000 |
---|---|---|
committer | Daniel Silverstone <daniel.silverstone@codethink.co.uk> | 2013-11-19 17:06:33 +0000 |
commit | 54116d3c486ed7aa49f284e4cad9e6e7c293bea6 (patch) | |
tree | fa32a75ebba262def85af97cc34a7db69bc69034 /cxmanage_api/firmware_package.py | |
parent | 7087e92d40310d9bb6c8b4a6bb1baf7c3b73bee7 (diff) | |
parent | 4da2f9c7eaa95ebf357eeca3a497b6a206675ef8 (diff) | |
download | cxmanage-baserock/morph.tar.gz |
Merge tag 'v0.10.2' into baserock/morphbaserock/morph
v0.10 post-release tag for pyinstaller support
Diffstat (limited to 'cxmanage_api/firmware_package.py')
-rw-r--r-- | cxmanage_api/firmware_package.py | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/cxmanage_api/firmware_package.py b/cxmanage_api/firmware_package.py index 433b596..7f8e645 100644 --- a/cxmanage_api/firmware_package.py +++ b/cxmanage_api/firmware_package.py @@ -1,4 +1,7 @@ -# Copyright (c) 2012, Calxeda Inc. +"""Calxeda: firmware_package.py""" + + +# Copyright (c) 2012-2013, Calxeda Inc. # # All rights reserved. # @@ -34,11 +37,13 @@ import tarfile import ConfigParser import pkg_resources +import cxmanage_api from cxmanage_api import temp_dir from cxmanage_api.image import Image -class FirmwarePackage: +# pylint: disable=R0903 +class FirmwarePackage(object): """A firmware update package contains multiple images & version information. .. note:: @@ -54,6 +59,7 @@ class FirmwarePackage: """ + # pylint: disable=R0912 def __init__(self, filename=None): """Default constructor for the FirmwarePackage class.""" self.images = [] @@ -76,15 +82,16 @@ class FirmwarePackage: % os.path.basename(filename)) if "package" in config.sections(): - cxmanage_ver = config.get("package", - "required_cxmanage_version") - try: - pkg_resources.require("cxmanage>=%s" % cxmanage_ver) - except pkg_resources.VersionConflict: + required_cxmanage_version = config.get( + "package", "required_cxmanage_version" + ) + if (pkg_resources.parse_version(cxmanage_api.__version__) < + pkg_resources.parse_version(required_cxmanage_version)): # @todo: CxmanageVersionError? raise ValueError( - "%s requires cxmanage version %s or later." - % (filename, cxmanage_ver)) + "%s requires cxmanage version %s or later." + % (filename, required_cxmanage_version) + ) if config.has_option("package", "required_socman_version"): self.required_socman_version = config.get("package", @@ -117,6 +124,9 @@ class FirmwarePackage: self.images.append(Image(filename, image_type, simg, daddr, skip_crc32, version)) + def __str__(self): + return self.version + def save_package(self, filename): """Save all images as a firmware package. |