Skip to content

Commit d656f26

Browse files
committed
fix answer url
1 parent c770c8c commit d656f26

File tree

1 file changed

+10
-29
lines changed

1 file changed

+10
-29
lines changed

page_analyzer/app.py

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,19 @@ def get_db_connection():
2222
@app.route('/', methods=['GET', 'POST'])
2323
def index():
2424
if request.method == 'POST':
25-
url = request.form['url']
25+
url = request.form.get('url')
2626
return redirect(url_for('urls', url=url))
2727
return render_template('index.html')
2828

2929
@app.route('/urls', methods=['GET', 'POST'])
3030
def urls():
3131
if request.method == 'POST':
32-
url = request.form['url']
32+
url = request.form.get('url')
33+
34+
# Проверка валидности URL
3335
if not validators.url(url) or len(url) > 255:
3436
flash('Некорректный URL', 'error')
35-
return render_template('index.html'), 422 # Возвращаем ошибку 422 с HTML
37+
return redirect(url_for('index')), 422 # Возвращаем ошибку 422 с переадресацией на главную страницу
3638

3739
domain = urlparse(url).netloc
3840

@@ -56,36 +58,13 @@ def urls():
5658
except Exception as e:
5759
conn.rollback()
5860
flash(f'Произошла ошибка: {str(e)}', 'error')
61+
return redirect(url_for('index')), 500 # Возвращаем ошибку 500 с переадресацией на главную страницу
5962

6063
else:
64+
# Обработка GET-запроса
6165
url = request.args.get('url')
6266
if url:
63-
if not validators.url(url) or len(url) > 255:
64-
flash('Некорректный URL', 'error')
65-
return render_template('index.html'), 422 # Возвращаем ошибку 422 с HTML
66-
67-
domain = urlparse(url).netloc
68-
69-
with get_db_connection() as conn:
70-
with conn.cursor() as cur:
71-
try:
72-
cur.execute('SELECT id FROM urls WHERE name = %s', (domain,))
73-
existing_url = cur.fetchone()
74-
75-
if existing_url:
76-
url_id = existing_url[0]
77-
flash('Страница уже существует', 'error')
78-
return redirect(url_for('url_detail', url_id=url_id))
79-
80-
cur.execute('INSERT INTO urls (name) VALUES (%s) RETURNING id', (domain,))
81-
url_id = cur.fetchone()[0]
82-
conn.commit()
83-
flash('Страница успешно добавлена', 'success')
84-
85-
return redirect(url_for('url_detail', url_id=url_id))
86-
except Exception as e:
87-
conn.rollback()
88-
flash(f'Произошла ошибка: {str(e)}', 'error')
67+
return redirect(url_for('urls')) # Если URL передан, просто перенаправляем на тот же маршрут
8968

9069
with get_db_connection() as conn:
9170
with conn.cursor() as cur:
@@ -105,6 +84,8 @@ def urls():
10584
return render_template('urls.html', urls=urls)
10685

10786

87+
88+
10889
@app.route('/urls/<int:url_id>', methods=['GET'])
10990
def url_detail(url_id):
11091
conn = get_db_connection()

0 commit comments

Comments
 (0)