def subcorp_form(self, request): """ Displays a form to create a new subcorpus """ self.disabled_menu_items = self.CONCORDANCE_ACTIONS + (MainMenu.VIEW, ) method = request.form.get('method', 'gui') subcname = request.form.get('subcname', None) subcnorm = request.args.get('subcnorm', 'tokens') try: tt_sel = get_tt(self.corp, self._plugin_api).export_with_norms(subcnorm=subcnorm) except UserActionException as e: tt_sel = {'Normslist': [], 'Blocks': []} self.add_system_message('warning', e) out = dict(SubcorpList=()) self._attach_aligned_query_params(out) corpus_info = self.get_corpus_info(self.args.corpname) out.update(dict( Normslist=tt_sel['Normslist'], text_types_data=tt_sel, selected_text_types=TextTypeCollector(self.corp, request).get_attrmap(), method=method, subcnorm=subcnorm, id_attr=corpus_info.metadata.id_attr, subcname=subcname, aligned_corpora=request.form.getlist('aligned_corpora') )) return out
def subcorp_form(self, request): """ Displays a form to create a new subcorpus """ self.disabled_menu_items = self.CONCORDANCE_ACTIONS + (MainMenu.VIEW, ) method = request.form.get('method', 'gui') subcname = request.form.get('subcname', None) subcnorm = request.args.get('subcnorm', 'tokens') try: tt_sel = get_tt( self.corp, self._plugin_api).export_with_norms(subcnorm=subcnorm) except UserActionException as e: tt_sel = {'Normslist': [], 'Blocks': []} self.add_system_message('warning', e) out = dict(SubcorpList=()) self._attach_aligned_query_params(out) corpus_info = self.get_corpus_info(self.args.corpname) out.update( dict(Normslist=tt_sel['Normslist'], text_types_data=tt_sel, selected_text_types=TextTypeCollector(self.corp, request).get_attrmap(), method=method, subcnorm=subcnorm, id_attr=corpus_info.metadata.id_attr, subcname=subcname, aligned_corpora=request.form.getlist('aligned_corpora'))) return out
def text_types(self): ans = {} maxlistsize = settings.get_int('global', 'max_attr_list_size') subcorpattrs = self.current_corpus.get_conf('SUBCORPATTRS') if not subcorpattrs: subcorpattrs = self.current_corpus.get_conf('FULLREF') tt = get_tt(self.current_corpus, self).export(subcorpattrs, maxlistsize) for item in tt: for tt2 in item['Line']: ans[tt2['name']] = {'type': 'default', 'values': [x['v'] for x in tt2.get('Values', [])]} return ans
def text_types(self): ans = {} maxlistsize = settings.get_int('global', 'max_attr_list_size') subcorpattrs = self.current_corpus.get_conf('SUBCORPATTRS') if not subcorpattrs: subcorpattrs = self.current_corpus.get_conf('FULLREF') tt = get_tt(self.current_corpus, self).export(subcorpattrs, maxlistsize) for item in tt: for tt2 in item['Line']: ans[tt2['name']] = {'type': 'default', 'values': [x['v'] for x in tt2.get('Values', [])]} return ans
def subcorp_form(self, request): """ Displays a form to create a new subcorpus """ self.disabled_menu_items = self.CONCORDANCE_ACTIONS + (MainMenu.VIEW, ) method = request.form.get('method', 'gui') within_json = request.form.get('within_json', None) if within_json: within_data = json.loads(within_json) else: within_data = [] subcname = request.form.get('subcname', None) subcnorm = request.args.get('subcnorm', 'tokens') try: tt_sel = get_tt( self.corp, self._plugin_api).export_with_norms(subcnorm=subcnorm) except UserActionException as e: tt_sel = {'Normslist': [], 'Blocks': []} self.add_system_message('warning', e) structs_and_attrs = {} for s, a in [ t.split('.') for t in self.corp.get_conf('STRUCTATTRLIST').split(',') ]: if s not in structs_and_attrs: structs_and_attrs[s] = [] structs_and_attrs[s].append(a) out = dict(SubcorpList=()) self._attach_aligned_query_params(out) corpus_info = self.get_corpus_info(self.args.corpname) out.update( dict(Normslist=tt_sel['Normslist'], text_types_data=tt_sel, structs_and_attrs=structs_and_attrs, method=method, within_data=within_data, subcname=subcname, subcnorm=subcnorm, id_attr=corpus_info.metadata.id_attr)) return out
def subcorp_form(self, request, conc_args): """ Displays a form to create a new subcorpus """ self.disabled_menu_items = self.CONCORDANCE_ACTIONS method = request.form.get('method', 'gui') within_json = request.form.get('within_json', 'null') subcname = request.form.get('subcname', None) subcnorm = request.args.get('subcnorm', 'tokens') try: tt_sel = get_tt(self._corp(), self.ui_lang).export_with_norms(subcnorm=subcnorm) except UserActionException as e: tt_sel = {'Normslist': [], 'Blocks': []} self.add_system_message('warning', e) structs_and_attrs = {} for s, a in [t.split('.') for t in self._corp().get_conf('STRUCTATTRLIST').split(',')]: if s not in structs_and_attrs: structs_and_attrs[s] = [] structs_and_attrs[s].append(a) out = {'SubcorpList': ()} if self.environ['REQUEST_METHOD'] == 'POST': self._store_checked_text_types(request.form, out) if plugins.has_plugin('subcmixer'): out['subcmixer_form_data'] = plugins.get('subcmixer').form_data(self._plugin_api) else: out['subcmixer_form_data'] = {} out.update({ 'TextTypeSel': tt_sel, 'structs_and_attrs': structs_and_attrs, 'method': method, 'within_json': within_json, 'subcname': subcname, 'subcnorm': subcnorm }) return out