def compare_phoible(request): msg = None lang1 = None lang2 = None if request.method == 'GET' and 'l1' in request.GET and 'l2' in request.GET: l1 = request.GET['l1'] l2 = request.GET['l2'] langs = phoible.loadlangs() lang1 = langs[l1] lang2 = langs[l2] lps1 = lang1.phoible_set lps2 = lang2.phoible_set msg = "Showing phonetic results for {0} and {1}".format(lang1.name,lang2.name) return render(request, 'compare.html', {'featlist' : None, 'msg' : msg, 'l1':l1, 'l2':l2, 'featsets': {'common': lps1.intersection(lps2), 'l1sounds': lps1.difference(lps2), 'l2sounds': lps2.difference(lps1)} })
from django.shortcuts import render from langsim import langsim from langsim import phoible from django import forms from crispy_forms.helper import FormHelper from crispy_forms.layout import Submit print "Loading phoible langs now..." langs = phoible.loadlangs() class LangForm(forms.Form): language = forms.ChoiceField(label=u'Target Language', choices=[], widget=forms.Select(), required=True) #only_hr = forms.BooleanField(label=u'See only High Resource Languages', initial=True, widget=forms.CheckboxInput(attrs={'disabled': False}), required=True) #scripts = forms.BooleanField(label=u'Take script distance into account', initial=True, widget=forms.CheckboxInput(), required=True) #use_wals = forms.BooleanField(label=u'Use WALS features in ranking', initial=True, widget=forms.CheckboxInput(), required=True) def __init__(self, *args, **kwargs): lang_choices = kwargs.pop('lang') action = kwargs.pop('action') super(LangForm, self).__init__(*args, **kwargs) self.fields['language'].choices = lang_choices self.helper = FormHelper() self.helper.form_action = action self.helper.form_method = "get" self.helper.form_class = 'form-horizontal' self.helper.label_class = 'col-lg-2' self.helper.field_class = 'col-lg-8'