예제 #1
0
def generate_meta_response(value, post):
    # output the original author if it exists
    result = ''
    if post.original_author:
        repost_count = str(Post.objects(original_id=post.original_id,original_author=post.original_author).count())
        result += '<span class="repost_count">'+repost_count+'</span> <span class="repost_info">Originally posted by <a href="/user/'+str(post.original_author.id)+'">'+post.original_author.full_name+'</a></span>'
    return result
예제 #2
0
def postplan_update_view(request,*args,**kwargs):
    year=kwargs.get('year')
    month=kwargs.get('month')
    day=kwargs.get('day')
    slug=kwargs.get('slug')
    post=Post.objects(slug=slug).first()
    if request.method=="POST":
        form=PlanForm(request.POST)
        if form.is_valid():
            ending=form.cleaned_data['ending']
            starting=form.cleaned_data['starting']
            title=form.cleaned_data['title']
            transport=form.cleaned_data['transport']
            cost=form.cleaned_data['cost']
            content=form.cleaned_data['content']
            plan=PostPlan(title=title,transport=transport,cost=cost,content=content)
            plan.save()
            plan.starting=datetime.combine(date(year=year,month=month,day=day),starting)
            plan.ending=datetime.combine(date(year=year,month=month,day=day),ending)
            plan.save()
            post.postplans.append(plan.number)
            post.save()
            return HttpResponseRedirect(reverse('plan-create',kwargs={'slug':slug,'year':year,'month':month,'day':day}))
    else:
        plan=PostPlan.objects(number=kwargs.get('pk')).first()
        form=PlanForm()
        return render(request,'plans/plan_update.html',{'plan':plan,'form':form})
예제 #3
0
 def get_object(self):
     try:
         post = Post.objects(id=self.kwargs['id'])[0]
     except IndexError:
         raise Http404
     self.check_object_permissions(self.request, post)
     return post
예제 #4
0
 def get_day_number(self):
     year=self.kwargs.get('year')
     month=self.kwargs.get('month')
     day=self.kwargs.get('day')
     today=datetime.date(year=int(year),month=int(month),day=int(day))
     post=Post.objects(slug=self.kwargs.get('slug')).first()
     diff=today-post.arrival.date()
     day=diff.days
     return day
예제 #5
0
 def list(self, request, *args, **kwargs):
     if request.GET.get('author_id'):
         ds = self.get_serializer_class()(Post.objects(author=ObjectId(
             request.GET.get('author_id'))).order_by('-created_at'),
                                          many=True)
     else:
         ds = self.get_serializer_class()(
             self.get_queryset().order_by('-created_at'), many=True)
     return Response(ds.data)
예제 #6
0
 def get_queryset(self,*args,**kwargs):
     post=Post.objects(slug=kwargs.get('slug')).first()
     today=datetime.date(year=kwargs.get('year'),month=kwargs.get('month'),day=kwargs.get('day'))
     diff=today-post.arrival.date()
     day=diff.days
     if self.object:
         self.object.day=day
         post.plans.append(self.object)
         post.save()
     return self.object
예제 #7
0
파일: views.py 프로젝트: ednapiranha/refrig
def update(request):
    if check_key(request):
        user = get_api(request)
        if request.method == 'POST':
            post = Post.objects(id=request.POST.get('post_id'), author=user).first()
            post.update_by_pattern(request)
            return HttpResponseRedirect('/post/'+str(post.id))
        else:
            return HttpResponseRedirect('/yours')
    else:
        return HttpResponseRedirect('/dashboard')
예제 #8
0
 def get_context_data(self,*args,**kwargs):
     self.context=super(PlanCreateView,self).get_context_data(*args,**kwargs)
     context=self.context
     post=Post.objects(slug=self.kwargs.get('slug')).first()
     context['plans']=post.postplans
     context['post']=post
     if self.get_day_number()!=0:
         context['day_number']=self.get_day_number()+1
         context['back_day_url']=reverse('plan-create',kwargs={'slug':self.kwargs.get('slug'),'year':self.kwargs.get('year'),'month':self.kwargs.get('month'),'day':int(self.kwargs.get('day'))-1})
     elif self.get_day_number()==0:
         context['day_number']=1
     return context
예제 #9
0
파일: views.py 프로젝트: ednapiranha/refrig
def edit(request, post_id):
    """
    edit a post
    """
    if check_key(request):
        user = get_api(request)
        post = Post.objects(id=post_id).first()
        tags = ', '.join(post.tags)
        return render_to_response('posts/edit.html', {
            'post' : post,
            'tags' : tags,
            }, context_instance=RequestContext(request))
    else:
        return HttpResponseRedirect('/dashboard')
예제 #10
0
파일: views.py 프로젝트: ednapiranha/refrig
def show(request, post_id):
    """
    load single post
    """ 
    post = [Post.objects(id=post_id).first()]
    if check_key(request):
        user = get_api(request)
    else:
        user = None
        
    return render_to_response('posts/show.html', {
        'posts' : post,
        'user' : user,
        }, context_instance=RequestContext(request))
예제 #11
0
파일: views.py 프로젝트: ednapiranha/refrig
def repost(request, post_id):
    """
    repost a user's post
    """
    if check_key(request):

        user = get_api(request)
        post = Post.objects(id=post_id).first()
        if user != post.author:
            repost = post.save_repost(request.session['profile'])
            if repost:
                return HttpResponseRedirect('/post/'+str(repost.id))
            else:
                return HttpResponseRedirect('/dashboard')
        else:
            return HttpResponseRedirect('/dashboard')
    else:
        return HttpResponseRedirect('/dashboard')
예제 #12
0
파일: views.py 프로젝트: ednapiranha/refrig
def delete(request, post_id):
    """
    delete an existing post, and tag count
    """    
    if check_key(request):
        try:
            post = Post.objects(author=request.session['profile'], id=post_id).first()
            if post:
                for tag in post.tags:
                    tag_exist = Tag.objects(name=tag.lower()).first()
                    if tag_exist:
                        total_count = tag_exist.total_count - 1
                        tag_exist.total_count = total_count
                        tag_exist.save()

                post.delete()
        except:
            return HttpResponseRedirect('/yours')
    return HttpResponseRedirect('/yours')
예제 #13
0
 def get_queryset(self):
     post=Post.objects(slug=self.kwargs.get('slug')).first()
     return post
from mongoengine import connect
from posts.models import Post

from flask_mongoengine import MongoEngine

db = MongoEngine()
'''
class Post(db.Document):
    title = db.StringField(required=True)
    tag = db.StringField(max_length=25)
    text = db.StringField()
    urls = db.ListField(db.StringField())
    posted = db.DateTimeField(default=datetime.datetime.now)

    def __repr__(self):
        return f"Post {self.title}"
'''
connect(db='testdb', host=MONGO_URI)

for post in Post.objects():
    print(post.text)
'''
Post(
        title='Engine test',
        tag='pytest',
        text='Hello Everyone!',
        urls= ['https://sun6-14.userapi.com/c855128/v855128189/10f4b2/J977kYyDEag.jpg',
            'https://sun9-45.userapi.com/c855128/v855128189/10f478/yH9fX5eBFOA.jpg'],
        ).save()
'''
예제 #15
0
def post_by_follower_tag(user, tag):
    # has the user tagged with this tag?
    post = Post.objects(tags=tag.name, author__in=user.follows).first()
    if post:
        return "someone you follow tagged a post with this"
    return ""
예제 #16
0
def post_by_your_tag(user, tag):
    # has the user tagged with this tag?
    post = Post.objects(tags=tag.name, author=user).first()
    if post:
        return "you tagged a post with this"
    return ""