Пример #1
0
class ProjectTag(db.Model):
    __tablename__ = 'project_tag'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80))

    def __repr__(self):
        return '<ProjectTag %r>' % self.name
Пример #2
0
class Notification(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String(2000))
    created_at = db.Column(db.DateTime, default=datetime.now())

    def __repr__(self):
        return '<Field %r>' % self.name
Пример #3
0
class QuestionTag(db.Model):
    __tablename__ = 'question_tag'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80))

    def __repr__(self):
        return '<QuestionTag %r>' % self.name
Пример #4
0
class User(db.Model, UserMixin):
    __tablename__ = 'ops_user'
    id = db.Column(db.Integer, autoincrement=True, primary_key=True)
    user_name = db.Column(db.String(20), unique=True, index=True)
    user_pwd = db.Column(db.String(300))

    def __init__(self, user_name, user_pwd):
        self.user_name = user_name
        self.user_pwd = user_pwd

    @staticmethod
    def query_by_username(user_name):
        return User.query.filter(User.name == user_name).first()

    @property
    def pwd(self):
        raise AttributeError(u'密码不可读')

    @pwd.setter
    def pwd(self, user_pwd):
        self.user_pwd = generate_password_hash(user_pwd)

    def verify_password(self, user_pwd):
        if self.user_pwd == user_pwd:
            return True
        else:
            return check_password_hash(self.user_pwd, user_pwd)

    def __repr__(self):
        return '<User:%s>' % self.user_name
Пример #5
0
class UserV(db.Model):
    __tablename__ = 'user_v'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80))
    users = db.relationship('User', backref='UserV', lazy='dynamic')

    def __repr__(self):
        return '<UserV %r>' % self.name
Пример #6
0
class Message(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String(2000))
    from_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    to_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    created_at = db.Column(db.DateTime, default=datetime.now())

    def __repr__(self):
        return '<Message %r>' % self.name
Пример #7
0
class DBSourceModel(db.Model, UserMixin):
    __tablename__ = 'ops_source_detail'
    id = db.Column(db.Integer, autoincrement=True, primary_key=True)
    source_type = db.Column(db.String(255))
    source_host = db.Column(db.String(255))
    source_port = db.Column(db.Integer)
    source_user = db.Column(db.String(255))
    source_pwd = db.Column(db.String(255))
    source_parm = db.Column(db.String(255))

    def __init__(self, source_type, source_host, source_port, source_user,
                 source_pwd, source_parm):
        self.source_type = source_type
        self.source_host = source_host
        self.source_port = source_port
        self.source_user = source_user
        self.source_pwd = source_pwd
        self.source_parm = source_parm

    def __init__(self, source_type, source_host, source_pwd, source_parm):
        self.source_type = source_type
        self.source_host = source_host
        self.source_pwd = source_pwd
        self.source_parm = source_parm

    def __init__(self, source_type, source_host, source_user, source_pwd,
                 source_parm):
        self.source_type = source_type
        self.source_host = source_host
        self.source_user = source_user
        self.source_pwd = source_pwd
        self.source_parm = source_parm

    @staticmethod
    def query_by_sourceType(source_type):
        return DBSourceModel.query.filter(
            DBSourceModel.source_type == source_type).first()

    @staticmethod
    def all():
        return DBSourceModel.query.all()

    @staticmethod
    def with_entities(*entities):
        return DBSourceModel.query.with_entities(*entities)

    def __repr__(self):
        return '<HostInfo:%s>' % self.id

    def exeSql(sql, echo):
        if echo:
            print(sql)
        return sqlSession.execeQuery(sql)

    def add(hostUser):
        db.session.add(hostUser)
        db.session.commit()
Пример #8
0
class HostUserModel(db.Model, UserMixin):
    __tablename__ = 'ops_host_user'
    id = db.Column(db.Integer, autoincrement=True, primary_key=True)
    host_ip = db.Column(db.String(255), unique=True, index=True)
    host_port = db.Column(db.Integer)
    host_user = db.Column(db.String(255))
    host_password = db.Column(db.String(255))
    host_script_path = db.Column(db.String(255))
    host_disk_path = db.Column(db.String(255))

    def __init__(self, host_ip, host_port, host_user, host_password,
                 host_script_path, host_disk_path):
        self.host_ip = host_ip
        self.host_port = host_port
        self.host_user = host_user
        self.host_password = host_password
        self.host_script_path = host_script_path
        self.host_disk_path = host_disk_path

    @staticmethod
    def query_by_hostsID(id):
        return HostUserModel.query.filter(HostUserModel.id == id).first()

    @staticmethod
    def all():
        return HostUserModel.query.all()

    @staticmethod
    def with_entities(*entities):
        return HostUserModel.query.with_entities(*entities)

    def __repr__(self):
        return '<HostInfo:%s>' % self.id

    def add(source):
        db.session.add(source)
        db.session.commit()
Пример #9
0
class HostModel(db.Model, UserMixin):
    __tablename__ = 'ops_host_detail'

    id = db.Column(db.Integer, autoincrement=True, primary_key=True)
    host_id = db.Column(db.String(255), primary_key=True)
    host_name = db.Column(db.String(255))
    host_ip = db.Column(db.String(255))
    host_total_disk = db.Column(db.String(255))
    host_used_disk = db.Column(db.String(255))
    host_avai_disk = db.Column(db.String(255))
    host_total_memory = db.Column(db.Integer)
    host_free_memory = db.Column(db.Integer)
    host_avai_memory = db.Column(db.Integer)
    host_model_cpu = db.Column(db.String(255))
    host_physical_cpu = db.Column(db.String(255))
    host_logic_cpu = db.Column(db.String(255))
    host_os_time = db.Column(db.String(255))
    host_os_version = db.Column(db.String(255))
    host_computing_time = db.Column(db.String(255))
    update_time = db.Column(db.String(255))

    def __init__(self, id, host_id, host_name, host_ip, host_total_disk,
                 host_used_disk, host_avai_disk, host_total_memory,
                 host_free_memory, host_avai_memory, host_model_cpu,
                 host_physical_cpu, host_logic_cpu, host_os_time,
                 host_computing_time, host_os_version, update_time):
        self.id = id
        self.host_id = host_id
        self.host_name = host_name
        self.host_ip = host_ip
        self.host_total_disk = host_total_disk
        self.host_used_disk = host_used_disk
        self.host_avai_disk = host_avai_disk
        self.host_total_memory = host_total_memory
        self.host_free_memory = host_free_memory
        self.host_avai_memory = host_avai_memory
        self.host_model_cpu = host_model_cpu
        self.host_physical_cpu = host_physical_cpu
        self.host_logic_cpu = host_logic_cpu
        self.host_os_time = host_os_time
        self.host_computing_time = host_computing_time
        self.host_os_version = host_os_version
        self.update_time = update_time

    @staticmethod
    def query_by_hostsID(host_id):
        return HostModel.query.filter(HostModel.host_id == host_id).first()

    @staticmethod
    def all():
        return HostModel.query.all()

    @staticmethod
    def with_entities(*entities):
        return HostModel.query.with_entities(*entities)

    def __repr__(self):
        return '<HostInfo:%s>' % self.id

    def exeSql(sql, echo):
        if echo:
            print(sql)
        return sqlSession.execeQuery(sql)

    def getHostInfo(echo=False):
        sql = '''SELECT host_id,
                        host_ip,
                        host_name,
                        host_total_memory,
                        host_total_disk,
                        host_logic_cpu,
                        host_computing_time,
                        host_os_version FROM {} order by host_id;'''.format(
            HostModel.__tablename__)
        return HostModel.exeSql(sql, echo)

    def updateHostsDetail(keys, values, echo=False):
        sql = "REPLACE INTO {} ({})VALUES({})".format(
            HostModel.__tablename__,
            str(keys).replace("'", "").replace('[', '').replace(']', ''),
            str(values).replace('[', '').replace(']', ''))
        HostModel.exeSql(sql, echo)
Пример #10
0
class QuestionFieldMid(db.Model):
    __tablename__ = 'question_field_mid'
    id = db.Column(db.Integer, primary_key=True)
    question_id = db.Column(db.Integer, db.ForeignKey('question.id'))
    field_id = db.Column(db.Integer, db.ForeignKey('field.id'))
Пример #11
0
class ProjectTagMid(db.Model):
    __tablename__ = 'project_tag_mid'
    id = db.Column(db.Integer, primary_key=True)
    project_id = db.Column(db.Integer, db.ForeignKey('project.id'))
    tag_id = db.Column(db.Integer, db.ForeignKey('project_tag.id'))
Пример #12
0
class ProjectComment(db.Model):
    __tablename__ = 'project_comment'
    id = db.Column(db.Integer, primary_key=True)
    created_at = db.Column(db.DateTime, default=datetime.now())
    updated_at = db.Column(db.DateTime, default=datetime.now())
    content = db.Column(db.String(8000))
    status = db.Column(db.String(80))
    comment_id = db.Column(db.Integer)
    form = db.Column(db.String(80))
    agree = db.Column(db.Integer, default=0)
    disagree = db.Column(db.Integer, default=0)
    project_id = db.Column(db.Integer, db.ForeignKey('project.id'))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __repr__(self):
        return '<ProjectComment %r>' % self.name
Пример #13
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80))
    created_at = db.Column(db.DateTime, default=datetime.now())
    updated_at = db.Column(db.DateTime, default=datetime.now())
    content = db.Column(db.String(8000))
    status = db.Column(db.String(80))
    img = db.Column(db.String(200))
    view_count = db.Column(db.Integer, default=0)
    agree = db.Column(db.Integer, default=0)
    disagree = db.Column(db.Integer, default=0)
    comments = db.relationship('PostComment', backref='Post', lazy='dynamic')
    tags = db.relationship('PostTag',
                           secondary="post_tag_mid",
                           backref='posts',
                           lazy='dynamic')
    fields = db.relationship('Field',
                             secondary="post_field_mid",
                             backref='posts',
                             lazy='dynamic')
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __repr__(self):
        return '<Post %r>' % self.name
Пример #14
0
class PostFieldMid(db.Model):
    __tablename__ = 'post_field_mid'
    id = db.Column(db.Integer, primary_key=True)
    post_id = db.Column(db.Integer, db.ForeignKey('post.id'))
    field_id = db.Column(db.Integer, db.ForeignKey('field.id'))
Пример #15
0
class QuestionTagMid(db.Model):
    __tablename__ = 'question_tag_mid'
    id = db.Column(db.Integer, primary_key=True)
    question_id = db.Column(db.Integer, db.ForeignKey('question.id'))
    tag_id = db.Column(db.Integer, db.ForeignKey('question_tag.id'))
Пример #16
0
class UserDegree(db.Model):
    __tablename__ = 'user_degree'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80))
    users = db.relationship('User', backref='UserDegree', lazy='dynamic')
Пример #17
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(80), unique=True)
    auth = db.Column(db.Integer)
    avartar = db.Column(db.String(120))
    password = db.Column(db.String(120))
    created_at = db.Column(db.DateTime, default=datetime.now())
    work_id = db.Column(db.String(120))
    mobile = db.Column(db.String(120), unique=True)
    content = db.Column(db.String(120))
    level_id = db.Column(db.Integer, db.ForeignKey('user_level.id'))
    prestige_id = db.Column(db.Integer, db.ForeignKey('user_prestige.id'))
    v_id = db.Column(db.Integer, db.ForeignKey('user_v.id'))
    level = db.relationship('UserLevel')
    prestige = db.relationship('UserPrestige')
    v = db.relationship('UserV')
    posts = db.relationship('Post', backref='User', lazy='dynamic')
    post_comments = db.relationship('PostComment',
                                    backref='User',
                                    lazy='dynamic')
    projects = db.relationship('Project', backref='User', lazy='dynamic')
    project_comments = db.relationship('ProjectComment',
                                       backref='User',
                                       lazy='dynamic')
    questions = db.relationship('Question', backref='User', lazy='dynamic')
    question_comments = db.relationship('QuestionComment',
                                        backref='User',
                                        lazy='dynamic')
    degree_id = db.Column(db.Integer, db.ForeignKey('user_degree.id'))
    major_id = db.Column(db.Integer, db.ForeignKey('user_major.id'))
    degree = db.relationship('UserMajor')
    major = db.relationship('UserDegree')
    sended_msgs = db.relationship('Message',
                                  backref='from',
                                  lazy='dynamic',
                                  foreign_keys=Message.from_id)
    recived_msgs = db.relationship('Message',
                                   backref='to',
                                   lazy='dynamic',
                                   foreign_keys=Message.to_id)
    recived_notifications = db.relationship('Notification',
                                            secondary="notification_user_mid",
                                            backref='User',
                                            lazy='dynamic')

    def __repr__(self):
        return '<User %r>' % self.username
Пример #18
0
class NotificationUserMid(db.Model):
    __tablename__ = 'notification_user_mid'
    id = db.Column(db.Integer, primary_key=True)
    notification_id = db.Column(db.Integer, db.ForeignKey('notification.id'))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    status = db.Column(db.String(80))
Пример #19
0
class Field(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80))

    def __repr__(self):
        return '<Field %r>' % self.name
Пример #20
0
class AgentModel(db.Model, UserMixin):
    __tablename__ = 'ops_host_detail'
    id = db.Column(db.Integer, autoincrement=True, primary_key=True)
    host_id = db.Column(db.String(255))
    host_name = db.Column(db.String(255))
    host_ip = db.Column(db.String(255))
    host_total_disk = db.Column(db.String(255))
    host_used_disk = db.Column(db.String(255))
    host_avai_disk = db.Column(db.String(255))
    host_total_memory = db.Column(db.Integer)
    host_free_memory = db.Column(db.Integer)
    host_used_memory = db.Column(db.Integer)
    host_os_time = db.Column(db.String(255))
    host_computing_time = db.Column(db.String(255))
    update_time = db.Column(db.String(255))

    def __init__(self, id, host_id, host_name, host_ip, host_total_disk,
                 host_used_disk, host_avai_disk, host_total_memory,
                 host_free_memory, host_used_memory, host_computing_time,
                 update_time):
        self.id = id
        self.host_id = host_id
        self.host_name = host_name
        self.host_ip = host_ip
        self.host_total_disk = host_total_disk
        self.host_used_disk = host_used_disk
        self.host_avai_disk = host_avai_disk
        self.host_total_memory = host_total_memory
        self.host_free_memory = host_free_memory
        self.host_used_memory = host_used_memory
        self.host_computing_time = host_computing_time
        self.update_time = update_time

    @staticmethod
    def query_by_hostsID(host_id):
        return AgentModel.query.filter(AgentModel.host_id == host_id).first()

    @staticmethod
    def all():
        return AgentModel.query.all()

    @staticmethod
    def with_entities(*entities):
        return AgentModel.query.with_entities(*entities)

    def __repr__(self):
        return '<HostInfo:%s>' % self.id

    def getHostInfo(echo=False):
        sql = '''SELECT * FROM (
                    SELECT DISTINCT
                        host_id,
                        host_ip,
                        host_name,
                        host_total_memory,
                        host_total_disk,
                        host_physical_cpu,
                        host_computing_time,
                        host_os_version
                    FROM {} ORDER BY update_time DESC) AS s GROUP BY s.host_id;'''.format(
            "ops_host_detail")
        if echo:
            print(sql)
        return sqlSession.execeQuery(sql)