Exemplo n.º 1
0
Arquivo: main.py Projeto: apg/muxtube
def user_home(username):
    user = User.selectBy(username=username).getOne(None)
    if not user:
        abort(404)
    else:
        tracks = Track.selectBy(user=user)
    return context(user=user, tracks=tracks)
Exemplo n.º 2
0
Arquivo: main.py Projeto: apg/muxtube
def bookmarklet_add():
    video_id = request.GET.get('video_id', '')
    title = request.GET.get('title', 'Default Title')
    token = request.GET.get('token', '')

    user = None

    if len(token) == 128:
        user = User.selectBy(bookmarklet=token).getOne(None)

    if not user:
        return {'error': ("The token was either not present or invalid."
                          "Please reinstall your bookmarklet"),
                'status': 'error'}

    if not video_id:
        return {'error': "Cannot add video because of an invalid video id",
                'status': 'error'}

    track = Track(user=user, title=title, video_id=video_id)
    if track:
        return {'error': '',
                'status': 'success'}
    return {'error': "Could not add video",
            'status': 'error'}
Exemplo n.º 3
0
def login():
    form = LoginForm()

    if form.validate_on_submit():
        login_user(User.selectBy(username=form.user.data).getOne(), remember=form.rememberMe.data)
        logger.info('Logged in {user}'.format(user=current_user.username))
        return redirect(request.args.get('next') or url_for('index'))

    return render_template('login.html', form=form)
Exemplo n.º 4
0
	def validate(self):
		if not Form.validate(self):
			return False

		users = User.selectBy(username = self.user.data)
		if users.count() > 0 and users.getOne().check_password(self.password.data):
			return True
		else:
			self.user.errors.append("Invalid username or password.")
			return False
Exemplo n.º 5
0
Arquivo: main.py Projeto: apg/muxtube
def login():
    username = request.POST.get('username', '')
    if request.method == 'POST' and username:
        user = User.selectBy(username=username).getOne(None)
        if user and user.check_password(request.POST.get('password', '')):
            login_user(user.username)
            next = request.GET.get('next', None)
            if next:
                valid, value = unsign(next)
                if valid:
                    redirect(value)
                else:
                    abort(400)
            else:
                redirect('/%s' % username)
        else:
            return context(error='Invalid username or password')
    else:
        return context()
Exemplo n.º 6
0
Arquivo: main.py Projeto: apg/muxtube
def settings():
    user = User.selectBy(username=request.username).getOne(None)
    if not user:
        abort(403)

    errors = {
        'password_error': '',
        'color_error': '',
        'general_error': '',
        }

    if request.method == 'POST':
        print 'settings!'
        updates = {}
    
        old_password = request.POST.get('old_password', '')
        new_password = request.POST.get('new_password', '')

        # password
        if old_password or new_password:
            if not user.check_password(old_password):
                errors['password_error'] = 'Incorrect password'
            else:
                updates['password'] = hash_password(new_password)

        # color
        color = request.POST.get('color', '')
        if color:
            try:
                if len(color) == 6 and (int(color, 16) or color == '000000'):
                    updates['color'] = color.lower()
                else:
                    errors['color_error'] = 'A 6 digit hex number is required'
            except ValueError:
                errors['color_error'] = 'Not a valid hexidecimal number'

        print updates
        if updates:
            user.set(**updates)

    return context(user=user, **errors)
Exemplo n.º 7
0
Arquivo: main.py Projeto: apg/muxtube
def bookmarklet():
    user = User.selectBy(username=request.username).getOne(None)
    return context(user=user)