Example #1
0
    def check_username(self, req, username):
        check_user = user_db.get_user_by_name(username)

        if check_user.has_key('error'):
            return render({"status": "pass"})

        return render({"status": "failed"})
Example #2
0
    def create(self, req, body):
        # validation
        pattern = re.compile(r'[\w\-]+\@[\w\-]+\.[\w]+')
        match = pattern.match(body['email'])
        if match is None:
            return render({"error": "not email format"})

        # prevent repeatation
        user_check_name = user_db.get_user_by_name(body['username'])
        user_check_email = user_db.get_user_by_email(body['email'])

        if not (user_check_name.has_key('error')
                and user_check_email.has_key('error')):
            return render({"error": "username or email exists"})

        user = user_db.create(**body)

        email.send_mail(
            body['email'], "邮箱验证", '''%s,您好。
欢迎使用大数居系统,我们诚心为您服务。
请点击以下链接,
以验证您的账户。

http://192.168.1.187:8087/check/code/%s''' %
            (body['username'], user['validation_code']))

        return render(user)
Example #3
0
    def check_email(self, req, email):
        check_user = user_db.get_user_by_email(email)

        if check_user.has_key('error'):
            return render({"status": "pass"})

        return render({"status": "failed"})
Example #4
0
    def token(self, req, body):
        check_user = user_db.get_user_by_email(body['email'])

        if check_user.has_key('error'):
            return render({
                "error": "email not exists"
            })

        if user_db.authenticate(body['email'], body['password']):
            user = user_db.get_user_by_email(body['email'])
            user.pop('token')
            user.pop('token_expired')
            token = user_db.create_token(user['key'])
        else:
            return render({
                "error": "password incorrect."
            })

        # Result for display
        expired = datetime.datetime.now() + timedelta(hours=1)
        result = {
            "token": token,
            "user": user,
            "expired": str(expired)
        }

        return render(result)
Example #5
0
    def create(self, req, body):
        # validation
        pattern = re.compile(r'[\w\-]+\@[\w\-]+\.[\w]+')
        match = pattern.match(body['email'])
        if match is None:
            return render({
                "error": "not email format"
            })

        # prevent repeatation
        user_check_name = user_db.get_user_by_name(body['username'])
        user_check_email = user_db.get_user_by_email(body['email'])

        if not (user_check_name.has_key('error') and user_check_email.has_key('error')):
            return render({
                "error": "username or email exists"
            })

        user = user_db.create(**body)

        email.send_mail(body['email'], "邮箱验证", '''%s,您好。
欢迎使用大数居系统,我们诚心为您服务。
请点击以下链接,
以验证您的账户。

http://192.168.1.187:8087/check/code/%s''' % (body['username'], user['validation_code']))

        return render(user)
Example #6
0
    def check_email(self, req, email):
        check_user = user_db.get_user_by_email(email)

        if check_user.has_key('error'):
            return render({
                "status": "pass"
            })

        return render({
            "status": "failed"
        })
Example #7
0
    def check_username(self, req, username):
        check_user = user_db.get_user_by_name(username)

        if check_user.has_key('error'):
            return render({
                "status": "pass"
            })

        return render({
            "status": "failed"
        })
Example #8
0
    def fo(self, req, user_id):
        user = user_db.get_user_from_token(req.headers['X-Token'])
        if user['key'] == user_id:
            return render({"error": "cannot fo yourself"})

        if not fo_db.is_follower(user['key'], user_id):  # main
            f = fo_db.fo(user['key'], user_id)
            return render(f)

        user_check = user_db.get_user_by_id(user_id)

        if user_check.has_key('error'):
            return render({"error": "cannot follow a user that not exists"})

        return render({"status": "followed"})
Example #9
0
 def create(self, req, body, id, given_id=None):
     user = user_db.get_user_from_token(req.headers['X-Token'])
     if body.has_key('movie_id'):
         pin = pin_db.create_movie(user['key'], body['introduction'], id, body['movie_id'])
     else:
         pin = pin_db.create(given_id, user['key'], body['introduction'], id)
     return render(pin)
Example #10
0
    def unfo(self, req, user_id):
        user = user_db.get_user_from_token(req.headers['X-Token'])
        fo_db.unfo(user['key'], user_id)

        return render({
            "status": "unfollowed"
        })
Example #11
0
    def list(self, req, pin_id):
        if req.query_string == '':
            comments = comment_db.list(pin_id)
        else:
            comments = comment_db.list(pin_id, last_row=req.query_string)

        for cmt in comments:
            cmt['author'] = user_db.get_user_by_id(cmt['user_id'])
        return render({"comments": comments})
Example #12
0
    def search(self, req, body):
        if req.query_string == '':
            pin = pin_db.search(body['keyword'])
        else:
            pin = pin_db.search(body['keyword'], last_row=req.query_string)

        return render({
            "pins": pin
        })
Example #13
0
 def create(self, req, body):
     me = user_db.get_user_from_token(req.headers['X-Token'])
     reminder = reminder_db.create(me['key'], body['content'], body['link'], body['from_user_id'])
     return render({
         "user_id": me['key'],
         "content": body['content'],
         "link": body['link'],
         "from_user_id": body['from_user_id']
     })
Example #14
0
    def token(self, req, body):
        check_user = user_db.get_user_by_email(body['email'])

        if check_user.has_key('error'):
            return render({"error": "email not exists"})

        if user_db.authenticate(body['email'], body['password']):
            user = user_db.get_user_by_email(body['email'])
            user.pop('token')
            user.pop('token_expired')
            token = user_db.create_token(user['key'])
        else:
            return render({"error": "password incorrect."})

        # Result for display
        expired = datetime.datetime.now() + timedelta(hours=1)
        result = {"token": token, "user": user, "expired": str(expired)}

        return render(result)
Example #15
0
    def list(self, req, pin_id):
        if req.query_string == '':
            comments = comment_db.list(pin_id)
        else:
            comments = comment_db.list(pin_id, last_row=req.query_string)

        for cmt in comments:
            cmt['author'] = user_db.get_user_by_id(cmt['user_id'])
        return render({
                    "comments": comments
                })
Example #16
0
    def fo(self, req, user_id):
        user = user_db.get_user_from_token(req.headers['X-Token'])
        if user['key'] == user_id:
            return render({
                "error": "cannot fo yourself"
            })

        if not fo_db.is_follower(user['key'], user_id): # main
            f = fo_db.fo(user['key'], user_id)
            return render(f)

        user_check = user_db.get_user_by_id(user_id)

        if user_check.has_key('error'):
            return render({
                "error": "cannot follow a user that not exists"
            })
        
        return render({
            "status": "followed"
        })
Example #17
0
    def upload(self, req):
        img_id = new_id_2()
        pin_fs.write('/original_sources/%s' % img_id, req.body)
        self._gen_thumbnail(img_id)
        self._gen_middle_size(img_id)

        im = Image.open(pin_fs.locate('/original_sources/%s' % img_id))

        if im.format == 'JPEG':
            img_format = 'jpg'
        else:
            img_format = string.lower(im.format)

        return render({"id": img_id})
Example #18
0
    def list_by_user(self, req, id, catalog_id=None):
        if req.query_string == "":
            pins = pin_db.list_by_user(id, catalog_id)
        else:
            pins = pin_db.list_by_user(id, catalog_id, last_row=req.query_string)

        for pin in pins:
            user = user_db.get_user_by_id(pin['author_id'])
            pin['author'] = user
            pin['img_info'] = json.loads(pin['img_info'])

        return render({
                    "pins": pins
               })
Example #19
0
    def list(self, req):
        if req.query_string == "":
            pins = pin_db.list()
        else:
            pins = pin_db.list(last_row=req.query_string)

        for pin in pins:
            user = user_db.get_user_by_id(pin['author_id'])
            pin['author'] = user
            #pin['img_info'] = json.loads(pin['img_info'])

        return render({
                    "pins": pins
               })
Example #20
0
    def upload(self, req):
        img_id = new_id_2()
        pin_fs.write('/original_sources/%s' % img_id, req.body)
        self._gen_thumbnail(img_id)
        self._gen_middle_size(img_id)

        im = Image.open(pin_fs.locate('/original_sources/%s' % img_id))

        if im.format == 'JPEG':
            img_format = 'jpg'
        else:
            img_format = string.lower(im.format)
        
        return render({
            "id": img_id
        })
Example #21
0
    def profile(self, req, id):
        user = user_db.profile(id)

        return render({"user": user})
Example #22
0
 def reply(self, req, body, pin_id, comment_id):
     user = user_db.get_user_from_token(req.headers['X-Token'])
     return render(
                 comment_db.reply(pin_id, user['key'], comment_id, body['content'])
            )
Example #23
0
 def create(self, req, body, pin_id):
     user = user_db.get_user_from_token(req.headers['X-Token'])
     comment = comment_db.create(pin_id, user['key'], body['content'])
     return render({"comments": comment})
Example #24
0
 def create(self, req, body, pin_id):
     user = user_db.get_user_from_token(req.headers['X-Token'])
     comment = comment_db.create(pin_id, user['key'], body['content'])
     return render({
                 "comments": comment
             })
Example #25
0
    def unfo(self, req, user_id):
        user = user_db.get_user_from_token(req.headers['X-Token'])
        fo_db.unfo(user['key'], user_id)

        return render({"status": "unfollowed"})
Example #26
0
 def get_user_from_token(self, req, token):
     user = user_db.get_user_from_token(token)
     return render(user)
Example #27
0
 def list_follower(self, req, id):
     return render(fo_db.list_follower(id))
Example #28
0
 def get(self, req, id):
     return render({
                 "pin": pin_db.get(id),
                 "comments": comment_db.list(id)
            })
Example #29
0
 def list_follower(self, req, id):
     return render(fo_db.list_follower(id))
Example #30
0
    def search(self, req, name):
        users = user_db.search_user(name)

        return render({"users": users})
Example #31
0
 def upload_avatar_small(self, req, user_id):
     pin_fs.write('/avatars_small/%s' % user_id, req.body)
     return render({
         "status": "success"
     })
Example #32
0
    def search(self, req, name):
        users = user_db.search_user(name)

        return render({
            "users": users
        })
Example #33
0
 def upload_avatar_small(self, req, user_id):
     pin_fs.write('/avatars_small/%s' % user_id, req.body)
     return render({"status": "success"})
Example #34
0
 def reply(self, req, body, pin_id, comment_id):
     user = user_db.get_user_from_token(req.headers['X-Token'])
     return render(
         comment_db.reply(pin_id, user['key'], comment_id, body['content']))
Example #35
0
    def validate_email(self, req, validate_code):
        validate_email = user_db.validate_email(validate_code)

        return render(validate_email)
Example #36
0
 def list(self, req):
     last_row = req.query_string
     result = {
         "users": user_db.list(last_row)
     }
     return render(result)
Example #37
0
 def list(self, req):
     last_row = req.query_string
     result = {"users": user_db.list(last_row)}
     return render(result)
Example #38
0
    def validate_email(self, req, validate_code):
        validate_email = user_db.validate_email(validate_code)

        return render(validate_email)
Example #39
0
 def get_user_from_token(self, req, token):
     user = user_db.get_user_from_token(token)
     return render(user)
Example #40
0
 def list_last_ten_read(self, req):
     me = user_db.get_user_from_token(req.headers['X-Token'])
     reminder = reminder_db.last_ten_read_list(me['key'])
     return render({
               "reminders": reminder
            })
Example #41
0
 def set_read(self, req):
     me = user_db.get_user_from_token(req.headers['X-Token'])
     reminder = reminder_db.set_read(me['key'])
     return render({
               "status": "set read"
            })
Example #42
0
    def profile(self, req, id):
        user = user_db.profile(id)

        return render({
            "user": user
        })