Beispiel #1
0
class Device_Observed(Model):
    __table__ = "device_observed"

    id = StringField(primary_key=True, ddl='varchar(32)', default=next_id)
    device_id = StringField(ddl='varchar(32)')
    user_id = StringField(ddl='varchar(32)')

    def observe(self, user_id, device_id):
        observed = self.find_first('where user_id = ? and device_id = ?',
                                   user_id, device_id)
        if not observed:
            self.user_id = user_id
            self.device_id = device_id
            self.insert()
            return True
        return True

    def unobserve(self, user_id, device_id):
        observed = self.find_first('where user_id = ? and device_id = ?',
                                   user_id, device_id)
        if observed:
            observed.delete()
            return True
        return True

    def observed_devices(self, user_id):
        dev_ids = self.find_by('where user_id = ?', user_id)
        devices = []
        dev = Device()
        for dev_id in dev_ids:
            devices.append(dev.get(dev_id.device_id))
        return devices

    def count_user_devices(self, user_id):
        return self.count_by('where user_id = ?', user_id)
Beispiel #2
0
class History(Model):
    __table__ = 'histories'

    id = StringField(primary_key=True, default=next_id, ddl='varchar(50)')
    user_id = StringField(updatable=False, ddl='varchar(50)')
    movie_id = StringField(updatable=False, ddl='varchar(50)')
    created_at = FloatField(default=time.time)
Beispiel #3
0
class Data(Model):
    __table__ = 'col_data'

    id = StringField(primary_key=True, ddl='varchar(32)', default=next_id)
    device_id = StringField(ddl='varchar(50)')
    type_id = StringField(ddl='varchar(50)')
    value = FloatField(ddl='double')
    created_at = FloatField(ddl='double', updatable=False, default=time.time)
Beispiel #4
0
class departments(Model):
    """docstring for ClassName"""
    __table__ = 'departments'

    departmentID = StringField(primary_key=True,
                               ddl='varchar(10)',
                               updatable=False)
    departmentName = StringField(ddl='varchar(50)')
Beispiel #5
0
class Response(Model):
    __table__ = 'responses'

    id = StringField(primary_key=True, ddl='int(32)')
    rid = StringField(updatable=False, ddl='varchar(64)')
    response_xss = LongTextField()
    response_fi = LongTextField()
    update_time = StringField(ddl='varchar(255)')
Beispiel #6
0
class Sqlmap(Model):
    __table__ = 'sqlmap'

    id = StringField(primary_key=True, default=next_id, ddl='varchar(50)')
    ip = StringField(ddl='varchar(40)')
    port = StringField(ddl='varchar(40)')
    status = StringField(ddl='int(4)')
    update_time = StringField(ddl='varchar(255)')
Beispiel #7
0
class Comment(Model):
    __talbe__ = 'comments'
    id = StringField(primary_key=True, default=get_id, updatable=False)
    blog_id = StringField(updatable=False)
    user_id = StringField(updatable=False)
    user_name = StringField()
    content = TextField()
    created_at = FloatField(updatable=False, default=time.time)
Beispiel #8
0
class User(Model):
    __table__ = 'users'
    id = StringField(primary_key=True, default=get_id, updatable=False)
    email = StringField(updatable=False)
    password = StringField()
    admin = BooleanField()
    name = StringField()
    created_at = FloatField(updatable=False, default=time.time)
Beispiel #9
0
class User(Model):
    __table__ = 'users'

    id = StringField(primary_key=True, default=next_id, ddl='varchar(50)')
    email = StringField(updatable=False, ddl='varchar(50)')
    password = StringField(ddl='varchar(50)')
    admin = BooleanField()
    name = StringField(ddl='varchar(50)')
    created_at = FloatField(updatable=False, default=time.time)
Beispiel #10
0
class Device(Model):
    __table__ = 'devices'

    id = StringField(primary_key=True, default=next_id, ddl='varchar(50)')

    node_id = StringField(ddl='varchar(50)')
    device_name = StringField(ddl='varchar(50)')
    device_data = StringField(ddl='varchar(50)')
    created_at = FloatField(default=time.time)
Beispiel #11
0
class Comment(Model):
    __table__ = 'comments'

    id = StringField(primary_key=True, default=next_id, ddl='varchar(50)')
    user_id = StringField(updatable=False, ddl='varchar(50)')
    user_name = StringField(ddl='varchar(50)')
    user_image = StringField(ddl='varchar(500)')
    content = TextField()
    created_at = FloatField(updatable=False, default=time.time)
Beispiel #12
0
class Users(Model):
    __table__ = 'users'

    id = StringField(updatable=False,primary_key=True, default=next_id, ddl='varchar(50)')
    email = StringField(updatable=False, ddl='varchar(50)')
    tel = StringField(ddl='varchar(50)')
    admin = BooleanField()
    status = BooleanField()
    create_time= StringField(default =now_datetime)
Beispiel #13
0
class Blog(Model):
    __table__ = 'blogs'
    id = StringField(primary_key=True, default=get_id, updatable=False)
    user_id = StringField(updatable=False)
    user_name = StringField()
    name = StringField()
    summary = StringField()
    content = TextField()
    created_at = FloatField(updatable=False, default=time.time)
Beispiel #14
0
class Blog(Model):
    __table__ = 'blogs'

    id = StringField(primary_key=True, default=next_id, ddl='varchar(50)')
    user_id = StringField(updatable=False, ddl='varchar(50)')
    user_name = StringField(ddl='varchar(50)')
    name = StringField(ddl='varchar(50)')
    summary = StringField(ddl='varchar(200)')
    content = TextField()
    created_at = FloatField(updatable=False, default=time.time)
Beispiel #15
0
class Comment(Model):
    __table__ = 'comments'

    id = IntegerField(primary_key=True, auto_increment=True)
    blog_id = StringField(updatable=False, size=50)
    user_id = StringField(updatable=False, size=50)
    user_name = StringField(50)
    user_image = StringField(500)
    content = TextField()
    created_at = TimestampField(updatable=False, default=time.time)
Beispiel #16
0
class Review(Model):
    __table__ = 'reviews'

    id = StringField(primary_key=True, default=next_id, ddl='varchar(50)')
    movie_id = StringField(updatable=False, ddl='varchar(50)')
    user_id = StringField(updatable=False, ddl='varchar(50)')
    user_name = StringField(ddl='varchar(50)')
    score = IntegerField()
    content = TextField()
    created_at = FloatField(default=time.time)
Beispiel #17
0
class User(Model):
    __table__ = 'users'

    id = IntegerField(primary_key=True, auto_increment=True)
    name = StringField(size=50)
    email = StringField(updatable=False, size=50)
    password = StringField(50, default='123456')
    admin = BooleanField(default=False)
    image = StringField(500, default='')
    created_at = TimestampField(updatable=False, default=time.time)
Beispiel #18
0
class Attachment(Model):
    u'附件'
    __table__ = 'attachments'

    id = StringField(primary_key=True, default=next_id, ddl='varchar(50)')
    user_id = StringField(updatable=False, ddl='varchar(50)')
    local_name = StringField(ddl='varchar(50)')
    file_name = StringField(ddl='varchar(500)')
    file_type = StringField(ddl='varchar(200)')
    file_size = IntegerField()
    created_at = FloatField(updatable=False, default=time.time)
class User(Model):
    '''

    日期和时间用float类型存储在数据库中,而不是datetime类型,
        这么做的好处是不必关心数据库的时区以及时区转换问题,排序非常简单,
        显示的时候,只需要做一个float到str的转换,也非常容易。
    '''
    __table__ = 'users'

    id = StringField(primary_key=True, default=next_id, ddl='varchar(50)')
    email = StringField(updatable=True, ddl='varchar(50)')
    password = StringField(ddl='varchar(50)')
    admin = BooleanField()
    name = StringField(ddl='varchar(50)')
    image = StringField(ddl='varchar(50)')
    created_at = FloatField(updatable=False, default=time.time)
Beispiel #20
0
class Unactiveurl(Model):
    __table__='unactiveurl'

    id = StringField(updatable=False,primary_key=True, default=next_id, ddl='varchar(50)')
    user_id = StringField(updatable=False, ddl='varchar(50)')
    url = StringField(ddl='varchar(255)')
    frequent = IntegerField(updatable=False, default=30)
    top_num = IntegerField(updatable=False, default=1)
    send_mail_num = IntegerField(updatable=True, default=0)
    total_record_num = IntegerField(updatable=True, default=0)
    get_page_num = IntegerField(updatable=True, default=0)
    parse_page_num = IntegerField(updatable=True, default=0)
    new_record_num = IntegerField(updatable=True, default=0)
    record_contents = TextField()
    last_send_time = StringField(default =now_datetime)
    create_time= StringField(default =now_datetime)
Beispiel #21
0
class Data_Table_Map(Model):
    id = StringField(primary_key=True, ddl='varchar(32)', default=next_id)
    start_time = FloatField(ddl='double', default=time.time)
    end_time = FloatField(ddl='double')
    index = IntegerField()

    @classmethod
    def get_last_table_index(cls):
        if cls.count_all() == 0:
            return 0
        else:
            data_table = cls.find_first('order by start_time desc')
            if data_table:
                return data_table.index
            else:
                return 0

    @classmethod
    def add_table(cls, index):
        r = redis.Redis()
        dt = Data()
        dt.create_table(sub_name=str(index))
        r.set("last_data_table_index", index)
        new_table = Data_Table_Map()
        new_table.end_time = time.time()
        new_table.index = index
        new_table.insert()

    @classmethod
    def get_tables(cls, start_time, end_time):
        return cls.find_by('where start_time<? and end_time>?', end_time,
                           start_time)
Beispiel #22
0
class Device(Model):
    __table__ = 'device'

    id = StringField(primary_key=True, ddl='varchar(32)', default=next_id)
    location = StringField(ddl='varchar(50)')
    mac = StringField(ddl='varchar(50)')
    dev_type = StringField(ddl='varchar(50)')
    lat = FloatField(ddl='double')
    lon = FloatField(ddl='double')
    status = IntegerField()  #0 good; 1 inactive; 2 warning; 3 error
    created_at = FloatField(updatable=False, default=time.time)

    def create(self):
        #print self.location,self.mac
        try:
            if self.location and self.mac:
                self.insert()
                return self.id
            else:
                return None
        except Exception as e:
            return None

    def creator(self, device_id):
        return self.find_first('where id = ?', device_id)

    def update_info(self):
        try:
            if self.location and self.mac:
                dev_info = self.find_first('where mac = ?', self.mac)
                dev_info.location = self.location
                dev_info.update()
                return dev_info.id
            else:
                return None
        except:
            return None

    def get_device_by_mac(self, mac):
        #mac_wrapped = get_md5(mac)

        device = self.find_first('where mac = ?', mac)
        if device:
            return device
        return None
Beispiel #23
0
class DailyRankV3(Model):
    """仅用于读取计算日营收评级相关数据"""
    __table__ = "daily_rank_v3"
    id = IntegerField(ddl='int(11)', comment=u'id', primary_key=True)

    statistic_date = DateField(comment=u'哪一日的营收', key=True)
    user_id = IntegerField(default=None, nullable=False, ddl='int(11)', comment=u'风先生id', key=True)
    org_num = StringField(default=None, nullable=False, ddl='varchar(65)', comment=u'所属中队架构编号')
    number_of_middle_teammates = IntegerField(ddl='smallint(6)', comment=u'该日所属中队成员数')
Beispiel #24
0
class Position_Image(Model):
    __table__ = "position_image"

    id = StringField(primary_key=True, ddl='varchar(32)', default=next_id)
    device_id = StringField(ddl='varchar(32)')
    position = IntegerField()
    object_name = StringField(ddl='varchar(50)')
    duration = StringField(ddl='varchar(50)')

    def validate(self):
        dev = Device()
        if not dev.creator(self.device_id):
            return False
        if self.duration <= 0:
            return False
        return True

    def create(self):
        if not self.validate():
            return
        pos = self.find_first('where device_id = ? and position = ?',
                              self.device_id, self.position)

        if pos:
            self.id = pos.id
            self.update()
        else:
            self.insert()
        return self.id

    def get_position_id(self, device_id, position):
        pos = self.find_first('where device_id = ? and position = ?',
                              device_id, position)
        if not pos:
            return None
        return pos.id

    def get_position_by_device_id(self, device_id):
        pos = self.find_by('where device_id = ?', device_id)

        if pos:
            return pos
        return []
Beispiel #25
0
class State(Model):
    __table__ = 'states'
    id = StringField(primary_key=True, default=next_id, ddl='varchar(50)')
    line=FloatField(default=time.time)
    room_light = BooleanField(default=False)
    door_lock=BooleanField(default=False)
    room_temp=FloatField(default=time.time)
    message=FloatField(default=time.time)
    #tip1 = FloatField(default=time.time)
    #tip2 = FloatField(default=time.time)
Beispiel #26
0
class students(Model):
    """docstring for students"""
    __table__ = 'students'

    studentID = StringField(primary_key=True,
                            ddl='varchar(10)',
                            updatable=False)
    studentName = StringField(ddl='varchar(40)', default='张三')
    studentDepartment = StringField(ddl='varchar(50)', default='0048')
    home = StringField(ddl='varchar(50)', default='中国')
    # grade = IntegerField(ddl='bit', default=1)
    # classes = IntegerField(ddl='bit', default=1)
    sex = IntegerField(ddl='integer', default=0)
    score_part2 = IntegerField(ddl='integer', default=0)
    score_part3 = IntegerField(ddl='integer', default=0)
    finished = BooleanField(default=False)
    logintime = TimeField(updatable=False,
                          default=time.strftime("%Y-%m-%d %H:%M:%S",
                                                time.localtime()))
Beispiel #27
0
class student_ques(Model):
    """"""
    __table__ = 'student_ques'

    # studentID = StringField(ddl='varchar(10)',
    #     foreign_key=True,
    #     reference=('students', 'studentID'))
    # questionID = IntegerField(ddl='integer', foreign_key=True, reference=('question', 'questionID'))
    # answer = StringField(ddl='varchar(500)')
    # anstime = TimeField(ddl='DateTime', updatable=False,
    #     default=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
    # primary_key = ('studentID', 'questionID')
    studentID = StringField(ddl='varchar(10)',
                            primary_key=True,
                            updatable=False)
    questionID = IntegerField(ddl='integer', updatable=False)
    answer = StringField(ddl='varchar(500)')
    anstime = TimeField(ddl='DateTime',
                        updatable=False,
                        default=time.strftime("%Y-%m-%d %H:%M:%S",
                                              time.localtime()))
Beispiel #28
0
class Image(Model):
    __table__ = 'image'

    id = StringField(primary_key=True, ddl='varchar(32)', default=next_id)
    position_id = StringField(ddl='varchar(32)')
    path = StringField(ddl='varchar(200)')
    created_at = FloatField(ddl='double', updatable=False, default=time.time)

    def validate(self):
        if os.path.exists(self.path):
            return True
        return False

    def create(self):
        #self.created_at = time.time()
        try:
            self.insert()
            return self.id
        except:
            return None

    def count_by_position_id(self, position_id):
        return self.count_by('where position_id = ?', position_id)
Beispiel #29
0
class Task(Model):
    __table__ = 'tasks'

    id = StringField(primary_key=True, default=next_id, ddl='varchar(50)')
    user_id = StringField(updatable=False, ddl='varchar(50)')
    task_status = StringField(ddl='varchar(1)')
    task_name = StringField(ddl='varchar(50)')
    start_time = FloatField(updatable=False, default=time.time)
    end_time = FloatField(updatable=True)
    description = StringField(ddl='varchar(200)')
    created_at = FloatField(updatable=False, default=time.time)
    created_by = StringField(ddl='varchar(50)')
    updated_at = FloatField(updatable=True, default=time.time)
    updated_by = StringField(ddl='varchar(50)')
Beispiel #30
0
class PayrollGrade(Model):
    """存储薪资等级Model,存储配送员日营收评级(可能需要实时),用于薪资结算,历史数据查询"""
    __table__ = "payroll_grade"
    id = IntegerField(ddl='int(11)', comment=u'日营收等级id', primary_key=True)

    statistic_date = DateField(comment=u'哪一日的营收', key=True)
    deliveryman_id = IntegerField(default=None, nullable=False, ddl='int(11)', comment=u'风先生id', key=True)
    grade = IntegerField(default=None, nullable=False, ddl='int(3)', comment=u'风先生当日营收评级[10,90,step=10]')

    middle_team_org_num = StringField(default=None, nullable=False, ddl='varchar(32)', comment=u'所属中队架构编号')
    delivery_fee = IntegerField(default=None, nullable=False, ddl='int(11)', comment=u'配送费(日营收), 单位为分')
    delivery_fee_goal = IntegerField(default=None, nullable=False, ddl='int(11)', comment=u'配送费(日营收)目标值, 单位为分')
    delivery_fee_rank = IntegerField(default=None, nullable=True, ddl='int(3)', comment=u'配送费(日营收)在所属中队中的排名')

    create_time = DateTimeField(key=True, auto_now_add=True)
    update_time = DateTimeField(auto_now=True)