From 58cc002b19e0b31c00e62b515649ba6730b9953c Mon Sep 17 00:00:00 2001 From: Bartłomiej Nitoń <bartomiej@raven.(none)> Date: Fri, 22 Jan 2016 08:55:07 +0100 Subject: [PATCH] Added new semantic validation rule checking whether there are no hanging meanings in the entry. --- semantics/validation.py | 10 ++++++++++ 1 file changed, 10 insertions(+), 0 deletions(-) diff --git a/semantics/validation.py b/semantics/validation.py index bd333a5..5351c29 100644 --- a/semantics/validation.py +++ b/semantics/validation.py @@ -186,6 +186,10 @@ def validate_lexical_units(lemma_id): for lex_unit in lexical_units.all(): if not examples_reflex_agreed(lex_unit): error_msg = u'Semantyka: Znaczenie %s ma podpięte przykłady o niezgodnej zwrotności.' % unicode(lex_unit) + elif hanging_meaning(lex_unit): + error_msg = u'Semantyka: Znaczenie %s nie jest reprezentowane przez żadną ramę semantyczną.' % unicode(lex_unit) + if error_msg: + break return error_msg def examples_reflex_agreed(lexical_unit): @@ -197,3 +201,9 @@ def examples_reflex_agreed(lexical_unit): lex_example.example.arguments.filter(arguments__type__in=reflex_phrase_types()).exists())): return False return True + +def hanging_meaning(lexical_unit): + if lexical_unit.luid < 0 and not lexical_unit.actual_frames().exists(): + return True + return False + \ No newline at end of file -- libgit2 0.22.2