Esempio n. 1
0
def feed():
    form = FeedForm()
    if form.validate_on_submit():
        feed = models.Feed(url=form.url.data, title=form.title.data)
        db_session.add(feed)
        db_session.commit()
        return redirect('/')
    return render_template('feed.html', form=form)
Esempio n. 2
0
def feed():
  form = FeedForm()
  if form.validate_on_submit():
    feed = models.Feed(url=form.url.data,title=form.title.data)
    db_session.add(feed)
    db_session.commit()
    return redirect('/')
  return render_template('feed.html',form=form)
Esempio n. 3
0
def feed(id=None, page=1):
    if 'edit' in request.values:
        edit = True
    else:
        edit = False

    if id is None:
        f = Feed(name='New Feed')
        g.user.feeds.append(f)
        s = Subscription(subscriber=g.user, feed=f)
        db.session.add(f)
        db.session.add(s)
        db.session.commit()

        edit = True
        return redirect(url_for('feed', id=f.id, edit=True))
    else:
        f = Feed.query.filter(Feed.id == id).first()
        s = Subscription.query.filter(and_(Subscription.feed_id == id, Subscription.user_id == g.user.id)).first()

    form = FeedForm(request.form, f, subscription=s)

    if form.validate_on_submit():
        edit = True
        if 'Delete' in request.values:
            if f is not None:
                # not sure if this is necessary (and will need to revise once it's possible to share feeds)
                for s in Subscription.query.filter(Subscription.feed_id == f.id):
                    db.session.delete(s)
                db.session.delete(f)
                db.session.commit()
                return redirect(url_for('index'))

        print 'validated'

        f = form.populate_obj(f)
        s.enable_email = form.enable_email.data
        s.email_frequency = form.email_frequency.data

        db.session.add(f)
        db.session.add(s)
        db.session.commit()
        flash('Feed updated.')
        return redirect(url_for('feed', id=f.id, edit=edit))
    else:
        if f is not None:
            articles = f.feed_articles().paginate(page, ARTICLES_PER_PAGE, False)
            if articles.total == 0: edit = True
            form.enable_email.data = form.subscription.enable_email
            form.email_frequency.data = form.subscription.email_frequency
        else:
            articles = None
            edit = True

    if f is not None:
        feed_authors = f.authors.order_by(Author.lastname)
    return render_template('feed.html', feed=f, form=form, articles=articles, feed_authors=feed_authors, user=g.user,
                           edit=edit)
Esempio n. 4
0
def feed(id=None, page=1):
    if 'edit' in request.values:
        edit = True
    else:
        edit = False

    if id is None:
        f = Feed(name='New Feed')
        g.user.feeds.append(f)
        s = Subscription(subscriber=g.user, feed=f)
        db.session.add(f)
        db.session.add(s)
        db.session.commit()

        edit = True
        return redirect(url_for('feed', id=f.id, edit=True))
    else:
        f = Feed.query.filter(Feed.id == id).first()
        s = Subscription.query.filter(
            and_(Subscription.feed_id == id,
                 Subscription.user_id == g.user.id)).first()

    form = FeedForm(request.form, f, subscription=s)

    if form.validate_on_submit():
        edit = True
        if 'Delete' in request.values:
            if f is not None:
                # not sure if this is necessary (and will need to revise once it's possible to share feeds)
                for s in Subscription.query.filter(
                        Subscription.feed_id == f.id):
                    db.session.delete(s)
                db.session.delete(f)
                db.session.commit()
                return redirect(url_for('index'))

        print 'validated'

        f = form.populate_obj(f)
        s.enable_email = form.enable_email.data
        s.email_frequency = form.email_frequency.data

        db.session.add(f)
        db.session.add(s)
        db.session.commit()
        flash('Feed updated.')
        return redirect(url_for('feed', id=f.id, edit=edit))
    else:
        if f is not None:
            articles = f.feed_articles().paginate(page, ARTICLES_PER_PAGE,
                                                  False)
            if articles.total == 0: edit = True
            form.enable_email.data = form.subscription.enable_email
            form.email_frequency.data = form.subscription.email_frequency
        else:
            articles = None
            edit = True

    if f is not None:
        feed_authors = f.authors.order_by(Author.lastname)
    return render_template('feed.html',
                           feed=f,
                           form=form,
                           articles=articles,
                           feed_authors=feed_authors,
                           user=g.user,
                           edit=edit)