Exemplo n.º 1
0
class UserManager:

    _DB = Session()

    @classmethod
    def find(cls, user_id: int) -> User:
        return cls._DB.query(User).get(user_id)

    @classmethod
    def get(cls) -> List[User]:
        return cls._DB.query(User).all()

    @classmethod
    def get_by_email(cls, email: str) -> User:
        return cls._DB.query(User).filter_by(email=email).first()

    @classmethod
    def save(cls, data) -> User:
        password = Crypt.hash(data.password)
        user = User(email=data.email, password=password)
        cls._DB.add(user)
        cls._DB.commit()
        return user

    @classmethod
    def delete(cls, user_id: int) -> bool:
        user = cls.get_user(user_id)
        if not user:
            return False
        cls._DB.delete(user)
        cls._DB.commit()
        return True
Exemplo n.º 2
0
 def get(self, user_id):
     session = Session()
     rows = session.query(User).filter_by(id=user_id).first()
     session.delete(rows)
     session.commit()
     session.close()
     self.redirect('/administrator')
Exemplo n.º 3
0
 def get(self, quote_id):
     session = Session()
     rows = session.query(Quotes).filter_by(id=quote_id).first()
     session.delete(rows)
     session.commit()
     session.close()
     self.redirect('/quotes')
Exemplo n.º 4
0
 def post(self, quote_id):
     author = self.get_argument('author', '')
     country = self.get_argument('country', '')
     content = self.get_argument('content', '')
     session = Session()
     session.query(Quotes).filter_by(id=int(quote_id)).update({Quotes.author: author, Quotes.country: country,Quotes.quotes_content: content})
     session.commit()
     self.redirect('/quotes')
Exemplo n.º 5
0
def add_post(img_url, thumb_url, username):
    session = Session()
    user = session.query(User).filter_by(username=username).first()
    post = Post(image_url=img_url, thumb_url=thumb_url, user_id=user.id)
    session.add(post)
    session.commit()
    post_id = post.id
    session.close()
    return post_id
Exemplo n.º 6
0
 def post(self, user_id):
     username = self.get_argument('username', '')
     password = self.get_argument('password', '')
     email = self.get_argument('email', '')
     gender = self.get_argument('gender', '')
     age = self.get_argument('age', ' ')
     power = self.get_argument('power', '')
     session =Session()
     session.query(User).filter_by(id=int(user_id)).update({User.username: username, User.password: password, User.emial: email, User.gender: gender, User.age: age,User.power: int(power)})
     session.commit()
     self.redirect('/administrator')
Exemplo n.º 7
0
 def post(self):
     username = self.get_argument('username', '')
     username1 = self.get_argument('username1', '')
     password = self.get_argument('password', '')
     email = self.get_argument('email', '')
     gender = self.get_argument('gender', '')
     age = self.get_argument('age', ' ')
     session = Session()
     dict_data = {User.username:username1,User.password:password, User.emial:email,User.gender:gender,User.age:age}
     session.query(User).filter_by(username=username).update(dict_data)
     session.commit()
     self.redirect('/')
Exemplo n.º 8
0
def get_all_posts(username=None):
    '''
    查询获取所有图片或者是特定的用户
    :param username:如果没做,就是获取全部图片
    :return:
    '''
    session = Session()
    if username:
        user = session.query(User).filter_by(username=username).first()
        posts = session.query(Post).filter_by(user=user).all()

    else:
        posts = session.query(Post).all()
    if posts:
        return posts
    else:
        return []
Exemplo n.º 9
0
def register(username, password1, password2):
    ret = {'msg': 'other error', 'user_id': None}
    if username and password1 and password2:
        if password1 == password2:
            session = Session()
            user = session.query(User).filter_by(username=username).all()
            if user:
                msg = 'username is exists'
            else:
                new_user = User(username=username, password=hash(password1))
                session.add(new_user)
                session.commit()
                ret['user_id'] = new_user.id
                session.close()
                msg = 'ok'
        else:
            msg = 'password1 != password2'
    else:
        msg = 'username or password is empty'
    ret['msg'] = msg
    return ret
Exemplo n.º 10
0
 def is_exists(cls, username, password):
     session = Session()
     ret = session.query(exists().where(
         and_(User.name == username, User.password == password))).scalar()
     session.close()
     return ret
Exemplo n.º 11
0
 def initialize(self):
     self.db_session = Session()
     self.orm = OrmHandler(self.db_session)
Exemplo n.º 12
0
from datetime import datetime
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey
from sqlalchemy.orm import relationship
from sqlalchemy.sql import exists

from models.db import Base, Session

session = Session()


class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True, autoincrement=True)
    username = Column(String(50), unique=True, nullable=False)
    password = Column(String(50))
    creatime = Column(DateTime, default=datetime.now)
    email = Column(String(80))

    def __repr__(self):
        return "<User表:id:{},username:{}>".format(self.id, self.username)

    @classmethod
    # 定义一个查询用户是否存在的方法
    def is_exists(cls, username):
        return session.query(exists().where(cls.username == username)).scalar()

    @classmethod
    def get_password(cls, username):
        user = session.query(cls).filter_by(username=username).first()
        if user:
            return user.password
Exemplo n.º 13
0
 def get(self):
     username = self.get_argument('username', '')
     session = Session()
     user = session.query(User).filter_by(username=username).first()
     self.render('user/selfupdate.html', user=user, username=username)
Exemplo n.º 14
0
import hashlib
from models.auth import User, Post, Like
from models.db import Session

db_session = Session()


def hashed(text):
    """
    密码md5加密
    :param text: password
    :return:
    """
    return hashlib.md5(text.encode('utf8')).hexdigest()


def authenticate(username, password):
    """
    验证密码
    :param username:
    :param password:
    :return:
    """
    return User.get_password(username) == hashed(password)  # 返回bool值


class HandlerORM:
    """
    辅助操作数据库的工具类, 综合 RequestHandler使用
    """
    def __init__(self, db_session):
Exemplo n.º 15
0
 def get(self, user_id):
     session = Session()
     user = session.query(User).filter_by(id=user_id).first()
     self.render('user/update.html', user=user)
Exemplo n.º 16
0
def get_post(post_id):
    session = Session()
    post = session.query(Post).filter_by(id=post_id).scalar()
    return post
Exemplo n.º 17
0
 def is_exists(cls, username, password):
     session = Session()
     ret = session.query(exists().where(and_(cls.username==username, cls.password==password))).scalar()
     # ret = bool(user)/
     session.close()
     return ret
Exemplo n.º 18
0
 def prepare(self):
     self.db_session = Session()
     print('db session instance')
     self.orm = HandlerORM(self.db_session)
Exemplo n.º 19
0
 def prepare(self):
     self.db_session = Session()
     logger.info('db_session instance {}'.format(self))
     self.orm = HandlerORM(self.db_session)