Пример #1
0
 def get(self, username):
     u = User.get({u'username': username})
     if u is None: raise HTTPError(404)
     
     cur_user = self.get_session()[u'username']
     
     follower = Follower.get({u'follower': username, u'followee': cur_user})
     following = Follower.get({u'follower': cur_user, u'followee': username})
     
     self.output({
         u'username': u['username'],
         u'created': u[u'created'],
         u'id': u[u'id'],
         u'follower': (follower is not None),
         u'following': (following is not None),
     })
Пример #2
0
 def test_user_unfollow(self):
     user1 = self.make_user()
     user2 = self.make_user()
     self.follow(user2, user1)
     
     self.assertTrue(Follower.get({u'follower': user2[u'username'],
                                   u'followee': user1[u'username']}) is not None,
                                   'user2 following user1')
     
     response = self.post('/users/%s/followers/' % user1[u'username'],
                          {'follow': False}, auth_user=user2)
     self.assertEqual(response.status, 200, 'unfollow returned 200')
     
     self.assertTrue(Follower.get({u'follower': user2[u'username'],
                                   u'followee': user1[u'username']}) is None,
                                   'user2 is not following user1')
Пример #3
0
 def post(self, username):
     follow = self.body_dict().get(u'follow')
     if follow is None: raise HTTPError(403)
     
     follower = Follower.get({u'follower': self.get_user()[u'username'],
                              u'followee': username})
     
     if follow and follower is None:
         Follower(**{u'follower': self.get_user()[u'username'],
                     u'followee': username}).save()
         notifications.send(username, {u'type': u'follow', 
                                       u'username': self.get_user()[u'username']})
     elif not follow and follower is not None:
         follower.delete()
Пример #4
0
 def follow(self, follower, followee, reciprocal=False):
     f = Follower(follower=follower[u'username'],
                  followee=followee[u'username'])
     f.save()
     if reciprocal:
         f2 = Follower(follower=followee[u'username'],
                       followee=follower[u'username'])
         f2.save()
         return f, f2
     else:
         return f
Пример #5
0
 def get(self, username):
     followers = Follower.find({u'followee': username}).followers(users=False)
     self.output(followers, 200)
Пример #6
0
    def following(self, users=False):
        from api.users.followers.models import Follower

        return Follower.find({u"follower": self[u"username"]}).followees(users=users)