Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
Archivo: views.py Proyecto: kyromen/FED
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
Ejemplo n.º 4
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))
Ejemplo n.º 5
0

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 = []