コード例 #1
0
ファイル: views.py プロジェクト: a-moiseev/diplom
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)
コード例 #2
0
ファイル: views.py プロジェクト: a-moiseev/diplom
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)
コード例 #3
0
ファイル: resources.py プロジェクト: summerisgone/umc-kurator
    def post(self, request):
        morph = get_morph(join(settings.PROJECT_DIR, 'morph'))
        last_name = self.DATA['last_name']
        first_name = self.DATA['first_name']
        patronymic = self.DATA['patronymic']

        # для склонения фамилии надо определить пол
        try:
            sex = morph.get_graminfo(first_name.upper())[0]['info'].split(',', 1)[0]
        except IndexError:
            # get_graminfo() вернул []
            # print 'get_graminfo failed on ', first_name
            sex = u'жр'
        # фамилия
        last_name_inflated = firstcaps(lastnames_ru.inflect(morph,
            last_name.upper(), sex + u',дт'))
        # имя
        first_name_inflated = firstcaps(morph.inflect_ru(first_name.upper(), u'дт'))
        # отчество
        patronymic_inflated = firstcaps(morph.inflect_ru(patronymic.upper(), sex + u',дт'))
        return {
            'last_name': last_name_inflated,
            'first_name': first_name_inflated,
            'patronymic': patronymic_inflated,
            'user': self.get_user(),
        }
コード例 #4
0
ファイル: views.py プロジェクト: a-moiseev/diplom
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))
コード例 #5
0
ファイル: lastnames_ru.py プロジェクト: Qolt/search_engine
 def test_inflect(self):
     for word, gram_form, expected in self.testcase:
         res = lastnames_ru.inflect(morph_ru, word.upper(), gram_form)
         self.assertEqual(res.capitalize(), expected)
コード例 #6
0
ファイル: lastnames_ru.py プロジェクト: boogiiieee/Delo70
 def test_inflect(self):
     for word, gram_form, expected in self.testcase:
         res = lastnames_ru.inflect(morph_ru, word.upper(), gram_form)
         self.assertEqual(res.capitalize(), expected)