|
3 | 3 | import psycopg2 |
4 | 4 | from dotenv import load_dotenv |
5 | 5 | import validators |
| 6 | +from datetime import datetime |
6 | 7 |
|
7 | 8 | load_dotenv() |
8 | 9 | DATABASE_URL = os.getenv('DATABASE_URL') |
@@ -57,25 +58,36 @@ def urls(): |
57 | 58 | @app.route('/urls/<int:url_id>', methods=['GET']) |
58 | 59 | def url_detail(url_id): |
59 | 60 | conn = get_db_connection() |
60 | | - cur = conn.cursor() |
61 | | - cur.execute('SELECT * FROM urls WHERE id = %s', (url_id,)) |
62 | | - url = cur.fetchone() |
63 | | - cur.close() |
| 61 | + cursor = conn.cursor() |
| 62 | + cursor.execute('SELECT * FROM urls WHERE id = %s', (url_id,)) |
| 63 | + url = cursor.fetchone() |
| 64 | + cursor.close() |
64 | 65 | conn.close() |
65 | | - |
66 | 66 | if url is None: |
67 | | - flash('URL не найден!', 'error') |
| 67 | + flash('Сайт не найден.', 'error') |
68 | 68 | return redirect(url_for('urls')) |
| 69 | + return render_template('result.html', url=url) |
69 | 70 |
|
70 | | - return render_template('url_detail.html', url=url) |
| 71 | + |
| 72 | +@app.route('/urls/<int:url_id>/checks', methods=['POST']) |
| 73 | +def add_check(url_id): |
| 74 | + conn = get_db_connection() |
| 75 | + cursor = conn.cursor() |
| 76 | + try: |
| 77 | + # Здесь вы можете добавить логику для получения status_code, h1, title, description |
| 78 | + # На данный момент заполняем только url_id и created_at |
| 79 | + cursor.execute('INSERT INTO url_checks (url_id, created_at) VALUES (%s, %s)', (url_id, datetime.now())) |
| 80 | + conn.commit() |
| 81 | + flash('Проверка успешно добавлена!', 'success') |
| 82 | + except Exception as e: |
| 83 | + flash('Ошибка при добавлении проверки: ' + str(e), 'error') |
| 84 | + finally: |
| 85 | + cursor.close() |
| 86 | + conn.close() |
| 87 | + |
| 88 | + return redirect(url_for('url_detail', url_id=url_id)) |
71 | 89 |
|
72 | 90 |
|
73 | 91 | if __name__ == '__main__': |
74 | 92 | app.run(debug=True) |
75 | 93 |
|
76 | | - |
77 | | - |
78 | | -# |
79 | | -# @app.route('/urls', methods=['POST']) |
80 | | -# def add_url(): |
81 | | -# pass |
|
0 commit comments