summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier Jardón <javier.jardon@codethink.co.uk>2015-02-27 15:23:09 +0000
committerJavier Jardón <javier.jardon@codethink.co.uk>2015-02-27 18:42:52 +0000
commit593556017d4b8e5e862d92f1a56dc086138b2acc (patch)
tree0933f144942900f2ea2d02e44f68c57ba1b272b8
parentd296e539348a568ef4562bcbd3be5952b9355b26 (diff)
downloadmorph-593556017d4b8e5e862d92f1a56dc086138b2acc.tar.gz
morphlib/sourceresolver.py: Add _get_file_contents_from_repo()
And make _get_morphology_from_repo() use it
-rw-r--r--morphlib/sourceresolver.py16
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