Skip to content

Commit

Permalink
Handle bad installation of datas directory, when getting available la…
Browse files Browse the repository at this point in the history
…nguages
  • Loading branch information
Fantomas42 committed Feb 5, 2015
1 parent d8a3d20 commit aa68c35
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
6 changes: 5 additions & 1 deletion mots_vides/factory.py
Expand Up @@ -78,7 +78,11 @@ def available_languages(self):
available_languages = getattr(self, '_available_languages', None)
if available_languages:
return available_languages
languages = os.listdir(self.data_directory)
try:
languages = os.listdir(self.data_directory)
except OSError:
raise StopWordError(
"'datas' directory is unreadable, check your installation.")
languages = sorted(map(lambda x: x.replace('.txt', ''), languages))
setattr(self, '_available_languages', languages)
return languages
Expand Down
5 changes: 5 additions & 0 deletions mots_vides/tests/factory.py
Expand Up @@ -73,6 +73,11 @@ def test_available_languages(self):
self.assertEqual(self.factory.available_languages,
['klingon', 'sindarin'])

def test_available_languages_error(self):
self.factory.data_directory = '/brutal/change/'
self.assertRaises(StopWordError,
lambda: self.factory.available_languages)

def test_get_collection_filename(self):
filename = self.factory.get_collection_filename('foo')
self.assertTrue(filename.endswith('foo.txt'))
Expand Down

0 comments on commit aa68c35

Please sign in to comment.