def search(): if request.method == 'POST': if g.search_form.validate_on_submit(): n = unicode(g.search_form.select.data) text = unicode(g.search_form.text.data) if n == 'group': if text.isdigit(): return render_template('search_result.html', type=n, data=Group.get_group_by_number_like(int(text)), count=Specialty.count() + 1) elif text.isalpha(): return render_template('search_result.html', type=n, data=Group.get_by_specialty_like(text), count=Specialty.count() + 1) else: if text.find(' ') != -1: arr = text.split(' ') if arr[0].isdigit(): return render_template('search_result.html', type=n, data=Group.get_by_number_and_specialty(arr[0], arr[1]), count=Specialty.count() + 1) else: return render_template('search_result.html', type=n, data=Group.get_by_number_and_specialty(arr[1], arr[0]), count=Specialty.count() + 1) elif n == 'lecturer': if text.isalpha(): return render_template('search_result.html', type=n, data=Lecturer.get_by_name(text)) elif n == 'subject': if text.isalnum(): return render_template('search_result.html', type=n, data=Subject.get_by_substring(text), text=text) return redirect(url_for('index')) return redirect(url_for('group_timetable', group_number=427, week=get_week()))