diff options
author | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2016-04-06 17:14:50 +0000 |
---|---|---|
committer | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2016-04-12 18:09:03 +0000 |
commit | 4c4cf96134724ce843b0f5e0c7d85ec3cda4d52b (patch) | |
tree | f2da521079c0744315b62c0da6ec4a82a4562aac /morphlib/definitions_repo.py | |
parent | 116cea24016b28854e439462144a83d31e82a720 (diff) | |
download | morph-4c4cf96134724ce843b0f5e0c7d85ec3cda4d52b.tar.gz |
Make `morph get-repo` use submodules from definitions
Change-Id: I8d9330eb5f72a8f3f106aae4387eb8321f6126e5
Diffstat (limited to 'morphlib/definitions_repo.py')
-rw-r--r-- | morphlib/definitions_repo.py | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/morphlib/definitions_repo.py b/morphlib/definitions_repo.py index 9fc4e734..a30c5a7c 100644 --- a/morphlib/definitions_repo.py +++ b/morphlib/definitions_repo.py @@ -215,6 +215,21 @@ class DefinitionsRepo(gitdir.GitDirectory): 'to "origin", or use the --local-changes=include feature ' 'of Morph.' % (e.ref, e.repo_url, ref)) + def get_version(self, mf=None): + ''' Returns version of the definitions + + This will read the VERSION file, raising a Exception if the file + is not found. + + ''' + if not mf: + mf = morphlib.morphologyfinder.MorphologyFinder(self) + try: + version_text = mf.read_file('VERSION') + except IOError: + raise morphlib.definitions_version.VersionFileNotFound() + return morphlib.definitions_version.check_version_file(version_text) + def get_morphology_loader(self): '''Return a MorphologyLoader instance. @@ -224,11 +239,9 @@ class DefinitionsRepo(gitdir.GitDirectory): ''' mf = morphlib.morphologyfinder.MorphologyFinder(self) - version_text = mf.read_file('VERSION') - version = morphlib.definitions_version.check_version_file(version_text) + version = self.get_version(mf) defaults_text = mf.read_file('DEFAULTS', allow_missing=True) - if defaults_text is None: warnings.warn("No DEFAULTS file found.") |