Beispiel #1
0
def up(req):
    if req.method == 'POST':
        
        username = req.authorization.username
        password = req.authorization.password
        
        user = User.db.get(username)
        
        if user and User.chkpwd(password, user['password']):
            
            for file in req.files:
                
                content_type = map_mime(req.files[file].filename.split('.')[-1])
                
                resp = Up.create(username,
                            req.files[file].read(), 
                            name=req.files[file].filename, 
                            content_type=content_type)

                url = 'http://kinaj.com/u/%s' % resp

            return Response(simplejson.dumps({"ok": True, "url": url}), 
                    mimetype='application/json')
    
        return Response(simplejson.dumps({"ok": False, "error": "omfg"}), 
                        mimetype='application/json')
Beispiel #2
0
def login(request):
    """docstring for login"""
    if request.method == 'GET':
        context = {'referrer': request.args.get('referrer', url_for('index'))}
        
        return render_html('users/login.html', context)
        
    elif request.method == 'POST':
        
        username = request.form.get('username')
        password = request.form.get('password')
        
        user = User.db.get(username)
        
        if user and User.chkpwd(password, user['password']):
            request.session['id'] = uuid.uuid4().hex
            request.session['roles'] = user['roles'] or []
            request.session['username'] = user['_id']
            
            user['session'] = request.session
            user['last_login'] = time.time()
            
            User.update(user)
            
            red = redirect(request.args.get('referrer', url_for('index')))
            
            return red
        
        context = {
            'referrer': request.args['referrer'],
            'user': {
                'roles': request.session.get('roles', []) 
            },
            'debug': request.debug
        }
        
        return render_html('users/login.html', context)