diff options
Diffstat (limited to 'morphlib/morphset.py')
-rw-r--r-- | morphlib/morphset.py | 14 |
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) |