コード例 #1
0
 def post(self):
     from libs.feedparser import parse
     user = users.get_current_user()
     url = self.request.get('url')
     p = parse(str(url))
     try:
         d = p['items'][0]
     except IndexError:
         pass
     if user:
         q = Feeds.query(Feeds.user == user, Feeds.url == url)
         if q.get() is None:
             feed = Feeds()
             def txn():
                 feed.blog = p.feed.title
                 feed.root = p.feed.link
                 feed.user = user
                 feed.feed = url
                 feed.url = d.link
                 feed.put()
             ndb.transaction(txn)
             deferred.defer(utils.new_bm, d, feed.key, _queue="admin")
         self.redirect(self.request.referer)
     else:
         self.redirect('/')
コード例 #2
0
ファイル: views.py プロジェクト: NCZkevin/pyweb-test
def index(request):
    if request.session.session_key:
        current_user = request.user
        if current_user.is_authenticated():
            if request.method == 'POST':
                form = NewFeedForm(request.POST)
                if form.is_valid():
                    content = form.cleaned_data['content']
                    feed = Feeds(user=request.user,
                                 content=content,
                                 creat_time=datetime.datetime.now()).save()
                    return HttpResponseRedirect('/')

            else:
                form = NewFeedForm()
                return render_to_response(
                    'accounts/broadcast.html', {
                        'form': form,
                        'current_user': current_user,
                        'STATIC_URL': STATIC_URL
                    },
                    context_instance=RequestContext(request))
        # 这里应该还有个else,来处理有sessiondata但是已经注销了的情况
        else:
            if request.method == 'POST':
                if 'login' in request.POST:
                    return indexlogin(request)
                elif 'signup' in request.POST:
                    return indexsignup(request)

            else:
                form_login = AccountsLoginForm()
                form_signup = AccountsSignupForm()
                return render_to_response(
                    'index.html', {
                        'form_login': form_login,
                        'form_signup': form_signup,
                        'STATIC_URL': STATIC_URL
                    },
                    context_instance=RequestContext(request))

    else:
        if request.method == 'POST':
            if 'login' in request.POST:
                return indexlogin(request)
            elif 'signup' in request.POST:
                print 'signup'
                return indexsignup(request)

        else:
            form_login = AccountsLoginForm()
            form_signup = AccountsSignupForm()
            return render_to_response('index.html', {
                'form_login': form_login,
                'form_signup': form_signup,
                'STATIC_URL': STATIC_URL
            },
                                      context_instance=RequestContext(request))
コード例 #3
0
    def processFeedItem(self, item):
        """
        adds news item to feeds table
        :param item:
        :return:
        """

        fdItem = Feeds(**item)
        self.processDBentry(fdItem)
        return item
コード例 #4
0
def create_feeds():

    try:
        if not request.json:
            abort(400)
        else:
            feeds = Feeds(request.json['title'], request.json['author'],
                          request.json['message'], request.json['lg_id'],
                          int(time.time()), request.json['type'])
            session.add(feeds)
            session.commit()

            result = feeds.serialize()

            if 'recipients' in request.json:
                session.refresh(feeds)
                recipient = Recipient(request.json['recipients'], feeds.id)
                session.add(recipient)
                session.commit()
                result.update({'recipients': recipient.recipients})

            if 'no_of_likes' in request.json:
                session.refresh(feeds)
                likes = Likes(feeds.id, request.json['no_of_likes'])
                session.add(likes)
                session.commit()
                result.update({'no_of_likes': likes.no_of_likes})

                # return jsonify({
                # 		"id": feeds.id,
                # 		"title": feeds.title,
                # 		"author": feeds.author,
                # 		"message": feeds.message,
                # 		"lg_id": feeds.lg_id,
                # 		"datetime": time.strftime('%d-%m-%Y %H:%M', time.localtime(feeds.datetime)),
                # 		"type": feeds.type,
                # 		"no_of_likes": likes.no_of_likes
                # 	})

            return jsonify(result)

    except Exception as e:
        return (str(e))