summaryrefslogtreecommitdiff
path: root/morphlib/morphset.py
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2015-02-20 14:58:46 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2015-09-21 10:20:51 +0000
commit2172c4332e8ee26aba28824293faa552867c4d35 (patch)
treef139d17f1d4f7339e47cd2c47ee202573a230f53 /morphlib/morphset.py
parentf4d3cbaf1d6e5c3bdbb1b2e2c18822ecc25c1ac5 (diff)
downloadmorph-2172c4332e8ee26aba28824293faa552867c4d35.tar.gz
Revert "Remove petrify and unpetrify commands"
This reverts commit d63f41dadf5aa96a8d9254d31e92711ee160245e.
Diffstat (limited to 'morphlib/morphset.py')
-rw-r--r--morphlib/morphset.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/morphlib/morphset.py b/morphlib/morphset.py
index a4cb5dae..17c9cdc4 100644
--- a/morphlib/morphset.py
+++ b/morphlib/morphset.py
@@ -244,3 +244,17 @@ class MorphologySet(object):
return True
self.traverse_specs(process_chunk_spec, wanted_chunk_spec)
+
+ def unpetrify_all(self):
+ '''If a spec is petrified, unpetrify it.
+
+ '''
+
+ def wanted_spec(m, kind, spec):
+ return ('unpetrify-ref' in spec and
+ morphlib.git.is_valid_sha1(spec.get('ref')))
+ def process_spec(m, kind, spec):
+ spec['ref'] = spec.pop('unpetrify-ref')
+ return True
+
+ self.traverse_specs(process_spec, wanted_spec)