예제 #1
0
 def followUser(self, userid, targetid):
     if userid == targetid:
         logger.warning("invalid operation - %d follow himself" % userid)
         return False
     logger.info("user %d followed user %d" % (userid, targetid))
     db = lsdb.DB()
     return db.followUser(userid, targetid)
예제 #2
0
 def getFollower(self, userid, nojson=False):
     logger.debug("get user %d follower list" % userid)
     db = lsdb.DB()
     ret = db.getFollower(userid)
     if nojson:
         return ret
     return json.dumps(ret)
예제 #3
0
 def unfollowVideo(self, userid, videoid):
     logger.info("user %d unfollowed the owner of video %s" %
                 (userid, videoid))
     db = lsdb.DB()
     targetid = db.getVideoInfo(videoid)[5]
     if targetid:
         return db.unfollowUser(userid, targetid)
예제 #4
0
 def getUserVideo(self, userid, nojson=False):
     logger.debug("retrieving user %d's video list" % userid)
     db = lsdb.DB()
     ret = db.getUserVideo(userid)
     if nojson:
         return ret
     return json.dumps(ret, cls=TimeEncoder)
예제 #5
0
 def getVideoInfo(self, videoid, nojson=False):
     logger.debug("return video info for video %s" % videoid)
     db = lsdb.DB()
     vi = db.getVideoInfo(videoid)
     if nojson:
         return vi
     return json.dumps(vi, cls=TimeEncoder)
예제 #6
0
 def getFeed(self, userid, nojson=False):
     logger.debug("return feed list of user %d" % userid)
     db = lsdb.DB()
     fl = db.getFeed(userid)
     if nojson:
         return fl
     return json.dumps(fl, cls=TimeEncoder)
예제 #7
0
 def followVideo(self, userid, videoid):
     logger.info("user %d followed the owner of video %s" %(userid, videoid))
     db = lsdb.DB()
     targetid = db.getVideoInfo(videoid)[5]
     if userid == targetid:
         logger.warning("invalid operation - %d follow himself" %userid)
         return False
     return db.followUser(userid, targetid)
예제 #8
0
 def getRecommandVideo(self, nojson=False):
     logger.debug("return top 100 video of this week")
     d = datetime.timedelta(days=refresh_days)
     db = lsdb.DB()
     ret = db.getTopVideo(datetime.date.today() - d)
     if nojson:
         return ret
     return json.dumps(ret, cls=TimeEncoder)
예제 #9
0
 def getUserProfile(self, targetid, nojson=False):
     logger.debug("retrieving user %d's profile" % targetid)
     db = lsdb.DB()
     follower_no = len(db.getFollower(targetid))
     following_no = len(db.getFollowing(targetid))
     ret = db.getUserProfile(targetid) + (follower_no, following_no)
     if nojson:
         return ret
     return json.dumps(ret)
예제 #10
0
 def getRecommandUser(self, nojson=False):
     logger.debug("return top 1 admin, top 50 business, top 50 confirmed, top 50 free users")
     db = lsdb.DB()
     ru = db.getTopUser('admin', 1)
     ru += db.getTopUser('business', 50)
     ru += db.getTopUser('confirmed', 50)
     ru += db.getTopUser('free', 50)
     if nojson:
         return ru
     return json.dumps(ru)
예제 #11
0
 def loginUser(self, uname, usns, nickname, uicon):
     db = lsdb.DB()
     ret = db.selectUserID(uname, usns)
     if not ret:
         ret = db.createUser(uname, usns, nickname, uicon)
         logger.info("User %s at %s is 1st time of using our app, created userid %d" %(uname, usns, ret))
     else:
         db.updateUser(ret, nickname, uicon)
         logger.info("User %s at %s already has userid %d, updated its nickname and icon" %(uname, usns, ret))
     return ret
예제 #12
0
 def getSNSfollowing(self, userid, nojson=False):
     db = lsdb.DB()
     profile = db.getUserProfile(userid)
     u_nickname = profile[2]
     u_sns = profile[4]
     users = json.load(urllib2.urlopen(sina_friend_url %u_nickname))['users']
     ret = []
     for u in users:
         profile = db.selectUserByNickname(u['screen_name'], u_sns)
         if profile:
             logger.debug("found user %d for %s's friends at %s" %(profile[0], u_nickname, u_sns))
             ret.append(profile)
     if nojson:
         return ret
     return json.dumps(ret)
예제 #13
0
 def unlikeVideo(self, userid, videoid):
     logger.info("user %d unlike video %s, remove feed and score" %
                 (userid, videoid))
     db = lsdb.DB()
     return db.unlikeVideo(userid, videoid)
예제 #14
0
 def getCateName(self, cateid):
     db = lsdb.DB()
     return db.getCateName(cateid)
예제 #15
0
 def getCategory(self, nojson=False):
     db = lsdb.DB()
     ret = db.getCategory()
     if nojson:
         return ret
     return json.dumps(ret)
예제 #16
0
 def getCateVideos(self, cateid, nojson=False):
     db = lsdb.DB()
     ret = db.getCateVideos(cateid)
     if nojson:
         return ret
     return json.dumps(ret)
예제 #17
0
 def addTitle(self, userid, videoid, videotitle=""):
     logger.info("user %d create new video %s" % (userid, videoid))
     db = lsdb.DB()
     return db.addVideo(userid, videoid, videotitle)
예제 #18
0
 def shareVideo(self, videoid, snsid):
     logger.info("video %s published on sns web with id: %s" %
                 (videoid, snsid))
     db = lsdb.DB()
     return db.shareVideo(videoid, snsid)
예제 #19
0
 def unfollowUser(self, userid, targetid):
     logger.info("user %d unfollowed user %d" % (userid, targetid))
     db = lsdb.DB()
     return db.unfollowUser(userid, targetid)
예제 #20
0
 def likeVideo(self, userid, videoid):
     logger.info("user %d like video %s, try add feed and score" %
                 (userid, videoid))
     db = lsdb.DB()
     return db.likeVideo(userid, videoid)