def reintroduce_field_value(asker, update, input, output, field, value): new_value = asker.ask(translate_field(field, value, update, input, output)) if new_value.has_answer(): return asker.reply(answer=held_update( apply_to_field( fields.modifier(), set_field(fields.implication_about(field),new_value.answer) ), output )) else: return output
def setter_stripper(asker, property, object, field, new_value): if booleans.ask_firmly(asker, builtins.equal(field, fields.modifier())): return asker.reply(value=keep_strip(keep=property))
def application_stripper(asker, property, object, update, field): if booleans.ask_firmly(asker, builtins.equal(field, fields.modifier())): return asker.reply(value=keep_strip(keep=property))
def easy_check(asker, object): #FIXME seems pretty awkward import fields m = fields.get(asker, fields.modifier(), object) return asker.reply(answer=custom_checker.dispatch(asker, m))