Пример #1
0
Файл: fbt.py Проект: Jiebour/FBT
 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()
Пример #2
0
Файл: fbt.py Проект: Jiebour/FBT
 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()
Пример #3
0
Файл: fbt.py Проект: Jiebour/FBT
 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)
Пример #4
0
Файл: fbt.py Проект: Jiebour/FBT
 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()
Пример #5
0
Файл: fbt.py Проект: Jiebour/FBT
 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()
Пример #6
0
Файл: fbt.py Проект: Jiebour/FBT
 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()
Пример #7
0
Файл: fbt.py Проект: Jiebour/FBT
 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()
Пример #8
0
Файл: fbt.py Проект: Jiebour/FBT
 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()
Пример #9
0
 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"])
Пример #10
0
Файл: fbt.py Проект: Jiebour/FBT
 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()
Пример #11
0
Файл: fbt.py Проект: Jiebour/FBT
 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()
Пример #12
0
 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
Пример #13
0
 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
Пример #14
0
Файл: fbt.py Проект: Jiebour/FBT
 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()
Пример #15
0
    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()
Пример #16
0
 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"])
Пример #17
0
Файл: fbt.py Проект: Jiebour/FBT
 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()
Пример #18
0
Файл: fbt.py Проект: Jiebour/FBT
 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()
Пример #19
0
    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()