diff options
author | Richard Maw <richard.maw@codethink.co.uk> | 2013-02-21 11:40:11 +0000 |
---|---|---|
committer | Richard Maw <richard.maw@codethink.co.uk> | 2013-02-21 11:40:11 +0000 |
commit | a36d1414c114ac9c56ec2852ecc50a14f8add12c (patch) | |
tree | 14aac4258ca7f5ad20920bf7675186ad4bae2370 /morphlib | |
parent | 884a075316940f698ac129860f972d35e24afcfb (diff) | |
parent | 42829e9d9aee1592cbd5391cdb30ab24f43370d1 (diff) | |
download | morph-a36d1414c114ac9c56ec2852ecc50a14f8add12c.tar.gz |
Merge branch 'samthursfield/edit-morph' of git://git.baserock.org/baserock/baserock/morph
This merge includes modifying edit-morph to use self.output.write
instead of print for output.
Diffstat (limited to 'morphlib')
-rw-r--r-- | morphlib/morph2.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/morphlib/morph2.py b/morphlib/morph2.py index 488b7d3b..a95312c6 100644 --- a/morphlib/morph2.py +++ b/morphlib/morph2.py @@ -234,7 +234,7 @@ class Morphology(object): result = live_dict[key] return result - def update_text(self, text, output_fd): + def update_text(self, text, output_fd, convert_to=None): '''Write out in-memory changes to loaded morphology text Similar in function to update_file(). @@ -242,11 +242,15 @@ class Morphology(object): ''' original_dict, dumper = self._load_morphology_dict(text) - output_dict = self._apply_changes(self._dict, original_dict) + if convert_to == 'json': # pragma: no cover + dumper = self._dump_json + elif convert_to == 'yaml': # pragma: no cover + dumper = morphlib.yamlparse.dump + output_dict = self._apply_changes(self._dict, original_dict) dumper(output_dict, output_fd) - def update_file(self, filename, output_fd=None): # pragma: no cover + def update_file(self, filename, output_fd=None, **kws): # pragma: no cover '''Write out in-memory changes to on-disk morphology file This function reads the original morphology text from 'filename', so @@ -258,4 +262,4 @@ class Morphology(object): text = f.read() with output_fd or morphlib.savefile.SaveFile(filename, 'w') as f: - self.update_text(text, f) + self.update_text(text, f, **kws) |