def process_message(self, data: dict): try: self.averager_job.toggle_job() self.averager_job.channels.append(data["channel"]) user_service = UserService() user = user_service.get_by_id(data["user"]) # get user's username(not DISPLAY NAME) if he doesn't exist in the db if not user: username = self.slack_client.api_call( method="users.info", user=data["user"])["user"]["name"] user = UserModel(username=username, user_id=data["user"]) numbers = self.parse_numbers(data["text"]) if numbers: for number in numbers: user.total_numbers += 1 user.sum_numbers = user.sum_numbers + number self.outputs.append([ data['channel'], f"from {user.username} {user.calculate_average()}" ]) user_service.post(user) except Exception as e: # Added this so exceptions could be seen in the terminal where the bot is running import traceback traceback.print_exc() print(str(e))
def post(self): data = UserRegister.parser.parse_args() if UserModel.find_by_username(data['username']): return {"message": "A user with that username already exists"}, 400 user = UserModel(data['username'], data['password']) user.save_to_db() return {"message": "User created successfully."}, 201
def signin(): form = LoginForm() if form.validate_on_submit(): user_name = form.username.data password = form.password.data user_model = UserModel(db.get_connection()) user_model.insert(user_name, password) return redirect('/login') return render_template('sign_in.html', title='Регестрация', form=form)
def post(self): data = UserRegister.parser.parse_args() if UserModel.find_by_username(data['username']) return {'message': 'usernamen alreaduy exist'}, 400 user = UserModel(**data) user.save_to_db() return{'message': 'A user was created successfully'},201
def update(self, form_data): """Updates a category and returns a json object""" try: user = UserModel(form_data['user_token']) form_data['created_by'] = user.email category = CategoryModel(form_data).update(self.db_session) except exc.IntegrityError as e: self.db_session.rollback() category = CategoryModel({'errors': 'Error Updating Category'}) finally: self.db_session.close() return jsonify(category.attributes())
def login(): form = LoginForm() if form.validate_on_submit(): user_name = form.username.data password = form.password.data user_model = UserModel(db.get_connection()) exists = user_model.exists(user_name, password) if (exists[0]): session['username'] = user_name session['user_id'] = exists[1] return redirect("/index") return render_template('login.html', title='Авторизация', form=form)
def update(self, form_data): """Updates an item and returns a json object with the item values""" try: """form includes user_token, which is used to get user email""" user = UserModel(form_data['user_token']) form_data['created_by'] = user.email item = ItemModel(form_data).update(self.db_session) except exc.IntegrityError as e: self.db_session.rollback() item = ItemModel({'errors': 'Error Updating Item'}) finally: self.db_session.close() return jsonify(item.attributes())
def create(self, form_data): """Creates a new category and returns a json object""" try: """form includes user_token, which is used to get user email""" user = UserModel(form_data['user_token']) form_data['created_by'] = user.email category = CategoryModel(form_data).create(self.db_session) except exc.IntegrityError as e: self.db_session.rollback() category = CategoryModel({'errors': 'failed to update database'}) finally: self.db_session.close() return jsonify(category.attributes())
def delete(self, name, form_data): """Deletes a category and returns a json object""" try: """form includes user_token, which is used to get user email""" user = UserModel(form_data['user_token']) category = CategoryModel( {'name': name, 'created_by': user.email} ).delete(self.db_session) except exc.IntegrityError as e: self.db_session.rollback() category = CategoryModel({'errors': 'Error Deleting Category'}) finally: self.db_session.close() return jsonify(category.attributes())
def post(self): data = UserRegister.parser.parse_args() regex = '^(\w|\.|\_|\-)+[@](\w|\_|\-|\.)+[.]\w{2,3}$' if UserModel.find_by_user(data['username'], 'username'): return { 'status': 'failed', "message": "A user with that username already exists" }, 400 elif not re.search(regex, data['email']): return {'status': 'failed', "message": "Invalid Email"}, 400 elif data['password'] != data['passwordConfirm']: return {'status': 'failed', "message": " Password not match"}, 400 hashed = generate_password_hash(data['password'], method='sha256') time = datetime.now() user = UserModel( data['username'], data['email'], hashed, _id=UserModel.current_user() + 1, status="online", lastConnect=time.strftime('%Y-%m-%d %H:%M:%S'), picture= "https://firebasestorage.googleapis.com/v0/b/projectdoc-5af7b.appspot.com/o/template%2FArtboard%201.png?alt=media&token=b74d1752-21ae-4255-8d37-1440d1c967d5" ) print(user.json()) user.save_to_db() access_token = create_access_token(identity=user.userId, fresh=True, expires_delta=timedelta(hours=3)) refresh_token = create_refresh_token(user.userId) return make_response( { 'status': 'success', "data": { "userId": user.userId, "username": user.username, "permiss": user.permiss, "status": user.status, "picture": user.picture, "expires_token": time + timedelta(hours=3), "access_token": access_token, "refresh_token": refresh_token } }, 200)
from sqlalchemy import create_engine engine = create_engine('sqlite:///user.db', echo = True) from user import UserModel, EndPointRpi #from datetime import datetime, time #from sqlalchemy import Column, Integer, String #from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker Session = sessionmaker(bind = engine) session = Session() # a = datetime.now() c1 = UserModel(username = '******', password = '******') session.add(c1) session.commit()
from db import DB from user import UserModel from drug import DrugModel from basket import BasketModel db = DB() users_model = UserModel(db.get_connection()) users_model.init_table() users_model.insert("admin", "admin") news_model = DrugModel(db.get_connection()) news_model.init_table() basket_model = BasketModel(db.get_connection()) basket_model.init_table()