def docs_recenziya(request): # для студента template = webodt.ODFTemplate('recenziya.odt') user = request.user student = get_object_or_404(Student, user=user) if not student.diplomnik: raise Http404 theme = student.theme if student.sex: last_name = (lastnames_ru.inflect(morph, user.last_name.upper(), u'рд,ед,мр')).capitalize() else: last_name = (lastnames_ru.inflect(morph, user.last_name.upper(), u'рд,ед,жр')).capitalize() first_name = (morph.inflect_ru(user.first_name.upper(), u'рд,ед,имя', u'С')).capitalize() middle_name = (morph.inflect_ru(student.middle_name.upper(), u'рд,ед,отч', u'С')).capitalize() of_student_full_name = u'%s %s %s' % (last_name,first_name,middle_name) on_work_type = '' for s in student.type_of_work.name.split(): on_work_type += (morph.inflect_ru(s.upper(), u'вн,ед')).lower() + ' ' context = dict( of_student_full_name = of_student_full_name, theme = theme, on_work_type = on_work_type, ) return shortcuts.render_to_response('recenziya.odt', context)
def docs_zayavlenie(request): # для студента template = webodt.ODFTemplate('zayavlenie_na_vipusknuyu_rabotu.odt') user = request.user student = get_object_or_404(Student, user=user) if not student.diplomnik: raise Http404 theme = student.theme teacher = theme.teacher if student.sex: last_name = (lastnames_ru.inflect(morph, user.last_name.upper(), u'рд,ед,мр')).capitalize() else: last_name = (lastnames_ru.inflect(morph, user.last_name.upper(), u'рд,ед,жр')).capitalize() first_name = (morph.inflect_ru(user.first_name.upper(), u'рд,ед,имя', u'С')).capitalize() middle_name = (morph.inflect_ru(student.middle_name.upper(), u'рд,ед,отч', u'С')).capitalize() from_student_full_name = u'%s %s %s' % (last_name,first_name,middle_name) in_month=(morph.inflect_ru(student.month.upper(), u'пр')).lower() work_type = '' for s in student.type_of_work.name.split(): work_type += (morph.inflect_ru(s.upper(), u'рд,ед')).lower() + ' ' to_teacher_position = '' for s in teacher.position.split(): to_teacher_position += (morph.inflect_ru(s.upper(), u'вн,ед')).lower() + ' ' if teacher.sex: to_teacher_last_name = (lastnames_ru.inflect(morph, teacher.user.last_name.upper(), \ u'вн,ед,мр')).capitalize() else: to_teacher_last_name = (lastnames_ru.inflect(morph, teacher.user.last_name.upper(), \ u'вн,ед,жр')).capitalize() context = dict( from_student_full_name=from_student_full_name, work_type=work_type, in_month=in_month, theme = theme, teacher = teacher, student = student, theme_contents = theme.contents, to_teacher_position = to_teacher_position, to_teacher_initials = u'%s %s.%s.' % (to_teacher_last_name, teacher.user.first_name[0].capitalize(), teacher.middle_name[0].capitalize()), student_initials = u'%s %s.%s.' % (user.last_name.capitalize(), user.first_name[0].capitalize(), student.middle_name[0].capitalize()), ) return shortcuts.render_to_response('zayavlenie_na_vipusknuyu_rabotu.odt', context)
def search_by_touch(object, adj, noun): info = morph.get_graminfo(noun.upper()) for inf in info: adj_ = morph.inflect_ru(adj.upper(), inf['info']) for i in range(2): for j in range(2): string = (noun * i + ' ' * i * j + adj_ * j).lower() if check_object(object, {'name__regex': r'(^' + string + '$)'}): return string string = (adj * (1 - j) + adj_ * i * j + ' ' * i * j + noun * j).lower() if check_object(object, {'name__regex': r'(^' + string + '$)'}): return string return 0
def docs(request): user = request.user student = get_object_or_404(Student, user=user) if not student.diplomnik: raise Http404 if (not student.year) or (not student.month) or (not student.type_of_work_id): if request.method == "POST": form = StudentYearMonthForm(request.POST) if form.is_valid(): student.year = form.cleaned_data['year'] student.month = form.cleaned_data['month'] student.type_of_work = form.cleaned_data['type'] student.save() HttpResponseRedirect(reverse('diplom.project2.views.docs')) form = StudentYearMonthForm() tit = u'Документация' help_text = (u'Введите недостающие данные.',) return render_to_response('form.html', { 'tit':tit, 'form':form, 'help_text':help_text, }, context_instance=RequestContext(request)) #teacher = student.theme.teacher last_name = (lastnames_ru.inflect(morph, user.last_name.upper(), u'рд,ед,мр')).capitalize() first_name = (morph.inflect_ru(user.first_name.upper(), u'рд,ед,имя', u'С')).capitalize() middle_name = (morph.inflect_ru(student.middle_name.upper(), u'рд,ед,отч', u'С')).capitalize() from_student_full_name = u'%s %s %s' % (last_name,first_name,middle_name) return render_to_response('docs.html', {'student':student, 'from_student_full_name':from_student_full_name}, context_instance=RequestContext(request))
def all_declinations(str): # создание списка всех склонений строки cases = ['им', 'рд', 'дт', 'вн', 'тв', 'пр'] number = ['ед', 'мн'] case_num = [','.join([case, num]) for case in cases for num in number] finish = [] for cs in case_num: tmp = [] for word in str.split(): if check_lang(word) == 'ru': tmp.append( morph.inflect_ru( unicode(word).upper(), unicode(cs, "utf-8"))) else: tmp.append(word) finish.append(' '.join(tmp)) finish = set(finish) finish = list(finish) finish = [str.lower() for str in finish] return finish def find_im(lst): # находит им.п lst = [unicode(str).upper() for str in lst] im = []