def get(self, cid, page): try: categories = Category.get() detail = Category.find_by_id(cid, page) except Exception as e: self.send_error(404) send_error_email('Category List Error', str(e)) L = detail['diaries'] sorted_diaries = sorted(L, key=itemgetter('did'), reverse=True) number = len(sorted_diaries) if number == 15: next_page = True elif number < 1: self.send_error(404) return else: next_page = False if detail is not None: profile = Account.get() self.render('Category/list.html', detail=detail, categories=categories, profile=profile, sorted_diaries=sorted_diaries, page=page, next_page=next_page, cid=cid) else: self.send_error(404)
def get(self, *args): try: albums = Gallary.get_all() profile = Account.get() except Exception as e: self.send_error(404) send_error_email('Gallary get Error', str(e)) self.render('Gallary/index.html', albums=albums, profile=profile)
def post(self, *args): try: keywords = self.get_argument('keywords') except: keywords = None if keywords is not None: Calculate.search_add_keyword(keywords) try: categories = Category.get() cate_result = Category.find_by_name(keywords) tag_result = Tag.find_by_name(keywords) except Exception as e: self.send_error(404) send_error_email('Search Error', str(e)) try: C = cate_result['diaries'] except: C = [] try: T = tag_result['diaries'] except: T = [] real_result = list(C+T) """ To combine tag_result and category_result first make an empty list to save filtered_result and to make faster, make another empty list to save diary_id to ensure not append repeat diary """ filtered_result = [] cache_did = [] for i in real_result: if cache_did == []: cache_did.append(i['did']) filtered_result.append(i) else: if i['did'] not in cache_did: cache_did.append(i['did']) filtered_result.append(i) profile = Account.get() if filtered_result != []: self.render('Search/result.html', detail=filtered_result, categories=categories, profile=profile) else: filtered_result = None self.render('Search/result.html', detail=filtered_result, categories=categories, profile=profile) else: self.redirect('/')
def get(self, name): try: categories = Category.get() detail = Tag.find_by_name(name) except Exception as e: self.send_error(404) send_error_email('Tag List Error', str(e)) L = detail['diaries'] sorted_diaries = sorted(L, key=itemgetter('did'), reverse=True) if detail is not None: profile = Account.get() self.render('Tag/list.html', detail=detail, categories=categories, profile=profile, sorted_diaries=sorted_diaries) else: self.send_error(404)
def get(self, _id): try: detail = Diary.get_detail(_id) categories = Category.get() except Exception as e: self.send_error(404) send_error_email('Diary Detail Error', str(e)) if detail is not None: profile = Account.get() try: guest_name = self.get_secure_cookie('guest_name') guest_email = self.get_secure_cookie('guest_email') except: guest_name = None guest_email = None self.render('Diary/detail.html', detail=detail, profile=profile, guest_name=guest_name, guest_email=guest_email, categories=categories) else: self.send_error(404)
def get(self, page): try: profile = Account.get() diaries = Diary.get_diary_list(page) categories = Category.get() except Exception as e: self.send_error(404) send_error_email('Diary List Error', str(e)) number = diaries.count(with_limit_and_skip=True) if number == 5: next_page = True elif number < 1: self.send_error(404) return else: next_page = False self.render('Diary/list.html', diaries=diaries, profile=profile, page=page, next_page=next_page, categories=categories)