Beispiel #1
0
def subscribe():
    email = request.form.get('subscriber')
    new_subscriber = Subscriber(email = email)
    new_subscriber.save_subscriber()
    mail_message("Subscribed to D-Blog","email/welcome_subscriber",new_subscriber.email,new_subscriber=new_subscriber)
    flash('Sucessfuly subscribed')
    return redirect(url_for('main.index'))
Beispiel #2
0
def subscribe():
    email = request.form.get('subscriber')
    new_subscriber = Subscriber(email = email)
    new_subscriber.save_subscriber()
    mail_message("Subscribed successfully to Steve's blogs","email/welcome_subscriber",new_subscriber.email,new_subscriber=new_subscriber)
    flash('Subscribed successfully to Steve\'s blogs')
    return redirect(url_for('main.index'))
Beispiel #3
0
class TestSubscriber(unittest.TestCase):
    """
    This is the class I will use to test the subscriber
    """
    def setUp(self):
        """
        This will create a new sub before each test
        """
        self.new_sub = Subscriber(email="*****@*****.**")

    def tearDown(self):
        """
        This will clear the db after each test
        """
        Subscriber.query.delete()

    def test_is_instance(self):
        """
        This will test whether the new sub is an instance of the Subscriber class
        """
        self.assertTrue(isinstance(self.new_sub, Subscriber))

    def test_init(self):
        """
        This will test whether the sub is instantiated correctly
        """
        self.assertTrue(self.new_sub.email == "*****@*****.**")

    def test_save_sub(self):
        """
        This will test whether the sub is added to the db
        """
        self.new_sub.save_subscriber()
        self.assertTrue(len(Subscriber.query.all()) > 0)
def subscribe():

    info = (request.data).decode('utf-8')
    print(info)

    print(info)
    print(type(info))

    subsEntry = Subscriber()
    subsEntry.set_subsinfo(info)

    item = Subscriber.query.filter_by(subscription_info= info).first()
    if item is None:

        db.session.add(subsEntry)
        db.session.commit()
        print('Subscription created!')

    else:
        print('Subscription exists!')

    response = jsonify()
    response.status_code = 201
    response.id = subsEntry.id

    return response
Beispiel #5
0
def subscriber_create():
    try:
        data = json.loads(request.get_data())
        subscriber = Subscriber(data['user_id'], data['subscriber_id'])
        db.session.add(subscriber)
        db.session.commit()
    except:
        return 'Failed'
    return json.dumps(subscriber.to_dict(), ensure_ascii = False)
Beispiel #6
0
def subscribe():
    email = request.form.get('subscriber')
    new_subscriber = Subscriber(email=email)
    new_subscriber.save_subscriber()
    mail_message("Subscribed to Blog Today",
                 "email/welcome_subscriber",
                 new_subscriber.email,
                 new_subscriber=new_subscriber)
    flash('You are Successfully subscribed to this Blog!')
    return redirect(url_for('main.index'))
Beispiel #7
0
    def setUp(self):
        """
        Runs before each test
        """
        db.create_all()

        self.subscriber = Subscriber(email="*****@*****.**",
                                     first_name="John",
                                     last_name="Doe")
        self.user = User(user_name="victormainak")
class test_subscriber(unittest.TestCase):
    def setUp(self):
        self.new_subscriber = Subscriber(email='*****@*****.**')

    def tearDown(self):
        Subscriber.query.delete()

    def test_instance(self):
        self.assertTrue(isinstance(self.new_subscriber, Subscriber))

    def test_save_subscriber(self):
        self.new_subscriber.save_subscriber()
        self.assertTrue(len(Subscriber.query.all()), 1)
Beispiel #9
0
class SubscriberModelTest(unittest.TestCase):
    def setUp(self):
        self.new_subscriber = Subscriber(email='*****@*****.**')

    def tearDown(self):
        Subscriber.query.delete()

    def test_check_instance_variables(self):
        self.assertEquals(self.new_subscriber.email, '*****@*****.**')

    def test_save_subscriber(self):
        self.new_subscriber.save_subscriber()
        self.assertTrue(len(Subscriber.query.all()) > 0)
Beispiel #10
0
def post_view(title):
    title = title.replace("-", " ")
    posts = Post.query.order_by(Post.timestamp.desc()).all()[0:9]
    post = Post.query.filter_by(title=title).first()
    image = b64encode(post.image).decode("utf-8")
    post.article_views = post.article_views + 1
    db.session.commit()

    if request.method == 'POST':
        email = request.form['email']

        subscriber = Subscriber.query.filter_by(email=email).first()
        if subscriber:
            flash('Already subscribe our news least!', "warning")
            return redirect(url_for('post_view', title=title.replace(' ', '-')))  

        new_sub = Subscriber(email=email)
        db.session.add(new_sub)

        admin = Owner.query.filter(Owner.id).first()
        admin.add_notification('unread_message_count', admin.new_subscriber())
        db.session.commit()

        flash("Successfully subscribe our news least!", "success")
        return redirect(url_for('post_view', title=title))

    return render_template('client/post_view.html', title='Blog Post', post=post, posts=posts, image=image)
Beispiel #11
0
def blog():
    page = request.args.get("page", 1, type=int)
    posts = Post.query.paginate(
        page, app.config["POST_PER_PAGE"], False
    )
    next_url = url_for('blog', page=posts.next_num) \
        if posts.has_next else None
    prev_url = url_for('blog', page=posts.prev_num) \
        if posts.has_prev else None

    if request.method == 'POST':
        email = request.form['email']

        subscriber = Subscriber.query.filter_by(email=email).first()
        if subscriber:
            flash('Already subscribe our news least!', "warning")
            return redirect(url_for('blog'))  

        new_sub = Subscriber(email=email)
        db.session.add(new_sub)

        admin = Owner.query.filter(Owner.id).first()
        admin.add_notification('unread_message_count', admin.new_subscriber())
        db.session.commit()

        flash("Successfully subscribe our news least!", "success")
        return redirect(url_for('blog'))

    return render_template('client/blog.html', title='Blog', posts=posts.items, next_url=next_url, prev_url=prev_url, b64encode=b64encode)
Beispiel #12
0
def subscribe():
    email = request.form.get('subscriber')
    new_subscriber = Subscriber(email=email)
    # new_subscriber.save_su/bscriber()
    db.session.add(new_subscriber)
    db.session.commit()
    # mail_message("Subscribed to BLOBBER","email/welcome_subscriber",new_subscriber.email)
    flash('Sucessfuly subscribed')
    return redirect(url_for('main.index'))
Beispiel #13
0
class TestSubscriber(unittest.TestCase):
    def setUp(self):
        '''
        method to run before each test case
        '''
        self.new_subscriber = Subscriber(email='*****@*****.**')

    def tearDown(self):
        '''
        method  that runs after each test case
        '''
        Subscriber.query.delete()

    def save_subscriber(self):
        '''
        method that helps test if subscriber is saved
        '''
        self.new_subscriber.save_subscriber()
        self.assertTrue(len(Subscriber.query.all()) > 0)
Beispiel #14
0
def subscribe():
    Page.set_nav()
    form = SubscribeForm()
    form.subscription.choices = Subscriber.SUBSCRIPTION_CHOICES
    for field in form:
        print(f"{field.name}: {field.data}")
    if form.validate_on_submit():
        print("Validated")
        sub = Subscriber(
            email=form.email.data,
            first_name=form.first_name.data,
            last_name=form.last_name.data,
        )
        current_app.logger.debug(form.subscription.choices)
        if "all" in form.subscription.data:
            choices = [c[0] for c in form.subscription.choices]
            current_app.logger.debug(choices)
            choices.remove("all")
            sub.subscription = "," + ",".join(choices) + ","
        else:
            sub.subscription = "," + ",".join(form.subscription.data) + ","
        current_app.logger.debug(sub.subscription)
        #raise Exception('pause')
        db.session.add(sub)
        db.session.commit()
        sub.welcome()
        current_app.logger.info(f'New Subscriber!\n    {repr(sub)}')
        flash('You have subscribed successfully!', 'success')
        return redirect(url_for('page.home'))
    form.subscription.data = [i[0] for i in Subscriber.SUBSCRIPTION_CHOICES]
    return render_template('subscribe.html', form=form)
Beispiel #15
0
    def test_subscribers(self):
        """
        Test case to check if subscribers property is created
        """
        db.session.add(self.user)
        db.session.commit()

        sub = Subscriber(email="*****@*****.**")
        sub.subscriptions.append(self.user)
        db.session.add(sub)
        db.session.commit()

        self.assertTrue(len(self.user.subscribers) > 0)
Beispiel #16
0
def new_subscription():
    email = request.json.get('email')
    ticker_name = request.json.get('ticker')
    max_price = request.json.get('max_price')
    min_price = request.json.get('min_price')

    if max_price is None and min_price is None:
        message = 'You haven\'t specified neither min_price nor max_price'
        return bad_request(request.json, message)

    if email == '':
        message = 'You haven\'t specified email'
        return bad_request(request.json, message)

    if ticker_name == '':
        message = 'You haven\'t specified ticker'
        return bad_request(request.json, message)

    subscriber = Subscriber.query.filter_by(email=email).first()

    if subscriber is None:
        subscriber = Subscriber(email=email)
        db.session.add(subscriber)
        db.session.flush()

        send_on_new_subscription(email, ticker_name)
        subscriber.subscribe(ticker_name, max_price, min_price)
        db.session.commit()

    elif subscriber.subscriptions.count() >= 5:
        message = 'You are subscribed to maximum number of tickers.'
        return bad_request(request.json, message)
    elif not subscriber.is_subscribed(ticker_name):
        subscriber.subscribe(ticker_name, max_price, min_price)
        db.session.commit()

        send_on_new_subscription(email, ticker_name)
    else:
        message = f'You are subscribed to {ticker_name} ticker already.'
        return bad_request(request.json, message)

    return ok_request(request.json, 1)
Beispiel #17
0
def shop():
    products = Product.query.all()

    if request.method == 'POST':
        email = request.form['email']

        subscriber = Subscriber.query.filter_by(email=email).first()
        if subscriber:
            flash('Already subscribe our news least!', "warning")
            return redirect(url_for('shop'))  

        new_sub = Subscriber(email=email)
        db.session.add(new_sub)
        
        admin = Owner.query.filter(Owner.id).first()
        admin.add_notification('unread_message_count', admin.new_subscriber())
        db.session.commit()

        flash("Successfully subscribe our news least!", "success")
        return redirect(url_for('shop'))

    return render_template('client/shop.html', title='Shop', products=products, b64encode=b64encode)
Beispiel #18
0
def index():
    posts = Post.query.order_by(Post.timestamp.desc()).all()[0:6]

    if request.method == 'POST':
        email = request.form['email']

        subscriber = Subscriber.query.filter_by(email=email).first()
        if subscriber:
            flash('Already subscribe our news least!', "warning")
            return redirect(url_for('index'))  

        new_sub = Subscriber(email=email)
        db.session.add(new_sub)

        admin = Owner.query.filter(Owner.id).first()
        admin.add_notification('unread_message_count', admin.new_subscriber())
        db.session.commit()

        flash("Successfully subscribe our news least!", "success")
        return redirect(url_for('index'))
    
    return render_template('client/index.html', title='Home Page', posts=posts, b64encode=b64encode)
Beispiel #19
0
 def setUp(self):
     self.new_subscriber = Subscriber(id = 1 , name = 'ha', email = 'he')
Beispiel #20
0
 def setUp(self):
     """
     This will create a new sub before each test
     """
     self.new_sub = Subscriber(email="*****@*****.**")
Beispiel #21
0
def subscribe():
    email = request.form.get('subscriber')
    new_subscriber = Subscriber(email=email)
    new_subscriber.save_subscriber()
    flash('Done')
    return redirect(url_for('main.index'))
Beispiel #22
0
 def setUp(self):
     '''
     Set up method that will run before every Test
     '''
     self.new_subscriber = Subscriber()
Beispiel #23
0
 def setUp(self):
     self.new_sub = Subscriber(username='******')
Beispiel #24
0
 def setUp(self):
     self.new_sub = Subscriber(email="*****@*****.**")
Beispiel #25
0
 def setUp(self):
         self.new_subscriber = Subscriber(
           email = '*****@*****.**'
           )
Beispiel #26
0
 def setUp(self):
     self.new_sub = Subscriber(username = '******')
Beispiel #27
0
 def setUp(self):
     '''
     method to run before each test case
     '''
     self.new_subscriber = Subscriber(email='*****@*****.**')
Beispiel #28
0
class TestSubscriber(unittest.TestCase):
    """
    Class for testing User properties and methods. Inherits from unittest.TestCase
    """
    def setUp(self):
        """
        Runs before each test
        """
        db.create_all()

        self.subscriber = Subscriber(email="*****@*****.**",
                                     first_name="John",
                                     last_name="Doe")
        self.user = User(user_name="victormainak")

    def tearDown(self):
        """
        Runs after each test
        """
        db.session.commit()
        db.drop_all()

    def test_subscriber_instance(self):
        """
        Class to check if instance of Subscriber is created and committed to database
        """
        db.session.add_all([self.subscriber, self.user])
        db.session.commit()

        sub = Subscriber.query.filter_by(email="*****@*****.**").first()

        self.assertEqual(sub.email, "*****@*****.**")
        self.assertEqual(sub.first_name, "John")
        self.assertEqual(sub.last_name, "Doe")

    def test_subscriptions(self):
        """
        Test to check if subscriptions property is being populated by User instances
        """
        db.session.add_all([self.subscriber, self.user])
        db.session.commit()

        self.subscriber.subscriptions.append(self.user)

        print("Subscribers: ", self.user.subscribers)

        self.assertTrue(
            len(
                Subscriber.query.filter_by(
                    email="*****@*****.**").first().subscriptions) > 0)

    def test_add_subscription(self):
        """
        Test case to see if add_subscription appends user to Subscriber.subscriptions
        """
        db.session.add_all([self.subscriber, self.user])
        db.session.commit()

        self.subscriber.add_subscription(self.user)

        self.assertEqual(Subscriber.query.first().subscriptions[0], self.user)
        self.assertEqual(User.query.first().subscribers[0], self.subscriber)
 def setUp(self):
     self.new_subscriber = Subscriber(email='*****@*****.**')
Beispiel #30
0
 def setUp(self):
     self.new_subscriber = Subscriber(email='*****@*****.**')
Beispiel #31
0
 def test_subscriber(self):
     self.make_data_subscriber()
     grow_sessions = self.db.session.query(GrowSession).all()
     for grow_session in grow_sessions:
         self.assertEqual(len(grow_session.subscribers), 1)
     self.assertEqual(len(Subscriber.get_active()), 1)