Skip to content

Commit fcef19d

Browse files
committed
fix answer url
1 parent 8dc4a97 commit fcef19d

File tree

1 file changed

+28
-32
lines changed

1 file changed

+28
-32
lines changed

page_analyzer/app.py

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -22,49 +22,46 @@ def get_db_connection():
2222
@app.route('/', methods=['GET', 'POST'])
2323
def index():
2424
if request.method == 'POST':
25-
url = request.form.get('url')
25+
url = request.form['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.get('url')
33-
34-
if not validators.url(url) or len(url) > 255:
35-
flash('Некорректный URL', 'error')
36-
return redirect(url_for('index')), 422 # Возвращаем ошибку 422 с переадресацией на главную страницу
37-
38-
domain = urlparse(url).netloc
32+
url = request.form['url']
33+
return redirect(url_for('urls', url=url))
34+
else:
35+
url = request.args.get('url')
36+
if url:
37+
if not validators.url(url) or len(url) > 255:
38+
flash('Некорректный URL', 'error')
39+
return render_template('index.html'), 422 # Возвращаем ошибку 422 с HTML
3940

40-
with get_db_connection() as conn:
41-
with conn.cursor() as cur:
42-
try:
43-
cur.execute('SELECT id FROM urls WHERE name = %s', (domain,))
44-
existing_url = cur.fetchone()
41+
domain = urlparse(url).netloc
4542

46-
if existing_url:
47-
url_id = existing_url[0]
48-
flash('Страница уже существует', 'error')
49-
return redirect(url_for('url_detail', url_id=url_id))
43+
with get_db_connection() as conn:
44+
with conn.cursor() as cur:
45+
try:
46+
cur.execute('SELECT id FROM urls WHERE name = %s', (domain,))
47+
existing_url = cur.fetchone()
5048

51-
cur.execute('INSERT INTO urls (name) VALUES (%s) RETURNING id', (domain,))
52-
url_id = cur.fetchone()[0]
53-
conn.commit()
54-
flash('Страница успешно добавлена', 'success')
49+
if existing_url:
50+
url_id = existing_url[0]
51+
flash('Страница уже существует', 'error')
52+
return redirect(url_for('url_detail', url_id=url_id))
5553

56-
return redirect(url_for('url_detail', url_id=url_id))
57-
except Exception as e:
58-
conn.rollback()
59-
flash(f'Произошла ошибка: {str(e)}', 'error')
60-
return redirect(url_for('index')), 500 # Возвращаем ошибку 500 с переадресацией на главную страницу
54+
cur.execute('INSERT INTO urls (name) VALUES (%s) RETURNING id', (domain,))
55+
url_id = cur.fetchone()[0]
56+
conn.commit()
57+
flash('Страница успешно добавлена', 'success')
6158

62-
else:
63-
# Обработка GET-запроса
64-
url = request.args.get('url')
65-
if url:
66-
return redirect(url_for('urls')) # Если URL передан, просто перенаправляем на тот же маршрут
59+
return redirect(url_for('url_detail', url_id=url_id))
60+
except Exception as e:
61+
conn.rollback()
62+
flash(f'Произошла ошибка: {str(e)}', 'error')
6763

64+
# Если URL не передан, или если запрос POST без URL, получаем все URL из БД
6865
with get_db_connection() as conn:
6966
with conn.cursor() as cur:
7067
cur.execute('''
@@ -84,7 +81,6 @@ def urls():
8481

8582

8683

87-
8884
@app.route('/urls/<int:url_id>', methods=['GET'])
8985
def url_detail(url_id):
9086
conn = get_db_connection()

0 commit comments

Comments
 (0)