示例#1
0
    def login(self, e, p):
            
        if e and p:
            u = User(_DBCON, email=e, password=p)
            
            if u._id:
                s = self._login_user(u)

                bottle.redirect('/')

            else:
                self.viewdata.update({
                    'error':'Incorrect email/password combination', 
                    'email':e, 
                    'password':p
                })

                return self._template('login')
        else:
            self.viewdata.update({
                'error':'Please complete the form', 
                'email':'', 
                'password':''
            })
            
            return self._template('login')
示例#2
0
 def wrapper(*args, **kargs):
     _user_id = str(BaseHandler().current_user)
     _user_hash = BaseHandler().current_user_hash
     _salt = short_by_hex(_user_id)[1]
     _hash = hashlib.md5('%s%s' % (_user_id, _salt)).hexdigest()
     if not _user_id or _user_hash != _hash:
         redirect('/admin/login', 302)
     check_user_status(_user_id)  #检查用户的状态是否是正常
     return f(*args, **kargs)
示例#3
0
 def wrapper(*args, **kargs):
     _user_id = str(BaseHandler().current_user)
     _user_hash = BaseHandler().current_user_hash
     _salt = short_by_hex(_user_id)[1]
     _hash = hashlib.md5('%s%s'%(_user_id, _salt)).hexdigest()
     if not _user_id or _user_hash != _hash:
         redirect('/admin/login', 302)
     check_user_status(_user_id)    #检查用户的状态是否是正常
     return f(*args, **kargs)
示例#4
0
 def get_token(cls):
     '''获取token及expires_in'''
     _code = request.query.get('code', None)
     _url = request.query.get('url', None)
     _ids = request.query.get('ids', None)
     if _code:
         client = APIClient(app_key=wb.app_key, app_secret=wb.app_secret, redirect_uri=wb.redirect_uri)
         r = client.request_access_token(_code)
         set_token_to_cookie(r)    #保存token到cookie中
         redirect('%s%s?ids=%s'%(get_site_url()[:-1], _url, _ids))
     return dict(done=False, url=cls().get_weibo_login_url(), message=u'需要登录')
 def get_token(cls):
     '''获取token及expires_in'''
     _code = request.query.get('code', None)
     _url = request.query.get('url', None)
     _ids = request.query.get('ids', None)
     if _code:
         client = APIClient(app_key=wb.app_key,
                            app_secret=wb.app_secret,
                            redirect_uri=wb.redirect_uri)
         r = client.request_access_token(_code)
         set_token_to_cookie(r)  #保存token到cookie中
         redirect('%s%s?ids=%s' % (get_site_url()[:-1], _url, _ids))
     return dict(done=False,
                 url=cls().get_weibo_login_url(),
                 message=u'需要登录')
示例#6
0
 def wrapper(*args, **kwargs):
     s = bottle.request.environ['beaker.session']
     if 'uid' not in s \
         or s.get('ip') != bottle.request.get('REMOTE_ADDR')\
         or s.get('useragent') != bottle.request.get('HTTP_USER_AGENT'):
         return bottle.redirect('/login')
     else:
         return callback(*args, **kwargs)
示例#7
0
    def register_post(self):
        e = bottle.request.POST.get('email')
        p1 = bottle.request.POST.get('password1')
        p2 = bottle.request.POST.get('password2')
            
        if e and p1 and p2:
            if p1 != p2:
                self.viewdata.update({
                    'error':'The passwords do not match', 
                    'email':e, 
                    'password1':p1,
                    'password2':p2,
                })
                return self._template('register')
            else:
                u = User(_DBCON, email=e, password=p1)
                if u._id:
                    self.viewdata.update({
                        'error':'An account already exists for that email address', 
                        'email':e, 
                        'password1':p1,
                        'password2':p2,
                    })

                    return self._template('register')
                else:
                    u.save()
                    e = Email(recipient=e)
                    e.send('Places accounts activation', '<a href="%s/activate/%s">Activate</a>' % (settings.BASEURL, u.token))

                    return bottle.redirect('/success')
                    
                    
        else:
            self.viewdata.update({
                'error':'Please complete the form', 
                'email':e, 
                'password1':p1,
                'password2':p2,
                })

            return self._template('register')
示例#8
0
def init_comments():
    '''从weibo.com抓取评论'''
    client = WeiboService.get_active_client()
    if type(client) == dict:
        redirect(client['url'])
    return WeiboService.get_comments(client)
示例#9
0
def admin_log_out():
    '''退出'''
    UsersService.log_out()
    redirect('/admin/login', 302)
示例#10
0
 def logout(self):
     s = bottle.request.environ['beaker.session']
     s.delete()
     
     return bottle.redirect('/login')
示例#11
0
def init_comments():
    '''从weibo.com抓取评论'''
    client = WeiboService.get_active_client()
    if type(client)==dict:
        redirect(client['url'])
    return WeiboService.get_comments(client)
示例#12
0
def admin_log_out():
    '''退出'''
    UsersService.log_out()
    redirect('/admin/login', 302)
示例#13
0
def check_user_status(uid):
    '''检查用户的状态是否是正常'''
    _user = UsersHandler().get_user_by_id(uid=uid)
    if not _user or 1 != int(_user['status']):
        redirect('/admin/log-out', 302)
示例#14
0
def check_user_status(uid):
    '''检查用户的状态是否是正常'''
    _user = UsersHandler().get_user_by_id(uid=uid)
    if not _user or 1!=int(_user['status']):
        redirect('/admin/log-out', 302)