def post(self): if self.get_argument("user"): user = self.get_argument("user") if user: user = json.loads(user) util.log("MyInfoHandler.post") util.log( user) isError = False for item in user.keys(): if item not in MyInfoHandler.keys: isError = True break if not isError: if user.has_key("icon"): user["icon"] = self.static_url(user["icon"]) future = db.users.update({'user': self.current_user},{'$set': user}) result = yield future util.log( result) if result: re = {"result":"保存成功"} util.write(self, 1, "", re) self.finish() else: util.write(self, 0, "保存失败,请重试", {}) self.finish() else: util.write(self, 0, "保存失败,请重试", {}) self.finish() else: util.write(self, 0, "保存失败,请重试", {}) self.finish() else: util.errorHandle(self, 0) self.finish()
def post(self): token = self.xsrf_token if self.get_argument("user") and self.get_argument("pwd"): db.users.find_one({"user":self.get_argument("user"), "password":self.get_argument("pwd")}, callback=(yield gen.Callback("key"))) user = yield gen.Wait("key") #find = False if user[0]: util.log("LoginHandler.post") util.log( user[0]) if user[0][0] and user[0][0]["user"]: #find = True self.set_secure_cookie("fbt_user",self.get_argument("user")) if self.get_argument("remember") and self.get_argument("remember") == "1": self.set_cookie("fbt_u",self.get_argument("user")) self.set_cookie("fbt_pwd",self.get_argument("pwd")) if self.get_argument("next"): self.redirect(self.get_argument("next")) else: result = {} result["result"] = self.get_argument("user") util.write(self, 1, "", result) self.finish() #self.write("ok") return else: util.write(self, 0, "用户名不存在或者用户名与密码不匹配", {}) self.finish() else: util.write(self, 0, "用户名不存在或者用户名与密码不匹配", {}) self.finish() else: util.errorHandle(self, 0) self.finish()
def g(self): result = yield db.user_shuo.find_one({'user': self.current_user}) util.log( "MyShuoHandler.get" + str(result)) if result: util.write(self, 1, "", result) else: util.errorHandle(self, 1)
def confirmAdd(self): if self.get_argument("user") and self.get_argument("id"): user = self.get_argument("user") re = {"user":self.current_user, "isStar":0} result = yield db.users.update({'user': user}, {'$push':{"friends":re}}) re = {"user":user, "isStar":0} result = yield db.users.update({'user': self.current_user}, {'$push':{"friends":re}}) yield motor.Op(msg_handle.ReadMsg, self.current_user, self.get_argument("id")) util.log( "MyFriend.confirmAdd" + str(result)) if result.has_key("nModified") and result["nModified"] == 1: if not result.has_key("writeConcernError"): result = {"result" : "添加好友成功"} util.write(self, 1, "", result) self.finish() else: util.log( result["writeConcernError"]) util.write(self, 0, "添加好友请求失败,请重试", {}) self.finish() else: #util.log( result["writeError"]) util.write(self, 0, "添加好友请求失败,请重试", {}) self.finish() else: util.errorHandle(self, 0) self.finish()
def search(self): if self.get_argument("search"): search = self.get_argument("search") data = [] cursor = db.users.find({"$or": [ {"user":search}, {"nick_name":search} ]}) while (yield cursor.fetch_next): user = cursor.next_object() if user["user"] == self.current_user: continue result = {} result["icon"] = user["icon"] result["nick_name"] = user["nick_name"] result["user"] = user["user"] data.append(result) # db.users.find({"$or": # [ # {"user":search}, # {"nick_name":search} # ]},callback=(yield gen.Callback("key"))) # user = yield gen.Wait("key") util.write(self, 1, "", json.dumps(data)) self.finish() else: util.errorHandle(self, 0) self.finish()
def delete(self): if self.get_argument("user") and self.get_argument("star"): user = self.get_argument("user") star = self.get_argument("star") if star[0] >= '0' and star[0] <= '9': u1 = {"user":self.current_user, "isStar":0} u2 = {"user":self.current_user, "isStar":1} yield db.users.update({'user': user}, {'$pull':{"friends":u1}}) yield db.users.update({'user': user}, {'$pull':{"friends":u2}}) u = {"user":user, "isStar": int(star)} result = yield db.users.update({'user': self.current_user}, {'$pull':{"friends":u}}) util.log( "MyFriend.delete" + str(result)) if result.has_key("nModified") and result["nModified"] == 1: if not result.has_key("writeConcernError"): result = {"result" : "删除好友成功"} util.write(self, 1, "", result) self.finish() else: util.log( result["writeConcernError"]) util.write(self, 0, "删除好友请求失败,请重试", {}) self.finish() else: #util.log( result["writeError"]) util.write(self, 0, "删除好友请求失败,请重试", {}) self.finish() else: util.errorHandle(self, 0) self.finish() else: util.errorHandle(self, 0) self.finish()
def post(self): if self.get_argument("op"): op = self.get_argument("op") if op[0] >= '0' and op[0] <= '9': op = int(op) util.log("MyFriendHandler.post") util.log( op) if op == 0: self.search() elif op == 1: self.add() elif op == 2: self.confirmAdd() elif op == 3: self.delete() elif op == 4: self.star() elif op == 5: self.unStar() else: util.errorHandle(self, 0) self.finish() else: util.errorHandle(self, 0) self.finish()
def post(self): token = self.xsrf_token if self.get_argument("user") and self.get_argument("pwd"): util.log("RegistrationHandler.post") util.log( self.get_argument("user")) db.users.find_one({"user":self.get_argument("user")}, callback=(yield gen.Callback("key"))) user = yield gen.Wait("key") if user[0][0]: util.write(self, 0, "用户名已经存在,请选用其他用户名", {}) self.finish() else: nick = "" time = datetime.utcnow() if self.get_argument("nick"): nick = self.get_argument("nick") else: nick = "fbt_"+str(uuid.uuid1())[0:10] icon = self.static_url('images/user_icon/fbtLogo.png') new_user = {'user':self.get_argument("user"),'time':time, 'icon':icon,'desc':'点击编辑', 'real_name':'', 'phone':'', 'qq':'', 'gender':'', 'love_state':'', 'school':'', 'address':'', 'password':self.get_argument("pwd"), 'nick_name':nick, 'friends':[] } result = yield db.users.insert(new_user) #msg_handle.initMsg(self.get_argument("user")) if self.get_argument("next"): self.redirect(self.get_argument("next")) else: util.write(self, 1, "", {}) self.finish() else: util.errorHandle(self, 0) self.finish()
def post(self): version = self.get_argument("version","") user = self.get_argument("user", None) page = self.get_argument("page", 1) sort_by = self.get_argument("sort_by", ResourceStoreManager.res_sort_by["time"]) which_type = self.get_argument("type", None) private = self.get_argument("private", None) key_word = self.get_argument("key_word", "") try: user = long(user) page = int(page) assert page>0 sort_by = int(sort_by) assert sort_by==ResourceStoreManager.res_sort_by["time"] or sort_by==ResourceStoreManager.res_sort_by["download_num"] sort_by = ResourceStoreManager.get_sort_item(sort_by) key_word=Cipher.decrypt(key_word).strip() assert len(key_word)>0 except: util.errorHandle(self, 0) self.finish() else: if private and '1' == private: result = yield ResourceStoreManager.search_resources_private(user, version, key_word,page,sort_by,RES_CNT_IN_A_PAGE) else: result = yield ResourceStoreManager.search_resources(version, key_word,page,sort_by,RES_CNT_IN_A_PAGE) resource_list = result["res"] cipher_resource_list(resource_list, version) add_download_info_to_resource_list(resource_list) if version >= "1.8": util.write(self, 1, "", {"size": getPages(result["size"]), "res":resource_list}) else: util.write(self, 1, "", resource_list) self.finish() yield LogForUser.log_user_search(user, long(time()), key_word, result["size"])
def delete(self): if self.get_argument("param"): param = self.get_argument("param") yield motor.Op(msg_handle.delShuo, self.current_user, param, self, "删除成功", "删除失败,请重试") util.log( "MyShuoHandler.delete") else: util.errorHandle(self, 0) self.finish()
def add(self): if self.get_argument("param"): param = self.get_argument("param") yield motor.Op(msg_handle.addShuo, self.current_user, param, self, "添加成功", "添加失败,请重试") util.log( "MyShuoHandler.add") else: util.errorHandle(self, 0) self.finish()
def get(self): try: type = int(self.get_argument("type", None)) assert type >= 1 and type <= 6 except Exception, e: errorHandle(self, 0) self.finish() return
def get(self): try: type = int(self.get_argument("type",None)) assert type>=1 and type<=6 except Exception,e: errorHandle(self,0) self.finish() return
def add(self): if self.get_argument("user"): user = self.get_argument("user") msg = {} msg["isRead"] = 0 msg["id"] = str(uuid.uuid1()) msg["sender"] = self.current_user msg["type"] = 1 msg["content"] = self.current_user+"想加你为好友,是否同意?" msg["time"] = str(datetime.utcnow()) if SocketHandler.client_user.has_key(user): SocketHandler.send_to_one(user, json.dumps(msg)) yield motor.Op(msg_handle.addMsg, user, msg, self, "添加好友请求已发送,请等待对方确认", "添加好友请求失败,请重试") util.log( "MyFriend.add") else: util.errorHandle(self, 0) self.finish()
def get_res_list(self): # user = self.get_argument("user", None) page = self.get_argument("page", 1) sort_by = self.get_argument( "sort_by", ResourceStoreManager.res_sort_by["online_num"]) res_type = self.get_argument("res_type", ResourceInfo.get_main_index_by_type("电影")) try: page = int(page) assert page >= 0 sort_by = int(sort_by) assert sort_by == ResourceStoreManager.res_sort_by["online_num"] res_type = int(res_type) assert ResourceInfo.is_valid_main_type(res_type) except: util.errorHandle(self, 0) self.finish() return cache_key = "fb:online:type:" + str(res_type) + ":page:" + str(page) redis_cache = RedisCacheClient().get_instance() RES_CNT_IN_A_PAGE = 20 msg = {} msg["type"] = 1 msg["error"] = "" resource_list = redis_cache.get(cache_key) if resource_list: resource_list = json.loads(resource_list) else: resource_list = yield OnlineResources.get_online_resources_by_type( res_type, page, RES_CNT_IN_A_PAGE) redis_cache.set(cache_key, json.dumps(resource_list)) ONE_MINUTES = 1 * 60 redis_cache.expire(cache_key, ONE_MINUTES) if self.get_argument("version", "") >= "1.8": size = OnlineResources.get_online_resources_count(res_type) util.write( self, 1, "", { "size": (size + RES_CNT_IN_A_PAGE - 1) / RES_CNT_IN_A_PAGE, "res": resource_list }) else: util.write(self, 1, "", resource_list) self.finish()
def post(self): version = self.get_argument("version", "") user = self.get_argument("user", None) page = self.get_argument("page", 1) sort_by = self.get_argument("sort_by", ResourceStoreManager.res_sort_by["time"]) which_type = self.get_argument("type", None) private = self.get_argument("private", None) key_word = self.get_argument("key_word", "") try: user = long(user) page = int(page) assert page > 0 sort_by = int(sort_by) assert sort_by == ResourceStoreManager.res_sort_by[ "time"] or sort_by == ResourceStoreManager.res_sort_by[ "download_num"] sort_by = ResourceStoreManager.get_sort_item(sort_by) key_word = Cipher.decrypt(key_word).strip() assert len(key_word) > 0 except: util.errorHandle(self, 0) self.finish() else: if private and '1' == private: result = yield ResourceStoreManager.search_resources_private( user, version, key_word, page, sort_by, RES_CNT_IN_A_PAGE) else: result = yield ResourceStoreManager.search_resources( version, key_word, page, sort_by, RES_CNT_IN_A_PAGE) resource_list = result["res"] cipher_resource_list(resource_list, version) add_download_info_to_resource_list(resource_list) if version >= "1.8": util.write(self, 1, "", { "size": getPages(result["size"]), "res": resource_list }) else: util.write(self, 1, "", resource_list) self.finish() yield LogForUser.log_user_search(user, long(time()), key_word, result["size"])
def post(self): if self.get_argument("op"): op = self.get_argument("op") if op[0] >= '0' and op[0] <= '9': op = int(op) util.log("MyShuoHandler.post") util.log( op) if op == 0: self.add() elif op == 1: self.g() elif op == 2: self.delete() else: util.errorHandle(self, 0) self.finish() else: util.errorHandle(self, 0) self.finish()
def unStar(self): if self.get_argument("user"): user = self.get_argument("user") result = yield db.users.update({'user':self.current_user, "friends.user":user}, {'$set':{"friends.$.isStar":0}}) util.log( "MyFriend.unStar" + str(result)) if result.has_key("nModified") and result["nModified"] == 1: if not result.has_key("writeConcernError"): result = {"result" : "取消关注好友成功"} util.write(self, 1, "", result) self.finish() else: util.log( result["writeConcernError"]) util.write(self, 0, "取消关注好友请求失败,请重试", {}) self.finish() else: #util.log( result["writeError"]) util.write(self, 0, "取消关注好友请求失败,请重试", {}) self.finish() else: util.errorHandle(self, 0) self.finish()
def get_res_list(self): # user = self.get_argument("user", None) page = self.get_argument("page", 1) sort_by = self.get_argument("sort_by", ResourceStoreManager.res_sort_by["online_num"]) res_type = self.get_argument("res_type", ResourceInfo.get_main_index_by_type("电影")) try: page = int(page) assert page>=0 sort_by = int(sort_by) assert sort_by == ResourceStoreManager.res_sort_by["online_num"] res_type = int(res_type) assert ResourceInfo.is_valid_main_type(res_type) except: util.errorHandle(self, 0) self.finish() return cache_key="fb:online:type:"+str(res_type)+":page:"+str(page) redis_cache=RedisCacheClient().get_instance() RES_CNT_IN_A_PAGE=20 msg = {} msg["type"] = 1 msg["error"] = "" resource_list = redis_cache.get(cache_key) if resource_list: resource_list=json.loads(resource_list) else: resource_list = yield OnlineResources.get_online_resources_by_type(res_type, page, RES_CNT_IN_A_PAGE) redis_cache.set(cache_key, json.dumps(resource_list)) ONE_MINUTES=1 * 60 redis_cache.expire(cache_key,ONE_MINUTES) if self.get_argument("version", "") >= "1.8": size = OnlineResources.get_online_resources_count(res_type) util.write(self, 1, "", {"size":size, "res":resource_list}) else: util.write(self, 1, "", resource_list) self.finish()