diff options
author | Richard Ipsum <richardipsum@fastmail.co.uk> | 2015-04-03 13:24:59 +0100 |
---|---|---|
committer | Baserock Gerrit <gerrit@baserock.org> | 2015-04-11 12:23:34 +0000 |
commit | 2ad079e853fae8b699274b5cecf1b31d6bbd514a (patch) | |
tree | ef4a6d23c6edf6843c6b911bb1f98aeb633b8278 /morphlib/sourceresolver.py | |
parent | 4c17ac32131afb5e986075d7c65dbe8c20df7fc4 (diff) | |
download | morph-2ad079e853fae8b699274b5cecf1b31d6bbd514a.tar.gz |
Make _check_version_file return version
Also add a distinct error message for an invalid version file
Change-Id: I674e6af284b33705ae8235054906f56b8cd8a130
Diffstat (limited to 'morphlib/sourceresolver.py')
-rw-r--r-- | morphlib/sourceresolver.py | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/morphlib/sourceresolver.py b/morphlib/sourceresolver.py index c105fced..7e0124b4 100644 --- a/morphlib/sourceresolver.py +++ b/morphlib/sourceresolver.py @@ -96,6 +96,11 @@ class UnknownVersionError(SourceResolverError): # pragma: no cover self, "Definitions format version %s is not supported" % version) +class InvalidVersionFileError(SourceResolverError): #pragma: no cover + def __init__(self): + SourceResolverError.__init__(self, "invalid VERSION file") + + class SourceResolver(object): '''Provides a way of resolving the set of sources for a given system. @@ -369,18 +374,23 @@ class SourceResolver(object): return version - def _check_version_file(self,definitions_repo, + def _check_version_file(self, definitions_repo, definitions_absref): # pragma: no cover version_file = self._get_file_contents( definitions_repo, definitions_absref, 'VERSION') - if version_file is None: - return + if version_file == None: + return 0 # Assume version 0 if no version file version = self._parse_version_file(version_file) - if version is not None: - if version not in supported_versions: - raise UnknownVersionError(version) + + if version == None: + raise InvalidVersionFileError() + + if version not in supported_versions: + raise UnknownVersionError(version) + + return version def _process_definitions_with_children(self, system_filenames, definitions_repo, |