Ejemplo n.º 1
0
    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))
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
 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())
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
 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())
Ejemplo n.º 8
0
    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())
Ejemplo n.º 9
0
    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())
Ejemplo n.º 10
0
    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)
Ejemplo n.º 11
0
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()



Ejemplo n.º 12
0
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()