class catalog_pager(tornado.web.UIModule): def render(self, *args, **kwargs): self.mpost2catalog = MPost2Catalog() self.mcat = MCatalog() cat_slug = args[0] current = int(args[1]) # cat_slug 分类 # current 当前页面 cat_rec = self.mcat.get_by_slug(cat_slug) num_of_cat = self.mpost2catalog.catalog_record_number(cat_rec.uid) tmp_page_num = int(num_of_cat / config.page_num) page_num = tmp_page_num if abs(tmp_page_num - num_of_cat / config.page_num) < 0.1 else tmp_page_num + 1 kwd = { 'page_home': False if current <= 1 else True, 'page_end': False if current >= page_num else True, 'page_pre': False if current <= 1 else True, 'page_next': False if current >= page_num else True, } return self.render_string('{0}/modules/catalog_pager.html'.format(config.torlite_template_name), kwd = kwd, cat_slug = cat_slug, pager_num = page_num, page_current = current, )
class CategoryHandler(BaseHandler): def initialize(self): self.init() self.muser = MUser() self.mpost = MPost() self.mcat = MCatalog() self.cats = self.mcat.query_all() self.mspec = SpesubModel() self.specs = self.mspec.get_all() self.mpost2catalog = MPost2Catalog() if self.get_current_user(): self.userinfo = self.muser.get_by_id(self.get_current_user()) else: self.userinfo = None def get(self, input=''): if len(input) > 0: ip_arr = input.split(r'/') if input == '': pass elif len(ip_arr) == 1: self.list_catalog(input) elif len(ip_arr) == 2: self.list_catalog(ip_arr[0], ip_arr[1]) else: self.render('html/404.html') def list_catalog(self, cat_slug, cur_p=''): if cur_p == '': current_page_num = 1 else: current_page_num = int(cur_p) cat_rec = self.mcat.get_by_slug(cat_slug) num_of_cat = self.mpost2catalog.catalog_record_number(cat_rec.uid) page_num = int(num_of_cat / config.page_num) + 1 cat_name = cat_rec.name kwd = { 'cat_name': cat_name, 'cat_slug': cat_slug, 'unescape': tornado.escape.xhtml_unescape, 'title': cat_name, } self.render('{0}/catalog/list.html'.format(self.tmpl_name), infos=self.mpost2catalog.query_pager_by_slug(cat_slug, current_page_num), pager=tools.gen_pager_purecss('/category/{0}'.format(cat_slug), page_num, current_page_num), userinfo=self.userinfo, kwd=kwd) def get_random(self): return self.mpost.query_random()
class CategoryHandler(BaseHandler): def initialize(self): self.init() self.mpost = MPost() self.mcat = MCatalog() self.cats = self.mcat.query_all() self.mpost2catalog = MPost2Catalog() def get(self, url_str=''): url_arr = self.parse_url(url_str) if len(url_arr) == 1: self.list_catalog(url_str) elif len(url_arr) == 2: self.list_catalog(url_arr[0], url_arr[1]) else: self.render('html/404.html') def list_catalog(self, cat_slug, cur_p=''): if cur_p == '': current_page_num = 1 else: current_page_num = int(cur_p) current_page_num = 1 if current_page_num < 1 else current_page_num cat_rec = self.mcat.get_by_slug(cat_slug) num_of_cat = self.mpost2catalog.catalog_record_number(cat_rec.uid) page_num = int(num_of_cat / config.page_num) + 1 cat_name = cat_rec.name kwd = { 'cat_name': cat_name, 'cat_slug': cat_slug, 'unescape': tornado.escape.xhtml_unescape, 'title': cat_name, 'current_page': current_page_num } self.render('{0}/catalog/list.html'.format(self.tmpl_name), infos=self.mpost2catalog.query_pager_by_slug( cat_slug, current_page_num), pager=tools.gen_pager_purecss( '/category/{0}'.format(cat_slug), page_num, current_page_num), userinfo=self.userinfo, cfg=config.cfg, kwd=kwd) def get_random(self): return self.mpost.query_random()
class CategoryHandler(BaseHandler): def initialize(self): self.init() self.mpost = MPost() self.mcat = MCatalog() self.cats = self.mcat.query_all() self.mpost2catalog = MPost2Catalog() def get(self, url_str=''): url_arr = self.parse_url(url_str) if len(url_arr) == 1: self.list_catalog(url_str) elif len(url_arr) == 2: self.list_catalog(url_arr[0], url_arr[1]) else: self.render('html/404.html') def list_catalog(self, cat_slug, cur_p=''): if cur_p == '': current_page_num = 1 else: current_page_num = int(cur_p) current_page_num = 1 if current_page_num < 1 else current_page_num cat_rec = self.mcat.get_by_slug(cat_slug) num_of_cat = self.mpost2catalog.catalog_record_number(cat_rec.uid) page_num = int(num_of_cat / config.page_num) + 1 cat_name = cat_rec.name kwd = { 'cat_name': cat_name, 'cat_slug': cat_slug, 'unescape': tornado.escape.xhtml_unescape, 'title': cat_name, 'current_page': current_page_num } self.render('{0}/catalog/list.html'.format(self.tmpl_name), infos=self.mpost2catalog.query_pager_by_slug(cat_slug, current_page_num), pager=tools.gen_pager_purecss('/category/{0}'.format(cat_slug), page_num, current_page_num), userinfo=self.userinfo, cfg = config.cfg, kwd=kwd) def get_random(self): return self.mpost.query_random()
class catalog_pager(tornado.web.UIModule): def render(self, *args, **kwargs): self.mpost2catalog = MPost2Catalog() self.mcat = MCatalog() cat_slug = args[0] current = int(args[1]) # cat_slug 分类 # current 当前页面 cat_rec = self.mcat.get_by_slug(cat_slug) num_of_cat = self.mpost2catalog.catalog_record_number(cat_rec.uid) tmp_page_num = int(num_of_cat / config.page_num) page_num = tmp_page_num if abs( tmp_page_num - num_of_cat / config.page_num) < 0.1 else tmp_page_num + 1 kwd = { 'page_home': False if current <= 1 else True, 'page_end': False if current >= page_num else True, 'page_pre': False if current <= 1 else True, 'page_next': False if current >= page_num else True, } print(kwd) return self.render_string( '{0}/modules/catalog_pager.html'.format( config.torlite_template_name), kwd=kwd, cat_slug=cat_slug, pager_num=page_num, page_current=current, )
class CatHandler(BaseHandler): def initialize(self): self.mpost = MPost() self.mcat = MCatalog() self.cats = self.mcat.query_all() self.mspec = SpesubModel() self.specs = self.mspec.get_all() self.mpost2catalog = MPost2Catalog() def get(self, input=''): if len(input) > 0: ip_arr = input.split(r'/') if input == '': pass elif len(ip_arr) == 1 : self.list_catalog(input) elif len(ip_arr) == 2: self.list_catalog(ip_arr[0], ip_arr[1]) else: self.render('/html/404.html') def list_catalog(self, cat_slug, cur_p = ''): if cur_p == '': current_page_num = 1 else: current_page_num = int(cur_p) cat_rec = self.mcat.get_by_slug(cat_slug) num_of_cat = self.mpost2catalog.catalog_record_number(cat_rec.uid) page_num = int(num_of_cat / config.page_num ) + 1 cat_name = cat_rec.name kwd = { 'cat_name': cat_name, 'cat_slug': cat_slug, 'unescape': tornado.escape.xhtml_unescape, 'title': cat_name, } self.render('tplite/catalog/list.html', infos=self.mpost2catalog.query_pager_by_slug(cat_slug,current_page_num), pager = tools.gen_pager(cat_slug, page_num, current_page_num), kwd=kwd) # def view_cat_old(self, cat_slug, cur_p=''): # if cur_p == '': # current = 1 # else: # current = int(cur_p) # # cat_rec = self.mcat.get_by_slug(cat_slug) # num_of_cat = self.mpost.get_num_by_cat(cat_rec.id_cat) # page_num = int(num_of_cat / config.page_num ) + 1 # # cat_name = cat_rec.name # kwd = { # 'cat_name': cat_name, # 'cat_slug': cat_slug, # 'unescape': tornado.escape.xhtml_unescape, # 'pager': tools.gen_pager(cat_slug, page_num, current), # 'title': cat_name, # } # for x in self.cats: # if x.slug == cat_slug: # search_str = ',{0},'.format(x.id_cat) # dbdata = self.mpost.query_cat_by_pager(search_str, current) # self.render('tplite/post/all.html', # kwd = kwd, # view=dbdata, # rand_recs = self.get_random(), # format_date = tools.format_date) def get_random(self): return self.mpost.query_random()