diff options
Diffstat (limited to 'morphlib/morphologyfinder.py')
-rw-r--r-- | morphlib/morphologyfinder.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/morphlib/morphologyfinder.py b/morphlib/morphologyfinder.py index 9184c160..a334350e 100644 --- a/morphlib/morphologyfinder.py +++ b/morphlib/morphologyfinder.py @@ -15,9 +15,7 @@ # =*= License: GPL-2 =*= -import cliapp - -import morphlib +import errno class MorphologyFinder(object): @@ -33,9 +31,15 @@ class MorphologyFinder(object): self.gitdir = gitdir self.ref = ref - def read_file(self, filename): + def read_file(self, filename, allow_missing=False): '''Return the text of a file inside the Git repo.''' - return self.gitdir.read_file(filename, self.ref) + try: + return self.gitdir.read_file(filename, self.ref) + except IOError as e: + if allow_missing and e.errno == errno.ENOENT: + return None + else: + raise def list_morphologies(self): '''Return the filenames of all morphologies in the (repo, ref). |