From 48f4e8fac86b1a50cf14206b5f348151233dedb1 Mon Sep 17 00:00:00 2001 From: burzuf Date: Tue, 17 Mar 2020 22:11:31 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=B7=D0=B0=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=BE=D0=B2=20?= =?UTF-8?q?=D1=82=D1=80=D0=B8=D0=B3=D0=B3=D0=B5=D1=80=D0=BE=D0=B2=20=D0=B8?= =?UTF-8?q?=20=D1=8D=D0=BA=D1=88=D0=B5=D0=BD=D0=BE=D0=B2,=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B0=20=D0=B1=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __init__.py | 29 +++++++++++++++++------------ db_routing.py | 30 ++++++++++++++++++++++-------- templates/workshop.html | 34 ++++++++++++---------------------- 3 files changed, 51 insertions(+), 42 deletions(-) diff --git a/__init__.py b/__init__.py index b461ab1..9e31243 100644 --- a/__init__.py +++ b/__init__.py @@ -1,6 +1,6 @@ from flask import render_template, request, redirect, url_for import db_routing -from flask_login import LoginManager, login_user, login_required, logout_user +from flask_login import LoginManager, login_user, login_required, logout_user, current_user from db_routing import app, db import os import hashlib @@ -11,7 +11,7 @@ login_manager = LoginManager(app) @login_manager.user_loader def load_user(user_id): - return db_routing.find_user(id=user_id) + return db_routing.get_user(id=user_id) @app.route('/', methods=['GET']) @@ -20,13 +20,15 @@ def index(): @app.route('/registration', methods=['GET', 'POST']) -def register(): +def registration(): if request.method == 'POST': userName = request.form['RegUserLogin'] userPassw = request.form['RegUserPassw'] if string_check(userName) and string_check(userPassw): + print('попытка регистрации') if db_routing.add_user(userName, passw_hash(userPassw)): - login_user(db_routing.find_user(username=userName)) + print(db_routing.get_user(username=userName)) + login_user(db_routing.get_user(username=userName)) return redirect(url_for('workshop')) return render_template('registration.html') @@ -41,10 +43,10 @@ def login(): login_user(user) return redirect(url_for('workshop')) else: - return redirect(url_for('register')) + return redirect(url_for('registration')) else: - return redirect(url_for('register')) + return redirect(url_for('registration')) @app.route('/logout') @@ -56,12 +58,16 @@ def logout(): @app.route('/workshop', methods=['GET']) @login_required def workshop(): - return render_template('workshop.html') + triggers_list = db_routing.get_trigers() + actions_list = db_routing.get_actions() + user_scripts_list = db_routing.get_user_scripts(current_user.get_id()) + return render_template('workshop.html', triggers_list=triggers_list, actions_list=actions_list, + user_scripts_list=user_scripts_list) -@app.errorhandler(Exception) -def universal_error(error): - return render_template('error.html'), 404 +# @app.errorhandler(Exception) +# def universal_error(error): +# return render_template('error.html'), 404 def string_check(string): @@ -84,8 +90,7 @@ def passw_hash(user_passw, salt=os.urandom(32)): def verify_password(username, password): - User = db_routing.find_user(username=username) - print(User) + User = db_routing.get_user(username=username) if User: userSalt = User.password[:32] if passw_hash(password, userSalt) == User.password: diff --git a/db_routing.py b/db_routing.py index 9dcb68b..acf26ad 100644 --- a/db_routing.py +++ b/db_routing.py @@ -13,10 +13,12 @@ class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) password = db.Column(db.String(120), nullable=False) + telegram_username = db.Column(db.String(80), unique=True) - def __init__(self, username, password): + def __init__(self, username, password, telegram_username=None): self.username = username self.password = password + self.telegram_username = telegram_username def is_active(self): return True @@ -31,15 +33,15 @@ class User(db.Model): class Trigger(db.Model): __tablename__ = 'Triggers' id = db.Column(db.Integer, primary_key=True) - triggername = db.Column(db.String(80), unique=True, nullable=False) - trigger_def = db.Column(db.String(200)) + name = db.Column(db.String(80), unique=True, nullable=False) + def_name = db.Column(db.String(200)) class Action(db.Model): __tablename__ = 'Actions' id = db.Column(db.Integer, primary_key=True) - actionname = db.Column(db.String(80), unique=True, nullable=False) - action_def = db.Column(db.String(200)) + name = db.Column(db.String(80), unique=True, nullable=False) + def_nme = db.Column(db.String(200)) class Scenario(db.Model): @@ -53,7 +55,7 @@ class Scenario(db.Model): def add_user(user_name, passw_hash): - if not find_user(user_name): + if not get_user(user_name): new_user = User(username=user_name, password=passw_hash) db.session.add(new_user) db.session.commit() @@ -63,11 +65,23 @@ def add_user(user_name, passw_hash): return False -def find_user(id=None, username=None): +def get_user(id=None, username=None): if id: return User.query.filter_by(id=id).first() if username: return User.query.filter_by(username=username).first() -# def get_trigers(): +def get_trigers(): + triggers_list = Trigger.query.all() + return triggers_list + + +def get_actions(): + actions_list = Action.query.all() + return actions_list + + +def get_user_scripts(current_user_id): + user_scripts_list = Scenario.query.filter_by(owner_id=current_user_id).all() + return user_scripts_list diff --git a/templates/workshop.html b/templates/workshop.html index 615c03c..9c4f9db 100644 --- a/templates/workshop.html +++ b/templates/workshop.html @@ -56,11 +56,9 @@ Условие:
@@ -96,18 +92,12 @@