From 71aad66f7360c16eb9569c599ffb709df0a49db4 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Thu, 15 Aug 2013 14:05:40 +0000 Subject: 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. --- morphlib/morphloader.py | 8 +++++--- 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({ -- cgit v1.2.1