-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
128 lines (107 loc) · 3.71 KB
/
main.py
File metadata and controls
128 lines (107 loc) · 3.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
from flask import Flask, render_template, session, request, redirect, url_for
from mysql import *
import secrets
app = Flask(__name__)
app.secret_key = secrets.token_hex(16)
@app.context_processor
def inject_user():
return dict(email=session.get('email'))
@app.route('/')
def index():
articles = get_all_articels()
if articles is None:
articles = []
return render_template('index.html', articles=articles)
@app.route('/login',methods=['GET','POST'])
def login():
if request.method == 'POST':
email = request.form['email']
password = request.form['password']
try:
if log(email,password):
session['email'] = email
return redirect(url_for('cabinet'))
else:
return render_template('login.html')
except:
print('not existed combination with email and password')
else:
return render_template('login.html')
@app.route('/registration', methods=['GET','POST'])
def registration():
if request.method == 'POST':
email = request.form['email']
password = request.form['password']
repeatpassword = request.form['repeatpassword']
if password == repeatpassword:
if not exist_email(email):
if reg(email,password):
session['email'] = email
return redirect(url_for('cabinet'))
else:
print('reg is no sucssed')
return render_template('reg.html')
else:
print('this email already exist')
return render_template('reg.html')
else:
print('password not the same')
return render_template('reg.html')
else:
print('get response')
return render_template('reg.html')
@app.route('/cabinet')
def cabinet():
if 'email' not in session:
return redirect(url_for('login'))
return render_template('cabinet.html', email=session['email'],articles = get_user_articles(session['email']))
@app.route('/add-article',methods=['GET','POST'])
def add_article():
if 'email' not in session:
return redirect(url_for('login'))
if request.method == 'POST':
name = request.form['name']
about = request.form['about']
price = request.form['price']
image = request.files['image']
print('[LOG] call add_article function')
if add_articles(name,about,price,image,session['email']):
print('article added')
return redirect(url_for('cabinet'))
else:
print('something with adding go wrong')
else:
return render_template('add_article.html')
@app.route('/logout')
def logout():
session.clear()
return redirect(url_for('index'))
@app.route('/article/<string:uuid>')
def article(uuid):
return render_template('article.html', data = get_article(uuid))
@app.route('/search')
def search():
response = request.args.get('response')
answer = 1
lenth = len(get_articles_by_name(response))
if lenth == 0:
answer = 0
return render_template('search.html', articles = get_articles_by_name(response), resp=response, answer=answer)
@app.route('/about')
def about():
return render_template('about.html')
@app.route('/delete-article/<string:uuid>')
def delete_article(uuid):
if 'email' not in session:
return redirect(url_for('login'))
print(get_owner(uuid))
print(session['email'])
data = get_owner(uuid)
if data['creator'] == session['email']:
del_article(uuid)
return redirect(url_for('cabinet'))
else:
print('net prav')
return redirect(url_for('cabinet'))
if __name__ == '__main__':
app.run(debug=True)