Example #1
0
 def setUp(self):
     super(UsersTests, self).setUp()
     self._mox = mox.Mox()
     self._other = DATA
     self._me = {
         'username': '******',
         'password': '******',
         'email': '*****@*****.**',
     }
     User.create(**self._me)
     User.create(**self._other)
     Following.create(self._me['username'], self._other['username'])
     self._mox.StubOutWithMock(APIHandler,
                               'get_current_user', use_mock_anything=True)
     APIHandler.get_current_user().AndReturn(self._me['username'])
     self._mox.ReplayAll()
Example #2
0
def func():
    user = User.query.get(current_user.id)
    if request.method == 'POST':
        followed_id = request.form['followed_id']
        if db.session.query(exists().where(User.id == int(followed_id))) and \
            len(Following.query.filter(followed_id == Following.followed_id and \
                                        Following.follower_id == user.id).all()) == 0:

            following = Following(followed_id=int(followed_id),
                                  follower_id=current_user.id)
            user.followings.append(following)
            db.session.commit()
            return 'follow'
        else:
            unfollowed_id = followed_id
            following = Following.query.filter(
                        unfollowed_id == Following.followed_id and \
                        Following.follower_id == user.id).delete()
            db.session.commit()
            return 'unfollow'

    all_users = User.query.filter(User.id != user.id).all()
    followed = set([f.followed_id for f in user.followings])
    return render_template('follow.jinja2',
                           all_users=all_users,
                           followed=followed)
Example #3
0
 def test_unfollow_one(self):
     r = self.delete(self._path.format(self._other['username']))
     self.assertEqual(r.code, 200)
     self.assertDictEqual(json.loads(r.body), {'status': 1})
     exists = Following.get_by_user_following(
         self._me['username'], self._other['username'])
     self.assertIsNone(exists)
     self._mox.VerifyAll()
Example #4
0
def follow(user):
    followed_user = User.query.filter_by(username=user).first()
    follower = Followers(follower=current_user.username,
                         user_id=followed_user.id)
    following = Following(user=user, user_id=current_user.id)
    db.session.add(following)
    db.session.add(follower)
    db.session.commit()
    return redirect(url_for('view_profile', user=user))
Example #5
0
File: users.py Project: damnever/2L
 def get(self):
     username = self.current_user
     users = yield gen.maybe_future(Following.list_following(username))
     followings = list()
     if users:
         ids = [user.following_id for user in users]
         users = yield gen.maybe_future(User.get_multi(*ids))
         followings = [user.information() for user in users]
     raise gen.Return({
         'followings': followings,
         'total': len(followings),
     })
Example #6
0
File: users.py Project: damnever/2L
    def get(self, username):
        user = yield gen.maybe_future(User.get_by_name(username))
        if user is None:
            raise exceptions.UsernameDoesNotExists()
        else:
            info = user.information()
            followed, blocked = False, False

            if self.current_user != username:
                me = yield gen.maybe_future(User.get_by_name(self.current_user))
                followed = yield gen.maybe_future(
                    Following.followed(me.id, user.id))
                blocked = yield gen.maybe_future(
                    Blocked.blocked(me.id, user.id))

            info.update({'followed': followed, 'blocked': blocked})
            raise gen.Return(info)
Example #7
0
def seed_follows():

    follow = [
        Following(user_id=1, followed_user_id=1), 
        Following(user_id=1, followed_user_id=2), 
        Following(user_id=1, followed_user_id=3), 
        Following(user_id=1, followed_user_id=4), 
        Following(user_id=1, followed_user_id=5),
        Following(user_id=2, followed_user_id=1), 
        Following(user_id=2, followed_user_id=2), 
        Following(user_id=2, followed_user_id=3), 
        Following(user_id=2, followed_user_id=4),  
        Following(user_id=5, followed_user_id=3), 
        Following(user_id=5, followed_user_id=4), 
        Following(user_id=5, followed_user_id=5), 
        Following(user_id=4, followed_user_id=3), 
        Following(user_id=4, followed_user_id=4), 
        Following(user_id=4, followed_user_id=5), 
        Following(user_id=3, followed_user_id=1), 
        Following(user_id=3, followed_user_id=2), 
        Following(user_id=3, followed_user_id=3), 
        Following(user_id=3, followed_user_id=4),
        Following(user_id=5, followed_user_id=1),
    ]

    db.session.add_all(follow)

    db.session.commit()
Example #8
0
File: users.py Project: damnever/2L
 def delete(self, username):
     me = self.current_user
     r = yield gen.maybe_future(Following.get_by_user_following(me, username))
     yield gen.maybe_future(r.delete())
Example #9
0
File: users.py Project: damnever/2L
 def post(self, username):
     me = self.current_user
     yield gen.maybe_future(Following.create(me, username))
Example #10
0
def post_following(user_id):
    data = request.json
    follow = Following(user_id=data['userId'], followed_user_id=user_id)
    db.session.add(follow)
    db.session.commit()
    return {'message': 'Done'}, 201