def blog_edit(blog_id): query = BlogEntry.getAll() query = BlogEntry.addBlogIdFilter(query, blog_id) if not query.one().username == session['username']: return abort(401) g.session = session g.blog_entry = query.one() g.blog_name = config.blog_name g.blog_subtitle = config.blog_subtitle g.title = 'Edit entry: %s' %(g.blog_entry.name) return render_template('edit.html', g=g)
def blog_update(blog_id): query = BlogEntry.getAll() query = BlogEntry.addBlogIdFilter(query, blog_id) blog_entry = query.one() if not blog_entry.username == session['username']: return abort(401) need_update = False headline = request.form.get('headline', blog_entry.headline) if headline != blog_entry.headline: blog_entry.headline = headline need_update = True payload = request.form.get('payload', blog_entry.payload) if payload != blog_entry.payload: blog_entry.changePayload(payload) need_update = True new_tags = set() str_new_tags = request.form.get('tags', 'Untagged') if not str_new_tags: str_new_tags = 'Untagged' for tag in str_new_tags.split(','): new_tags.add(tag.rstrip().lstrip()) old_tags = set(t.name for t in blog_entry.tags) if new_tags != old_tags: blog_entry.tags = [] for tag in new_tags: blog_entry.addTag(tag) need_update = True if need_update: blog_entry.updateModifiedDate() db.session.add(blog_entry) db.session.commit() return redirect('/blog/by/id/%s' %(blog_entry.id))
def blog_by_name(name): query = BlogEntry.getAll() query = BlogEntry.addNameFilter(query, name) query = query.paginate(1, per_page=max_per_page) if 'page' in request.path: endpoint = request.path.rsplit('/', 1)[0] else: endpoint = os.path.join(request.path, 'page') g.session = session g.paginate = query g.endpoint = endpoint g.blog_name = config.blog_name g.title = '%s' %(g.paginate.items[0].name) g.blog_subtitle = config.blog_subtitle g.tags = get_used_tags() return render_template('child.html', g=g)
def blog(page=None): if page is None: page = 1 query = BlogEntry.getAll() query = query.paginate(page, per_page=max_per_page) if 'page' in request.path: endpoint = request.path.rsplit('/', 1)[0] else: endpoint = os.path.join(request.path, 'page') g.session = session g.paginate = query g.endpoint = endpoint g.blog_name = config.blog_name g.title = 'Blog for' g.blog_subtitle = config.blog_subtitle g.tags = get_used_tags() return render_template('child.html', g=g)
def blog_by_date(year=None, month=None, day=None, page=None): if page is None: page = 1 query = BlogEntry.getAll() if all((year is not None, month is not None, day is not None)): query = BlogEntry.addCreationDayFilter(query, year, month, day) elif all((year is not None, month is not None)): query = BlogEntry.addCreationMonthFilter(query, year, month) elif year is not None: query = BlogEntry.addCreationYearFilter(query, year) query = query.paginate(page, per_page=max_per_page) if 'page' in request.path: endpoint = request.path.rsplit('/', 1)[0] else: endpoint = os.path.join(request.path, 'page') g.session = session g.paginate = query g.BlogEntry = BlogEntry g.tags = get_used_tags() g.endpoint = endpoint g.blog_name = config.blog_name bf = 'Blog for' if year is not None: what = '/'.join(map(lambda x: str(x), filter(None, (g.year, g.month, g.day)))) else: what = '' g.title = '%s %s' %(bf, what) g.blog_subtitle = config.blog_subtitle return render_template('child.html', g=g)