Esempio n. 1
0
 def searchUser(self):
     if self.request.get('q') in (None, ""):
         allUsers = GrafiteUser.all().fetch(30)
         allUsers = map(lambda x: UserProfilePage._getProfileDetails(x), [])
         self.response.out.write(
             json.dumps({
                 "result": "success",
                 "data": allUsers
             }))
         return
     query = str(self.request.get('q'))
     exactMatches = []
     import re
     if re.match(
             r'^([a-zA-Z0-9_\-\.]+)@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$',
             query):
         try:
             exactMatches.append(
                 UserProfilePage._getProfileDetails(
                     GrafiteUser.get_by_key_name(query)))
         except Exception, e:
             pass
         self.response.out.write(
             json.dumps({
                 "result": "success",
                 "data": exactMatches
             }))
         return
Esempio n. 2
0
    def getProfileDetails(self):
        userID = self.request.get('UserID')
        if userID in (None, ""):
            self.response.out.write(
                json.dumps({
                    "result": "error",
                    "message": "UserID not specified!"
                }))
            return

        if userID == "@me":
            curUser = UserService.getCurrentUserOrJsonError(self)
            if curUser is None:
                return
            self.response.out.write(
                json.dumps({
                    "result": "success",
                    "data": self._getProfileDetails(curUser)
                }))
            return

        c = GrafiteUser.all().filter("nickname =", userID)
        curUser = None
        if c.count():
            curUser = c.fetch(1)[0]
        else:
            try:
                curUser = GrafiteUser.get(db.Key(encoded=userID))
            except Exception, e:
                self.response.out.write(
                    json.dumps({
                        "result": "error",
                        "message": "No User!"
                    }))
                return
Esempio n. 3
0
    def cmd_verify(self,message):
        from RegisterService import GrafiteUserUnregistered
        if self.user is not None:
            message.reply(STR_REGISTRATION_ALREADY_DONE)
            return
        msgSplit = message.body.split(' ')
        if len(msgSplit) != 2:
            message.reply(STR_PROMPT_REGISTER)
            return
        res = GrafiteUserUnregistered.all().filter("verifyToken =",msgSplit[1])
        if not res.count():
            message.reply(STR_REGISTRATION_INVALID_TOKEN)
            return

        newUser = res.fetch(1)[0]
        
        username = self._getUserName(message.sender)
        res,token,t = GrafiteUser.createNewUser(username, newUser.password, "Google Talk")
        if res != "success":
            message.reply(STR_REGISTRATION_ALREADY_DONE)
            return

        user = GrafiteUser.get_by_key_name(username)
        
        if user is None:
            message.reply(STR_REGISTRATION_FAILURE)
            return
        if GrafiteUser.all().filter("emailId =",newUser.emailId).count():
            message.reply(STR_REGISTRATION_FAILURE_EMAIL_TAKEN)
            return
        user.emailId = newUser.emailId
        user.nickname = newUser.nickname
        user.put()
        newUser.delete()
        message.reply(STR_REGISTRATION_SUCCESS)
 def get(self):
     self.response.headers.add_header('Content-Type','application/json')
     res = dict(result="success")
     res['TotalUsers'] = GrafiteUser.all().count()
     user = GrafiteUser.all().order("-dateJoined").fetch(1)[0]
     res['LatestUserHTML'] = '<a href="%s">%s</a>'%(user.profileUrl,user.Nickname)
     obj = GrafiteUser.getOnlineUsers()
     res['OnlineUsersList'] = obj['value']
     res['OnlineUsersCount'] = obj['count']
     res['TotalStatuses'] = Status.getTotalStatuses()
     res['TotalReminders'] = ReminderService.getCount()
     
     user = UserService.getCurrentUser(self)
     if user:
         res['user'] = {}
         res['user']['Statuses'] = StatusService.getUserStatusCount(user)
         res['user']['Reminders'] = ReminderService.getUserCount(user)
     self.response.out.write(json.dumps(res))
Esempio n. 5
0
    def setEmail(self,email):
        res = GrafiteUserUnregistered.all().filter("emailId =",email)
        if res.count():
            return {"result":"error","message":"Email already Registered!"}
        res = GrafiteUser.all().filter("nickname =",nick)
        if res.count():
            return {"result":"error","message":"Email already Registered!"}

        self.emailId = email
        self.put()
        return {"result":"success"}
 def renderSearchPage(self):
     class temp:
         pass
     
     DATA = temp()
     DATA.user = UserService.getCurrentUser(self)
     
     DATA.allUsers = GrafiteUser.all().fetch(300)
     DATA.allUsers = map(lambda x: UserProfilePage._getProfileDetails(x), DATA.allUsers)
     
     path = os.path.join(os.path.dirname(__file__), 'html/users.html')
     self.response.out.write(render(path, {'DATA':DATA}))
Esempio n. 7
0
    def renderSearchPage(self):
        class temp:
            pass

        DATA = temp()
        DATA.user = UserService.getCurrentUser(self)

        DATA.allUsers = GrafiteUser.all().fetch(300)
        DATA.allUsers = map(lambda x: UserProfilePage._getProfileDetails(x),
                            DATA.allUsers)

        path = os.path.join(os.path.dirname(__file__), 'html/users.html')
        self.response.out.write(render(path, {'DATA': DATA}))
Esempio n. 8
0
    def setNickname(self,nick):
        if len(nick) < 6:
            return {"result":"error","message":"Username should be atleast 6 characters"}
        res = GrafiteUserUnregistered.all().filter("nickname =",nick)
        if res.count():
            return {"result":"error","message":"Username already exists"}
        res = GrafiteUser.all().filter("nickname =",nick)
        if res.count():
            return {"result":"error","message":"Username already exists"}

        self.nickname = nick
        self.put()
        return {"result":"success"}
Esempio n. 9
0
    def post_pinged(self,usr):
        res = GrafiteUser.all().filter("emailId =",usr.emailId)
        if res.count()!=1:
            return {"result":"error","message":"EmailId not found!"}
        
        user = res.fetch(1)[0]
        res1,at, expire = GrafiteUser.login(user.key().name(), user.password, "Web-browser")
        if res1!="success":
            return {"result":"error","message":"Unable to login"}

        self.response.headers.add_header('Set-Cookie',UserService.makeCookieString(
            expire.strftime(time_format),{"access_token":at}))
                
        return {"result":"success","value":res.count()==1}
Esempio n. 10
0
 def searchUser(self):
     if self.request.get('q') in (None,""):
         allUsers = GrafiteUser.all().fetch(30)
         allUsers = map(lambda x: UserProfilePage._getProfileDetails(x), [])
         self.response.out.write(json.dumps({"result":"success","data":allUsers}))
         return
     query = str(self.request.get('q'))
     exactMatches = []
     import re
     if re.match(r'^([a-zA-Z0-9_\-\.]+)@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$',query):
         try:
             exactMatches.append(UserProfilePage._getProfileDetails(GrafiteUser.get_by_key_name(query)))
         except Exception,e:
             pass
         self.response.out.write(json.dumps({"result":"success", "data":exactMatches}))
         return
Esempio n. 11
0
    def userProfileView(self,userID):
        user = UserService.getCurrentUser(self)

        DATA = temp()
        if user:
            DATA.user = user
        
        c = GrafiteUser.all().filter("nickname =",userID)
        if c.count():
            DATA.profileUser = c.fetch(1)[0]
        else:
            try:
                DATA.profileUser = GrafiteUser.get(db.Key(encoded=userID))
                DATA.profileUser.gUserId = str(DATA.profileUser.key())
            except Exception, e:
                self.response.out.write("OOPS! no such profile exists! Whence did you come?")
                self.error(404)
                return
Esempio n. 12
0
    def userProfileView(self, userID):
        user = UserService.getCurrentUser(self)

        DATA = temp()
        if user:
            DATA.user = user

        c = GrafiteUser.all().filter("nickname =", userID)
        if c.count():
            DATA.profileUser = c.fetch(1)[0]
        else:
            try:
                DATA.profileUser = GrafiteUser.get(db.Key(encoded=userID))
                DATA.profileUser.gUserId = str(DATA.profileUser.key())
            except Exception, e:
                self.response.out.write(
                    "OOPS! no such profile exists! Whence did you come?")
                self.error(404)
                return
Esempio n. 13
0
    def getProfileDetails(self):
        userID = self.request.get('UserID')
        if userID in (None,""):
            self.response.out.write(json.dumps({"result":"error","message":"UserID not specified!"}))
            return

        if userID == "@me":
            curUser = UserService.getCurrentUserOrJsonError(self)
            if curUser is None:
                return
            self.response.out.write(json.dumps({"result":"success", "data":self._getProfileDetails(curUser)}))
            return

        c = GrafiteUser.all().filter("nickname =",userID)
        curUser = None
        if c.count():
            curUser = c.fetch(1)[0]
        else:
            try:
                curUser = GrafiteUser.get(db.Key(encoded=userID))
            except Exception, e:
                self.response.out.write(json.dumps({"result":"error","message":"No User!"}))
                return
Esempio n. 14
0
    def cmd_verify(self, message):
        from RegisterService import GrafiteUserUnregistered
        if self.user is not None:
            message.reply(STR_REGISTRATION_ALREADY_DONE)
            return
        msgSplit = message.body.split(' ')
        if len(msgSplit) != 2:
            message.reply(STR_PROMPT_REGISTER)
            return
        res = GrafiteUserUnregistered.all().filter("verifyToken =",
                                                   msgSplit[1])
        if not res.count():
            message.reply(STR_REGISTRATION_INVALID_TOKEN)
            return

        newUser = res.fetch(1)[0]

        username = self._getUserName(message.sender)
        res, token, t = GrafiteUser.createNewUser(username, newUser.password,
                                                  "Google Talk")
        if res != "success":
            message.reply(STR_REGISTRATION_ALREADY_DONE)
            return

        user = GrafiteUser.get_by_key_name(username)

        if user is None:
            message.reply(STR_REGISTRATION_FAILURE)
            return
        if GrafiteUser.all().filter("emailId =", newUser.emailId).count():
            message.reply(STR_REGISTRATION_FAILURE_EMAIL_TAKEN)
            return
        user.emailId = newUser.emailId
        user.nickname = newUser.nickname
        user.put()
        newUser.delete()
        message.reply(STR_REGISTRATION_SUCCESS)
Esempio n. 15
0
                query):
            try:
                exactMatches.append(
                    UserProfilePage._getProfileDetails(
                        GrafiteUser.get_by_key_name(query)))
            except Exception, e:
                pass
            self.response.out.write(
                json.dumps({
                    "result": "success",
                    "data": exactMatches
                }))
            return

        exactMatches, matches = [], []
        allUsers = GrafiteUser.all().fetch(GrafiteUser.all().count())
        for x in allUsers:
            if hasattr(x, "nickname"):
                if str(x.nickname).lower() == str(query).lower():
                    exactMatches.append(UserProfilePage._getProfileDetails(x))
                elif str(query).lower() in str(x.nickname).lower():
                    matches.append(UserProfilePage._getProfileDetails(x))
        exactMatches.extend(matches)
        self.response.out.write(
            json.dumps({
                "result": "success",
                "data": exactMatches
            }))

    def userProfileView(self, userID):
        user = UserService.getCurrentUser(self)
Esempio n. 16
0
            allUsers = map(lambda x: UserProfilePage._getProfileDetails(x), [])
            self.response.out.write(json.dumps({"result":"success","data":allUsers}))
            return
        query = str(self.request.get('q'))
        exactMatches = []
        import re
        if re.match(r'^([a-zA-Z0-9_\-\.]+)@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$',query):
            try:
                exactMatches.append(UserProfilePage._getProfileDetails(GrafiteUser.get_by_key_name(query)))
            except Exception,e:
                pass
            self.response.out.write(json.dumps({"result":"success", "data":exactMatches}))
            return
        
        exactMatches,matches = [],[]
        allUsers = GrafiteUser.all().fetch(GrafiteUser.all().count())
        for x in allUsers:
            if hasattr(x, "nickname"):
                if str(x.nickname).lower() == str(query).lower():
                    exactMatches.append(UserProfilePage._getProfileDetails(x))
                elif str(query).lower() in str(x.nickname).lower():
                    matches.append(UserProfilePage._getProfileDetails(x))
        exactMatches.extend(matches)
        self.response.out.write(json.dumps({"result":"success", "data":exactMatches}))

    def userProfileView(self,userID):
        user = UserService.getCurrentUser(self)

        DATA = temp()
        if user:
            DATA.user = user