Commit d4f49bb7fb36697adb7a764b4720585b6e917230

Authored by Bartłomiej Nitoń
1 parent d28cc548

Removed confirm button from lemma examples view. Updated get_stats function.

dictionary/ajax_argument_form.py
... ... @@ -59,7 +59,7 @@ def argument_form(request, form_data, lemma_id, position_arguments,
59 59 lemma_pos = None
60 60 if lemma_id:
61 61 lemma_obj = Lemma.objects.get(pk=lemma_id)
62   - lemma_pos = Entry.objects.get(name=lemma_obj.entry).pos
  62 + lemma_pos = lemma_obj.entry_obj.pos
63 63 # jesli wybieramy argument do pozycji w modyfikacji lub jeden
64 64 # z argumentow do zleksykalizowanego compara to dostepne sa modele argumentow
65 65 # dla wszystkich czesci mowy
... ...
dictionary/ajax_vocabulary_management.py
... ... @@ -36,8 +36,7 @@ from django.utils.encoding import smart_str
36 36 from common.decorators import ajax, AjaxError, render
37 37 from dictionary.forms import ManageVocabPermForm
38 38 from dictionary.models import Frame_Opinion_Value, Lemma, Lemma_Status, \
39   - POS, Vocabulary, VocabularyFormat, WalentyStat,\
40   - sorted_frame_char_values_dict
  39 + POS, Vocabulary, VocabularyFormat, WalentyStat
41 40 from dictionary.teixml import createteixml
42 41  
43 42 TEXT_VOCABULARY_CLAUSE = u"""
... ... @@ -128,17 +127,12 @@ def create_tei_walenty(lemmas, form_dict):
128 127 os.chdir(tmp_folder)
129 128 tmpfile, tmpfilename = mkstemp(dir=tmp_folder)
130 129 os.close(tmpfile)
131   - frame_chars_dict = sorted_frame_char_values_dict()
132 130 q_frame_opinions = []
133 131 if form_dict['frame_opinions']:
134 132 for pk in form_dict['frame_opinions']:
135 133 q_frame_opinions.append(Q(value__pk=pk))
136 134 createteixml(tmpfilename,
137   - lemmas,
138   - sort_reflex_vals=frame_chars_dict['sorted_reflex_vals'],
139   - sort_aspect_vals=frame_chars_dict['sorted_aspect_vals'],
140   - sort_neg_vals=frame_chars_dict['sorted_neg_vals'],
141   - sort_pred_vals=frame_chars_dict['sorted_pred_vals'],
  135 + lemmas,
142 136 frame_char_models=[],
143 137 form_dict=form_dict,
144 138 q_frame_opinions=q_frame_opinions)
... ... @@ -154,11 +148,11 @@ def create_text_walenty(file_name, lemmas, vocabularies, frame_opinions,
154 148 lemma_statuses, owners, poss, add_frame_opinions))
155 149 for lemma in lemmas:
156 150 founded_frame_opinions = lemma.frame_opinions.filter(value__in=frame_opinions)
157   - frame_chars_dict = sorted_frame_char_values_dict()
158   - for reflex_val in frame_chars_dict['sorted_reflex_vals']:
159   - for neg_val in frame_chars_dict['sorted_neg_vals']:
160   - for pred_val in frame_chars_dict['sorted_pred_vals']:
161   - for aspect_val in frame_chars_dict['sorted_aspect_vals']:
  151 + #frame_chars_dict = sorted_frame_char_values_dict()
  152 + for reflex_val in lemma.get_existing_frame_char_values(u'ZWROTNOŚĆ'):
  153 + for neg_val in lemma.get_existing_frame_char_values(u'NEGATYWNOŚĆ'):
  154 + for pred_val in lemma.get_existing_frame_char_values(u'PREDYKATYWNOŚĆ'):
  155 + for aspect_val in lemma.get_existing_frame_char_values(u'ASPEKT'):
162 156 matching_frames = lemma.get_frames_by_char_values(reflex_val=reflex_val,
163 157 neg_val=neg_val,
164 158 pred_val=pred_val,
... ... @@ -207,7 +201,6 @@ def create_copyrights_str(vocabularies_pks, frame_opinions_pks,
207 201 return copyrights
208 202  
209 203 def create_tex_walenty(lemmas, form_dict):
210   - frame_chars_dict = sorted_frame_char_values_dict()
211 204 q_frame_opinions = []
212 205 if form_dict['frame_opinions']:
213 206 for pk in form_dict['frame_opinions']:
... ... @@ -219,10 +212,6 @@ def create_tex_walenty(lemmas, form_dict):
219 212 # Pass the TeX template through Django templating engine and into the temp file
220 213 os.write(tmpfile, smart_str(h.unescape(render_to_string('tex/slowal.tex', {'lemmas': lemmas,
221 214 'q_frame_opinions': q_frame_opinions,
222   - 'sort_reflex_vals': frame_chars_dict['sorted_reflex_vals'],
223   - 'sort_aspect_vals': frame_chars_dict['sorted_aspect_vals'],
224   - 'sort_neg_vals' : frame_chars_dict['sorted_neg_vals'],
225   - 'sort_pred_vals' : frame_chars_dict['sorted_pred_vals'],
226 215 'download_dict' : form_dict}))))
227 216 os.close(tmpfile)
228 217 file_name = tmpfilename + '.tex'
... ... @@ -379,8 +368,7 @@ def get_stats(statuses, pos):
379 368 return stats_dict
380 369  
381 370 def get_sub_entries_dict(lemma):
382   - sub_entries_dict = {'sub_lemmas': 0}
383   - #frame_chars_dict = sorted_frame_char_values_dict()
  371 + sub_entries_dict = {'sub_lemmas': 0}
384 372 for reflex in lemma.get_existing_frame_char_values(u'ZWROTNOŚĆ'):
385 373 for neg in lemma.get_existing_frame_char_values(u'NEGATYWNOŚĆ'):
386 374 for pred in lemma.get_existing_frame_char_values(u'PREDYKATYWNOŚĆ'):
... ...
dictionary/models.py
... ... @@ -213,7 +213,7 @@ class Lemma(Model):
213 213 blank=True, null=True, related_name='lemmas')
214 214  
215 215 def __unicode__(self):
216   - return '%s (%s)' % (self.entry, self.vocabulary)
  216 + return '%s (%s)' % (self.entry, self.vocabulary)
217 217  
218 218 def get_frames_by_char_values(self, reflex_val, neg_val, pred_val, aspect_val):
219 219 matching_frames = self.frames.filter(characteristics__value=reflex_val
... ... @@ -227,8 +227,9 @@ class Lemma(Model):
227 227 for frame in self.frames.all():
228 228 char_value = frame.get_char_value(char_type)
229 229 if not char_value in char_vals:
230   - char_vals.append(char_value)
231   - return char_vals
  230 + char_vals.append(char_value.pk)
  231 + char_vals_query = Frame_Char_Value.objects.filter(pk__in=char_vals)
  232 + return char_vals_query.order_by('-priority')
232 233  
233 234 def contains_frame_with_exact_positions(self, positions):
234 235 contains = False
... ...
dictionary/static/js/lemma-view.js
... ... @@ -766,7 +766,6 @@ function selectLemmaNkjpTr(id)
766 766  
767 767 nkjpInstance = getNkjpLemmaExampleInstance(window.nkjp_lemma_examples, id);
768 768 fill_nkjp_example_form(nkjpInstance, '.lemma-example-form');
769   - needConfirmation(nkjpInstance);
770 769 }
771 770 }
772 771  
... ... @@ -822,19 +821,11 @@ function needConfirmation(nkjpInstance) {
822 821 },
823 822  
824 823 callback: function(result) {
825   - if(result['can_confirm'])
826   - {
827   - if(nkjpInstance.frame_id)
  824 + if(result['can_confirm']) {
828 825 $("button#confirm_example").css("visibility","visible");
829   - else
830   - $("button#confirm_lemma_example").css("visibility","visible");
831 826 }
832   - else
833   - {
834   - if(nkjpInstance.frame_id)
  827 + else {
835 828 $("button#confirm_example").css("visibility","hidden");
836   - else
837   - $("button#confirm_lemma_example").css("visibility","hidden");
838 829 }
839 830 },
840 831 error_callback: function(xhr, status, error) {
... ...
dictionary/teixml.py
... ... @@ -39,14 +39,12 @@ from dictionary.models import Atribute_Model, Frame_Opinion_Value, Frame_Char_Mo
39 39 XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'
40 40  
41 41  
42   -def createteixml(outpath, lemmas, sort_reflex_vals,
43   - sort_aspect_vals, sort_neg_vals, sort_pred_vals, frame_char_models,
  42 +def createteixml(outpath, lemmas, frame_char_models,
44 43 form_dict, q_frame_opinions):
45 44 root = write_root()
46 45 write_header(root)
47 46 lemmas = lemmas.filter(entry=u'administrować')
48   - write_entries(root, lemmas, sort_reflex_vals,
49   - sort_aspect_vals, sort_neg_vals, sort_pred_vals, frame_char_models,
  47 + write_entries(root, lemmas, frame_char_models,
50 48 form_dict, q_frame_opinions)
51 49 with codecs.open(outpath, 'wt', 'utf-8') as output_file:
52 50 output_file.write(etree.tostring(root, pretty_print = True))
... ... @@ -75,8 +73,7 @@ def write_header(root):
75 73 p = etree.SubElement(source_desc, 'p')
76 74 p.text = 'File generated using Slowal. Mentioned tool available at: walenty.ipipan.waw.pl.'
77 75  
78   -def write_entries(root, lemmas, sort_reflex_vals,
79   - sort_aspect_vals, sort_neg_vals, sort_pred_vals, frame_char_models,
  76 +def write_entries(root, lemmas, frame_char_models,
80 77 form_dict, q_frame_opinions):
81 78 text = etree.SubElement(root, 'text')
82 79 body = etree.SubElement(text, 'body')
... ... @@ -84,13 +81,10 @@ def write_entries(root, lemmas, sort_reflex_vals,
84 81 frame_opinions = None
85 82 if q_frame_opinions:
86 83 frame_opinions = lemma.frame_opinions.filter(reduce(operator.or_, q_frame_opinions))
87   - write_entry(body, lemma, sort_reflex_vals,
88   - sort_aspect_vals, sort_neg_vals, sort_pred_vals, frame_char_models,
  84 + write_entry(body, lemma, frame_char_models,
89 85 form_dict, frame_opinions)
90 86  
91   -def write_entry(body_elem, lemma, sort_reflex_vals,
92   - sort_aspect_vals, sort_neg_vals, sort_pred_vals,
93   - frame_char_models, form_dict, frame_opinions):
  87 +def write_entry(body_elem, lemma, frame_char_models, form_dict, frame_opinions):
94 88 entry_xml_id = 'wal_%s-ent' % str(lemma.entry_obj.id)
95 89 entry_elem = etree.SubElement(body_elem, 'entry')
96 90 entry_elem.attrib[etree.QName(XML_NAMESPACE, 'id')] = entry_xml_id
... ... @@ -101,19 +95,13 @@ def write_entry(body_elem, lemma, sort_reflex_vals,
101 95 pos_elem = etree.SubElement(form_elem, 'pos')
102 96 pos_elem.text = lemma.entry_obj.pos.tag
103 97  
104   - write_syntactic_layer(entry_elem, lemma, form_dict,
105   - sort_reflex_vals, sort_aspect_vals,
106   - sort_neg_vals, sort_pred_vals,
107   - frame_opinions)
  98 + write_syntactic_layer(entry_elem, lemma, form_dict, frame_opinions)
108 99 write_examples_layer(entry_elem, lemma)
109 100 write_semantic_layer(entry_elem, lemma)
110 101 write_meanings_layer(entry_elem, lemma)
111 102 write_connections_layer(entry_elem, lemma)
112 103  
113   -def write_syntactic_layer(entry_elem, lemma, form_dict,
114   - sort_reflex_vals, sort_aspect_vals,
115   - sort_neg_vals, sort_pred_vals,
116   - frame_opinions):
  104 +def write_syntactic_layer(entry_elem, lemma, form_dict, frame_opinions):
117 105 synt_layer_fs_elem = etree.SubElement(entry_elem, 'fs')
118 106 synt_layer_fs_elem.attrib['type'] = 'syntacticLayer'
119 107 schemata_f_elem = etree.SubElement(synt_layer_fs_elem, 'f')
... ... @@ -121,10 +109,10 @@ def write_syntactic_layer(entry_elem, lemma, form_dict,
121 109 vColl_elem = etree.SubElement(schemata_f_elem, 'vColl')
122 110 vColl_elem.attrib['org'] = 'set'
123 111  
124   - for reflex_val in sort_reflex_vals:
125   - for neg_val in sort_neg_vals:
126   - for pred_val in sort_pred_vals:
127   - for aspect_val in sort_aspect_vals:
  112 + for reflex_val in lemma.get_existing_frame_char_values(u'ZWROTNOŚĆ'):
  113 + for neg_val in lemma.get_existing_frame_char_values(u'NEGATYWNOŚĆ'):
  114 + for pred_val in lemma.get_existing_frame_char_values(u'PREDYKATYWNOŚĆ'):
  115 + for aspect_val in lemma.get_existing_frame_char_values(u'ASPEKT'):
128 116 matchingframes = lemma.get_frames_by_char_values(reflex_val=reflex_val,
129 117 neg_val=neg_val,
130 118 pred_val=pred_val,
... ... @@ -606,13 +594,13 @@ def write_synsets_sel_prefs(parent_elem, arg):
606 594 write_synset(vColl_elem, synset)
607 595  
608 596 def write_synset(parent_elem, synset):
609   - synset_fs_elem = etree.SubElement(parent_elem, 'fs')
610   - synset_fs_elem.attrib['type'] = 'synset'
611   -
612   - plWN_id_elem = etree.SubElement(synset_fs_elem, 'f')
613   - plWN_id_elem.attrib['name'] = 'plwnid'
  597 +# synset_fs_elem = etree.SubElement(parent_elem, 'fs')
  598 +# synset_fs_elem.attrib['type'] = 'synset'
  599 +#
  600 +# plWN_id_elem = etree.SubElement(synset_fs_elem, 'f')
  601 +# plWN_id_elem.attrib['name'] = 'plwnid'
614 602  
615   - id_numeric_elem = etree.SubElement(plWN_id_elem, 'numeric')
  603 + id_numeric_elem = etree.SubElement(parent_elem, 'numeric')
616 604 id_numeric_elem.attrib['value'] = str(synset.id)
617 605  
618 606 def write_predefined_sel_prefs(parent_elem, arg):
... ... @@ -628,13 +616,13 @@ def write_predefined_sel_prefs(parent_elem, arg):
628 616 write_predef(vColl_elem, predef)
629 617  
630 618 def write_predef(parent_elem, predef):
631   - predef_fs_elem = etree.SubElement(parent_elem, 'fs')
632   - predef_fs_elem.attrib['type'] = 'predef'
633   -
634   - name_f_elem = etree.SubElement(predef_fs_elem, 'f')
635   - name_f_elem.attrib['name'] = 'name'
  619 +# predef_fs_elem = etree.SubElement(parent_elem, 'fs')
  620 +# predef_fs_elem.attrib['type'] = 'predef'
  621 +#
  622 +# name_f_elem = etree.SubElement(predef_fs_elem, 'f')
  623 +# name_f_elem.attrib['name'] = 'name'
636 624  
637   - name_symbol_elem = etree.SubElement(name_f_elem, 'symbol')
  625 + name_symbol_elem = etree.SubElement(parent_elem, 'symbol')
638 626 name_symbol_elem.attrib['value'] = predef.name
639 627  
640 628 def write_relation_sel_prefs(parent_elem, arg, arg_base_id):
... ...
dictionary/templates/lemma_examples.html
... ... @@ -12,10 +12,6 @@
12 12 assign_lemma_example(selected_lemma_example_id)
13 13 });
14 14  
15   - $("button#confirm_lemma_example").click(function(){
16   - confirm_lemma_example(selected_lemma_example_id)
17   - });
18   -
19 15 </script>
20 16  
21 17 <strong>Przykłady niepasujące do żadnego schematu:</strong>
... ... @@ -44,7 +40,6 @@
44 40 {% if perms.dictionary.modify_lemma_examples %}
45 41 <button type="button" id="delete_lemma_example" style="width:140px">Usuń</button>
46 42 <button type="button" id="modify_lemma_example" style="width:140px">Modyfikuj</button>
47   - <button type="button" id="confirm_lemma_example" style="width:140px; visibility:hidden;">Potwierdź</button>
48 43 {% endif %}
49 44 </div>
50 45 {% endif %}
... ...
dictionary/templatetags/tex_tags.py
... ... @@ -84,8 +84,7 @@ def convtotex(example):
84 84  
85 85 # do pomocy przy pobieraniu slownika w formacie pdf
86 86 @register.inclusion_tag('tex/lemma.tex')
87   -def lemma_tex(lemma, loop_counter, q_frame_opinions, sort_reflex_vals,
88   - sort_aspect_vals, sort_neg_vals, sort_pred_vals, download_dict):
  87 +def lemma_tex(lemma, loop_counter, q_frame_opinions, download_dict):
89 88 lemma_examples = lemma.lemma_nkjp_examples.order_by('source__priority',
90 89 'opinion__priority',
91 90 'sentence').all()
... ... @@ -95,10 +94,10 @@ def lemma_tex(lemma, loop_counter, q_frame_opinions, sort_reflex_vals,
95 94 frames = []
96 95 if q_frame_opinions:
97 96 frame_opinions = lemma.frame_opinions.filter(reduce(operator.or_, q_frame_opinions))
98   - for reflex_val in sort_reflex_vals:
99   - for neg_val in sort_neg_vals:
100   - for pred_val in sort_pred_vals:
101   - for aspect_val in sort_aspect_vals:
  97 + for reflex_val in lemma.get_existing_frame_char_values(u'ZWROTNOŚĆ'):
  98 + for neg_val in lemma.get_existing_frame_char_values(u'NEGATYWNOŚĆ'):
  99 + for pred_val in lemma.get_existing_frame_char_values(u'PREDYKATYWNOŚĆ'):
  100 + for aspect_val in lemma.get_existing_frame_char_values(u'ASPEKT'):
102 101 matching_frames = lemma.get_frames_by_char_values(reflex_val=reflex_val,
103 102 neg_val=neg_val,
104 103 pred_val=pred_val,
... ...