diff options
author | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2013-08-15 14:05:40 +0000 |
---|---|---|
committer | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2013-08-15 17:02:08 +0000 |
commit | 71aad66f7360c16eb9569c599ffb709df0a49db4 (patch) | |
tree | ddf142cd8ee916169fe4820c1ab895ffc52b32ac /morphlib | |
parent | 2cc11a34cf32eeeba34ddd38dc901cc15bdffb64 (diff) | |
download | morph-71aad66f7360c16eb9569c599ffb709df0a49db4.tar.gz |
Rename method to MorphologyLoader.parse_morphology_text
The new name is more descriptive, since it turns out that the
method doesn't just parse strings, but also open file handles.
Suggested by Richard Maw.
Diffstat (limited to 'morphlib')
-rw-r--r-- | morphlib/morphloader.py | 8 | ||||
-rw-r--r-- | morphlib/morphloader_tests.py | 6 |
2 files changed, 8 insertions, 6 deletions
diff --git a/morphlib/morphloader.py b/morphlib/morphloader.py index 5b2c1063..a8bf2440 100644 --- a/morphlib/morphloader.py +++ b/morphlib/morphloader.py @@ -146,9 +146,11 @@ class MorphologyLoader(object): }, } - def parse_from_string(self, string, whence): + def parse_morphology_text(self, text, whence): '''Parse a textual morphology. + The text may be a string, or an open file handle. + Return the new Morphology object, or raise an error indicating the problem. This method does minimal validation: a syntactically correct morphology is fine, even if none of the fields are @@ -161,7 +163,7 @@ class MorphologyLoader(object): ''' try: - obj = yaml.safe_load(string) + obj = yaml.safe_load(text) except yaml.error.YAMLError as e: logging.error('Could not load morphology as YAML:\n%s' % str(e)) raise MorphologySyntaxError(whence) @@ -178,7 +180,7 @@ class MorphologyLoader(object): ''' - m = self.parse_from_string(string, filename) + m = self.parse_morphology_text(text, filename) m.filename = filename self.validate(m) self.set_defaults(m) diff --git a/morphlib/morphloader_tests.py b/morphlib/morphloader_tests.py index 7a1b2c0c..0f115eb1 100644 --- a/morphlib/morphloader_tests.py +++ b/morphlib/morphloader_tests.py @@ -40,7 +40,7 @@ name: foo kind: chunk build-system: dummy ''' - morph = self.loader.parse_from_string(string, 'test') + morph = self.loader.parse_morphology_text(string, 'test') self.assertEqual(morph['kind'], 'chunk') self.assertEqual(morph['name'], 'foo') self.assertEqual(morph['build-system'], 'dummy') @@ -48,12 +48,12 @@ build-system: dummy def test_fails_to_parse_utter_garbage(self): self.assertRaises( morphlib.morphloader.MorphologySyntaxError, - self.loader.parse_from_string, ',,,', 'test') + self.loader.parse_morphology_text, ',,,', 'test') def test_fails_to_parse_non_dict(self): self.assertRaises( morphlib.morphloader.NotADictionaryError, - self.loader.parse_from_string, '- item1\n- item2\n', 'test') + self.loader.parse_morphology_text, '- item1\n- item2\n', 'test') def test_fails_to_validate_dict_without_kind(self): m = morphlib.morph3.Morphology({ |