diff options
author | Javier Jardón <javier.jardon@codethink.co.uk> | 2015-02-27 15:23:09 +0000 |
---|---|---|
committer | Javier Jardón <javier.jardon@codethink.co.uk> | 2015-02-27 18:42:52 +0000 |
commit | 593556017d4b8e5e862d92f1a56dc086138b2acc (patch) | |
tree | 0933f144942900f2ea2d02e44f68c57ba1b272b8 /morphlib | |
parent | d296e539348a568ef4562bcbd3be5952b9355b26 (diff) | |
download | morph-593556017d4b8e5e862d92f1a56dc086138b2acc.tar.gz |
morphlib/sourceresolver.py: Add _get_file_contents_from_repo()
And make _get_morphology_from_repo() use it
Diffstat (limited to 'morphlib')
-rw-r--r-- | morphlib/sourceresolver.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/morphlib/sourceresolver.py b/morphlib/sourceresolver.py index 22e643d2..6347861e 100644 --- a/morphlib/sourceresolver.py +++ b/morphlib/sourceresolver.py @@ -219,7 +219,8 @@ class SourceResolver(object): else: return None - def _get_morphology_from_repo(self, loader, reponame, sha1, filename): + def _get_file_contents_from_repo(self, reponame, + sha1, filename): # pragma: no cover if self.lrc.has_repo(reponame): self.status(msg="Looking for %(reponame)s:%(filename)s in the " "local repo cache.", @@ -227,21 +228,26 @@ class SourceResolver(object): try: repo = self.lrc.get_repo(reponame) text = repo.read_file(filename, sha1) - morph = loader.load_from_string(text) except IOError: - morph = None + text = None elif self.rrc is not None: self.status(msg="Looking for %(reponame)s:%(filename)s in the " "remote repo cache.", reponame=reponame, filename=filename, chatty=True) try: text = self.rrc.cat_file(reponame, sha1, filename) - morph = loader.load_from_string(text) except morphlib.remoterepocache.CatFileError: - morph = None + text = None else: # pragma: no cover repo = self.cache_repo_locally(reponame) text = repo.read_file(filename, sha1) + + return text + + def _get_morphology_from_repo(self, loader, reponame, sha1, filename): + text = self._get_file_contents_from_repo(self, reponame, sha1, filename) + + if file not None: morph = loader.load_from_string(text) return morph |