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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
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)
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)
def getCateName(self, cateid): db = lsdb.DB() return db.getCateName(cateid)
def getCategory(self, nojson=False): db = lsdb.DB() ret = db.getCategory() if nojson: return ret return json.dumps(ret)
def getCateVideos(self, cateid, nojson=False): db = lsdb.DB() ret = db.getCateVideos(cateid) if nojson: return ret return json.dumps(ret)
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)
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)
def unfollowUser(self, userid, targetid): logger.info("user %d unfollowed user %d" % (userid, targetid)) db = lsdb.DB() return db.unfollowUser(userid, targetid)
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)