def query_cat_random(self, cat_id, num=6): if cat_id == '': return self.query_random(num) if config.dbtype == 1 or config.dbtype == 3: return CabReply.select().join(CabPost2Catalog).where( CabPost2Catalog.catalog == cat_id).order_by( peewee.fn.Random()).limit(num) elif config.dbtype == 2: return CabReply.select().join(CabPost2Catalog).where( CabPost2Catalog.catalog == cat_id).order_by( peewee.fn.Rand()).limit(num)
def get_by_wiki(self, citiao): tt = CabReply.select().where(CabReply.title == citiao).count() if tt == 0: return None else: self.update_view_count(citiao) return CabReply.get(CabReply.title == citiao)
def get_previous_record(self, in_uid): current_rec = self.get_by_id(in_uid) query = CabReply.select().where( CabReply.time_update > current_rec.time_update).order_by( CabReply.time_update) if query.count() == 0: return None else: return query.get()
def get_by_keyword(self, par2): return CabReply.select().where(CabReply.title.contains(par2)).order_by( CabReply.time_update.desc()).limit(20)
def query_by_spec(self, spec_id): tt = CabReply.select().where(CabReply.id_spec == spec_id).order_by( CabReply.time_update.desc()) return tt
def query_cat_by_pager(self, cat_str, cureent): tt = CabReply.select().where(CabReply.id_cats.contains( str(cat_str))).order_by(CabReply.time_update.desc()).paginate( cureent, config.page_num) return tt
def query_recent_most(self, num=8, recent=30): time_that = int(time.time()) - recent * 24 * 3600 return CabReply.select().where( CabReply.time_update > time_that).order_by( CabReply.view_count.desc()).limit(num)
def get_by_id(self, in_uid): recs = CabReply.select().where(CabReply.post_id == in_uid).order_by( CabReply.timestamp.desc()) return recs
def query_cat_recent(self, cat_id, num=8): return CabReply.select().join(CabPost2Catalog).where( CabPost2Catalog.catalog == cat_id).order_by( CabReply.time_update.desc()).limit(num)
def query_dated(self, num=8): return CabReply.select().order_by(CabReply.time_update).limit(num)
def query_recent(self, num=8): return CabReply.select().order_by( CabReply.time_update.desc()).limit(num)
def query_keywords_empty(self): return CabReply.select().where(CabReply.keywords == '')
def query_all(self): return CabReply.select()
def get_num_by_cat(self, cat_str): return CabReply.select().where( CabReply.id_cats.contains(',{0},'.format(cat_str))).count()
def query_old(self): return CabReply.select().order_by('time_update').limit(10)
def query_random(self, num=6): if config.dbtype == 1 or config.dbtype == 3: return CabReply.select().order_by(peewee.fn.Random()).limit(num) elif config.dbtype == 2: return CabReply.select().order_by(peewee.fn.Rand()).limit(num)
def query_most(self, num=8): return CabReply.select().order_by( CabReply.view_count.desc()).limit(num)