def simple_page(page=None, section=None): page_id = request.path.strip('/') if page else 'home' page = Page.get_latest(page_id) try: return template('%s.html' % page_id, page=page) except TemplateError: if not page: return abort(404, "Page not found") return template('default.html', page=page, page_id=page_id)
def simple_page(page, section=None): template_context = c = dict( show_editor = True, page = Page.get_latest(g.page_id) ) try: return template('%s.html' % g.page_id, **template_context) except TemplateError: c['default'] = True return template('default.html', **template_context)
def home(): # getting tasks list and changing date format (date -> str) tasks_list = list(db.tasks_list.find().sort([("date", 1)])) for task in tasks_list: try: task["date"] = task["date"].strftime("%Y-%m-%d") except: pass template_context = dict( tasks_list = tasks_list, page = Page.get_latest('home') ) return template('home.html', **template_context)
def show_posts(page=1, slug=None, year=None, month=None): c = template_context = dict( addthis_id = public_app.config.get('addthis_id'), fb_id = public_app.config.get('fb_id') ) page = int(page) query = { 'id': { '$regex': 'blog' }, 'current': True, 'meta.hide': { '$ne': True } } c['latest_posts'] = db.pages.find(query).sort('meta.created', -1)[0:5] c['query'] = search = request.query.get('q', '') c['author'] = author = request.query.get('author', None) if author: query['meta.author'] = author posts = db.pages.find(query).sort('meta.created', -1) elif len(search): # posts from search regex = re.compile(search, re.IGNORECASE) query['content'] = { '$regex': regex } posts = db.pages.find(query).sort('meta.created', -1) elif slug: # single post c['single_post'] = True c['slug'] = slug post = Page.get_latest('blog/' + slug) hidden = post['meta'].get('hide', False) if hidden == True: return abort(404, "Page not found") c['posts'] = [post] c['page'] = post elif year and month: # from archive date_from = datetime(year, month, 1) c['month_link'] = '/archive/%s/%s' % (year, month) c['month'] = date_from.strftime('%B %Y') date_to = date_from + relativedelta(months=+1) query['meta.created'] = { '$gte': date_from, '$lt': date_to } posts = db.pages.find(query).sort('meta.created', -1) else: # list posts = db.pages.find(query).sort('meta.created', -1) if slug is None: # pagination c['current_page'] = page per_page = 5 skip = (page-1) * per_page c['count'] = count = posts.count() c['posts'] = posts[skip:skip+per_page] c['pages'] = count // 5 + 1 if (count % 5 == 0) else count // 5 + 2 c['home'] = Page.get_latest('home') return template('blog.html', **template_context)
def edit_blog_post(page): return template('admin/blog-post.html', editor = True, page = Page.get_latest(g.page_id))