当前位置: 首页>>代码示例>>Python>>正文


Python user.UserManager类代码示例

本文整理汇总了Python中supysonic.managers.user.UserManager的典型用法代码示例。如果您正苦于以下问题:Python UserManager类的具体用法?Python UserManager怎么用?Python UserManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了UserManager类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: add_user_post

def add_user_post():
    error = False
    (name, passwd, passwd_confirm, mail, admin) = map(request.form.get, [ 'user', 'passwd', 'passwd_confirm', 'mail', 'admin' ])
    if not name:
        flash('The name is required.')
        error = True
    if not passwd:
        flash('Please provide a password.')
        error = True
    elif passwd != passwd_confirm:
        flash("The passwords don't match.")
        error = True

    if admin is None:
        admin = True if store.find(User, User.admin == True).count() == 0 else False
    else:
        admin = True

    if not error:
        status = UserManager.add(store, name, passwd, mail, admin)
        if status == UserManager.SUCCESS:
            flash("User '%s' successfully added" % name)
            return redirect(url_for('user_index'))
        else:
            flash(UserManager.error_str(status))

    return add_user_form()
开发者ID:andrenam,项目名称:supysonic,代码行数:27,代码来源:user.py

示例2: change_username

def change_username(uid):
    if not UserManager.get(store, session.get('userid'))[1].admin or not UserManager.get(store, uid)[0] is UserManager.SUCCESS:
        return redirect(url_for('index'))
    user = UserManager.get(store, uid)[1]
    if request.method == 'POST':
        username = request.form.get('user')
        if username in ('', None):
            flash('The username is required')
            return render_template('change_username.html', user = user, admin = UserManager.get(store, session.get('userid'))[1].admin)
        if request.form.get('admin') is None:
            admin = False
        else:
            admin = True
        changed = False
        if user.name != username or user.admin != admin:
            user.name = username
            user.admin = admin
            store.commit()
            flash("User '%s' updated." % username)
            return redirect(url_for('user_profile', uid = uid))
        else:
            flash("No changes for '%s'." % username)
            return redirect(url_for('user_profile', uid = uid))

    return render_template('change_username.html', user = user, admin = UserManager.get(store, session.get('userid'))[1].admin)
开发者ID:hhm0,项目名称:supysonic,代码行数:25,代码来源:user.py

示例3: update_clients

def update_clients(uid):
	clients_opts = {}
	for client in set(map(lambda k: k.rsplit('_', 1)[0], request.form.keys())):
		clients_opts[client] = { k.rsplit('_', 1)[1]: v for k, v in filter(lambda (k, v): k.startswith(client), request.form.iteritems()) }
	app.logger.debug(clients_opts)

	if uid == 'me':
		userid = uuid.UUID(session.get('userid'))
	else:
		if not UserManager.get(store, session.get('userid'))[1].admin or not UserManager.get(store, uid)[0] is UserManager.SUCCESS:
			return redirect(url_for('index'))
		userid = uuid.UUID(uid)

	for client, opts in clients_opts.iteritems():
		prefs = store.get(ClientPrefs, (userid, client))
		if 'delete' in opts and opts['delete'] in [ 'on', 'true', 'checked', 'selected', '1' ]:
			store.remove(prefs)
			continue

		prefs.format  =     opts['format']   if 'format'  in opts and opts['format']  else None
		prefs.bitrate = int(opts['bitrate']) if 'bitrate' in opts and opts['bitrate'] else None

	store.commit()
	flash('Clients preferences updated.')
	return user_profile(uid)
开发者ID:hhm0,项目名称:supysonic,代码行数:25,代码来源:user.py

示例4: change_password_post

def change_password_post(uid, user):
    error = False
    if user.id == request.user.id:
        current = request.form.get('current')
        if not current:
            flash('The current password is required')
            error = True

    new, confirm = map(request.form.get, [ 'new', 'confirm' ])

    if not new:
        flash('The new password is required')
        error = True
    if new != confirm:
        flash("The new password and its confirmation don't match")
        error = True

    if not error:
        if user.id == request.user.id:
            status = UserManager.change_password(store, user.id, current, new)
        else:
            status = UserManager.change_password2(store, user.name, new)

        if status != UserManager.SUCCESS:
            flash(UserManager.error_str(status))
        else:
            flash('Password changed')
            return redirect(url_for('user_profile', uid = uid))

    return change_password_form(uid, user)
开发者ID:andrenam,项目名称:supysonic,代码行数:30,代码来源:user.py

示例5: login

def login():
	return_url = request.args.get('returnUrl') or url_for('index')
	if session.get('userid'):
		flash('Already logged in')
		return redirect(return_url)

	if request.method == 'GET':
		return render_template('login.html')

	name, password = map(request.form.get, [ 'user', 'password' ])
	error = False
	if name in ('', None):
		flash('Missing user name')
		error = True
	if password in ('', None):
		flash('Missing password')
		error = True

	if not error:
		status, user = UserManager.try_auth(store, name, password)
		if status == UserManager.SUCCESS:
			session['userid'] = str(user.id)
			session['username'] = user.name
			flash('Logged in!')
			return redirect(return_url)
		else:
			flash(UserManager.error_str(status))

	return render_template('login.html')
开发者ID:hhm0,项目名称:supysonic,代码行数:29,代码来源:user.py

示例6: change_username_form

def change_username_form(uid):
    code, user = UserManager.get(store, uid)
    if code != UserManager.SUCCESS:
        flash(UserManager.error_str(code))
        return redirect(url_for('index'))

    return render_template('change_username.html', user = user)
开发者ID:andrenam,项目名称:supysonic,代码行数:7,代码来源:user.py

示例7: add_user

def add_user():
	if request.method == 'GET':
		return render_template('adduser.html', admin = UserManager.get(store, session.get('userid'))[1].admin)

	error = False
	(name, passwd, passwd_confirm, mail, admin) = map(request.form.get, [ 'user', 'passwd', 'passwd_confirm', 'mail', 'admin' ])
	if name in (None, ''):
		flash('The name is required.')
		error = True
	if passwd in (None, ''):
		flash('Please provide a password.')
		error = True
	elif passwd != passwd_confirm:
		flash("The passwords don't match.")
		error = True

	if admin is None:
		admin = True if store.find(User, User.admin == True).count() == 0 else False
	else:
		admin = True

	if not error:
		status = UserManager.add(store, name, passwd, mail, admin)
		if status == UserManager.SUCCESS:
			flash("User '%s' successfully added" % name)
			return redirect(url_for('user_index'))
		else:
			flash(UserManager.error_str(status))

	return render_template('adduser.html', admin = UserManager.get(store, session.get('userid'))[1].admin)
开发者ID:hhm0,项目名称:supysonic,代码行数:30,代码来源:user.py

示例8: test_change_password2

 def test_change_password2(self):
     # With existing users
     for name in ['alice', 'bob', 'charlie']:
         self.assertEqual(UserManager.change_password2(self.store, name, 'newpass'), UserManager.SUCCESS)
         user = self.store.find(db.User, db.User.name == name).one()
         self.assertEqual(UserManager.try_auth(self.store, name, 'newpass'), (UserManager.SUCCESS, user))
     # Non-existent user
     self.assertEqual(UserManager.change_password2(self.store, 'null', 'newpass'), UserManager.NO_SUCH_USER)
开发者ID:hhm0,项目名称:supysonic,代码行数:8,代码来源:test_manager_user.py

示例9: del_user

def del_user(uid):
	status = UserManager.delete(store, uid)
	if status == UserManager.SUCCESS:
		flash('Deleted user')
	else:
		flash(UserManager.error_str(status))

	return redirect(url_for('user_index'))
开发者ID:hhm0,项目名称:supysonic,代码行数:8,代码来源:user.py

示例10: test_try_auth

 def test_try_auth(self):
     # Test authentication
     for name in ['alice', 'bob', 'charlie']:
         user = self.store.find(db.User, db.User.name == name).one()
         self.assertEqual(UserManager.try_auth(self.store, name, name), (UserManager.SUCCESS, user))
     # Wrong password
     self.assertEqual(UserManager.try_auth(self.store, name, 'bad'), (UserManager.WRONG_PASS, None))
     # Non-existent user
     self.assertEqual(UserManager.try_auth(self.store, 'null', 'null'), (UserManager.NO_SUCH_USER, None))
开发者ID:hhm0,项目名称:supysonic,代码行数:9,代码来源:test_manager_user.py

示例11: test_delete_user

 def test_delete_user(self):
     # Delete existing users
     for name in ['alice', 'bob', 'charlie']:
         user = self.store.find(db.User, db.User.name == name).one()
         self.assertEqual(UserManager.delete(self.store, user.id), UserManager.SUCCESS)
     # Delete invalid UUID
     self.assertEqual(UserManager.delete(self.store, 'invalid-uuid'), UserManager.INVALID_ID)
     # Delete non-existent user
     self.assertEqual(UserManager.delete(self.store, uuid.uuid4()), UserManager.NO_SUCH_USER)
开发者ID:hhm0,项目名称:supysonic,代码行数:9,代码来源:test_manager_user.py

示例12: test_get_user

 def test_get_user(self):
     # Get existing users
     for name in ['alice', 'bob', 'charlie']:
         user = self.store.find(db.User, db.User.name == name).one()
         self.assertEqual(UserManager.get(self.store, user.id), (UserManager.SUCCESS, user))
     # Get with invalid UUID
     self.assertEqual(UserManager.get(self.store, 'invalid-uuid'), (UserManager.INVALID_ID, None))
     # Non-existent user
     self.assertEqual(UserManager.get(self.store, uuid.uuid4()), (UserManager.NO_SUCH_USER, None))
开发者ID:hhm0,项目名称:supysonic,代码行数:9,代码来源:test_manager_user.py

示例13: user_profile

def user_profile(uid):
	if uid == 'me':
		prefs = store.find(ClientPrefs, ClientPrefs.user_id == uuid.UUID(session.get('userid')))
		return render_template('profile.html', user = UserManager.get(store, session.get('userid'))[1], api_key = config.get('lastfm', 'api_key'), clients = prefs, admin = UserManager.get(store, session.get('userid'))[1].admin)
	else:
		if not UserManager.get(store, session.get('userid'))[1].admin or not UserManager.get(store, uid)[0] is UserManager.SUCCESS:
			return redirect(url_for('index'))
		prefs = store.find(ClientPrefs, ClientPrefs.user_id == uuid.UUID(uid))
		return render_template('profile.html', user = UserManager.get(store, uid)[1], api_key = config.get('lastfm', 'api_key'), clients = prefs, admin = UserManager.get(store, session.get('userid'))[1].admin)
开发者ID:hhm0,项目名称:supysonic,代码行数:9,代码来源:user.py

示例14: change_password

def change_password(uid):
	if uid == 'me':
		user = UserManager.get(store, session.get('userid'))[1].name
	else:
		if not UserManager.get(store, session.get('userid'))[1].admin or not UserManager.get(store, uid)[0] is UserManager.SUCCESS:
			return redirect(url_for('index'))
		user = UserManager.get(store, uid)[1].name
	if request.method == 'POST':
		error = False
		if uid == 'me' or uid == session.get('userid'):
			current, new, confirm = map(request.form.get, [ 'current', 'new', 'confirm' ])
			if current in ('', None):
				flash('The current password is required')
				error = True
		else:
			new, confirm = map(request.form.get, [ 'new', 'confirm' ])
		if new in ('', None):
			flash('The new password is required')
			error = True
		if new != confirm:
			flash("The new password and its confirmation don't match")
			error = True

		if not error:
			if uid == 'me' or uid == session.get('userid'):
				status = UserManager.change_password(store, session.get('userid'), current, new)
			else:
				status = UserManager.change_password2(store, UserManager.get(store, uid)[1].name, new)
			if status != UserManager.SUCCESS:
				flash(UserManager.error_str(status))
			else:
				flash('Password changed')
				return redirect(url_for('user_profile', uid = uid))

	return render_template('change_pass.html', user = user, admin = UserManager.get(store, session.get('userid'))[1].admin)
开发者ID:hhm0,项目名称:supysonic,代码行数:35,代码来源:user.py

示例15: lastfm_unreg

def lastfm_unreg(uid):
	if uid == 'me':
		lfm = LastFm(UserManager.get(store, session.get('userid'))[1], app.logger)
	else:
		if not UserManager.get(store, session.get('userid'))[1].admin or not UserManager.get(store, uid)[0] is UserManager.SUCCESS:
			return redirect(url_for('index'))
		lfm = LastFm(UserManager.get(store, uid)[1], app.logger)
	lfm.unlink_account()
	store.commit()
	flash('Unliked LastFM account')
	return redirect(url_for('user_profile', uid = uid))
开发者ID:hhm0,项目名称:supysonic,代码行数:11,代码来源:user.py


注:本文中的supysonic.managers.user.UserManager类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。