コード例 #1
0
ファイル: views.py プロジェクト: 4416/hazel-cms
 def tnx():
     entity = Post.get_by_key_name(key_name)
     if entity is None:
         entity = Post(key_name=key_name, **kwds)
         entity.put()
         return (True, entity)
     return (False, entity)
コード例 #2
0
ファイル: searcher.py プロジェクト: hideki/locateweb
def search(user, query, type='and'):
    if type == 'phrase':
        ids = _phrase_search(user, query)
    else:
        ids = _and_search(user, query)
    #logging.info(ids)
    posts = Post.get_by_key_name(ids, parent=user)
    #logging.info(posts[0].message)
    return sorted(posts, key=operator.attrgetter('created_time'), reverse=True)
コード例 #3
0
ファイル: views.py プロジェクト: 4416/hazel-cms
def show(request, key):
    prevent_cache = False
    post = Post.get_by_key_name('Published:%s' % key)
    if not post and users.is_current_user_admin():
        # admin might also try to retrieve the post by it's key!
        post = Post.get_by_key_name(key)
        prevent_cache = True
    if post:
        ns = NutSettings()
        template = ns.articles_layout
        if template:
            template = 'nut:layout/%s' % template
        else:
            template = 'app:articles/show.html'
        resp = render_template(template, post=post)
        resp.prevent_cache = prevent_cache
    else:
        resp = render_template('app/404.html')
        resp.prevent_cache = True
    return resp
コード例 #4
0
ファイル: views.py プロジェクト: 4416/hazel-cms
def edit(request, key):
    post = Post.get_by_key_name(key)
    form = ArticleForm(request.form, obj=PostProxy(post), prefix='edit')
    status = False
    if request.method == 'POST' and form.validate():
        key_name, kwds = prepare(form)
#        kwds['html'] = render_jinja('cache_body.html', body=kwds['body'])
        if post.key().name() == key_name:
            post = update_entity(key_name, **kwds)
            status = 'Updated'
        else:
            kwds['author'] = users.get_current_user()
            created, entity = create_entity(key_name, **kwds)
            if not created:
                return Response('sorry, post with that pub_date and title'\
                                    + 'exists already')
            post.invalidate_cache()
            post.delete()
            post = entity
            status = 'Updated'
        post.invalidate_cache()
        if form.save.data:
            return redirect(url_for('nut:articles/list'), 301)
    return render_template('app:articles/form.html', form=form, post=post, status=status)
コード例 #5
0
ファイル: views.py プロジェクト: 4416/hazel-cms
 def tnx():
     entity = Post.get_by_key_name(key_name)
     for key, value in kwds.items():
         setattr(entity, key, value)
     entity.put()
     return entity
コード例 #6
0
ファイル: views.py プロジェクト: 4416/hazel-cms
def delete(request, key):
    post = Post.get_by_key_name(key)
    if request.method == 'POST':
        post.delete()
        return redirect(url_for('nut:articles/list'), 301)
    return render_template('app:articles/post_confirm_delete.html', post=post)