Commit 80b919c40639714990c39eb3a2b46a01e4ec9448
1 parent
c3920fdf
Added get_pred_prepnp_jako_str2check script listing entries to check.
Showing
1 changed file
with
32 additions
and
0 deletions
dictionary/management/commands/get_pred_prepnp_jako_str2check.py
0 → 100644
1 | +from django.core.management.base import BaseCommand | |
2 | + | |
3 | +from dictionary.models import Lemma | |
4 | + | |
5 | + | |
6 | +class Command(BaseCommand): | |
7 | + | |
8 | + def handle(self, **options): | |
9 | + self.get_lemmas2check() | |
10 | + | |
11 | + def get_lemmas2check(self): | |
12 | + for lemma in Lemma.objects.filter(old=False).order_by('entry_obj__name'): | |
13 | + pred_prepnp_jako_str_exists = False | |
14 | + other_pred_exists = False | |
15 | + for schema in lemma.frames.all(): | |
16 | + for pos in schema.positions.filter(categories__category='pred_controllee'): | |
17 | + for phrase_type in pos.arguments.all(): | |
18 | + if self.phrase_type_is_prepnp_jako_str(phrase_type): | |
19 | + pred_prepnp_jako_str_exists = True | |
20 | + else: | |
21 | + other_pred_exists = True | |
22 | + if pred_prepnp_jako_str_exists and other_pred_exists: | |
23 | + print lemma | |
24 | + break | |
25 | + | |
26 | + def phrase_type_is_prepnp_jako_str(self, phrase_type): | |
27 | + if (phrase_type.text_rep == 'prepnp(jako,str)'): | |
28 | + return True | |
29 | + if (phrase_type.type == 'lex' and | |
30 | + phrase_type.atributes.get(type='TYP FRAZY').values.all()[0].argument.text_rep == 'prepnp(jako,str)'): | |
31 | + return True | |
32 | + return False | |
... | ... |