コード例 #1
0
def setup():
    import getpass
    from flask_security.utils import encrypt_password
    print("Please input the user data for the admin (you can edit later)")
    while True:
        admin_username = raw_input('Admin username:'******'Admin password:'******'Admin email:')
        if user_datastore.find_user(email=admin_email):
            print("Email aready in use")
        else:
            break
    admin_role = user_datastore.find_or_create_role('admin')
    world_role = user_datastore.find_or_create_role('world')
    admin = user_datastore.create_user(
        username=admin_username,
        password=encrypt_password(admin_password),
        email=admin_email)
    db.session.commit()
    user_datastore.add_role_to_user(admin, admin_role)
    db.session.commit()
    # Add karma for the admin
    user_karma = UserKarma(user_id=admin.id)
    db.session.add(user_karma)
    db.session.commit()
    print("Admin user succesfully created!")
    # Add default category
    category_default = Category(name='News', url='news', order=0)
    db.session.add(category_default)
    db.session.commit()
    print("Added default News category")
    # Add default post types
    post_types = ['link', 'text']
    for t in post_types:
        post_type = PostType(name=t, url=t)
        db.session.add(post_type)
        db.session.commit()
        print("Added post type {0}".format(t))
    print('Congrats, Dillo was setup successfully!')
コード例 #2
0
ファイル: manage.py プロジェクト: Fweeb/dillo
def setup():
    import getpass
    from flask_security.utils import encrypt_password
    print("Please input the user data for the admin (you can edit later)")
    while True:
        admin_username = raw_input('Admin username:'******'Admin password:'******'Admin email:')
        if user_datastore.find_user(email=admin_email):
            print ("Email aready in use")
        else:
            break
    admin_role = user_datastore.find_or_create_role('admin')
    admin = user_datastore.create_user(
        username=admin_username,
        password=encrypt_password(admin_password),
        email=admin_email)
    db.session.commit()
    user_datastore.add_role_to_user(admin, admin_role)
    db.session.commit()
    # Add karma for the admin
    user_karma = UserKarma(
        user_id=admin.id)
    db.session.add(user_karma)
    db.session.commit()
    print("Admin user succesfully created!")
    # Add default category
    category_default = Category(
        name='News',
        url='news',
        order=0)
    db.session.add(category_default)
    db.session.commit()
    print("Added default News category")
    # Add default post types
    post_types = ['link', 'text']
    for t in post_types:
        post_type = PostType(
            name=t,
            url=t)
        db.session.add(post_type)
        db.session.commit()
        print("Added post type {0}".format(t))
コード例 #3
0
ファイル: __init__.py プロジェクト: Fweeb/dillo
def blender_id_authorized():
    check_oauth_provider(blender_id)
    resp = blender_id.authorized_response()
    if resp is None:
        return 'Access denied: reason=%s error=%s' % (
            request.args['error_reason'],
            request.args['error_description']
        )
    if isinstance(resp, OAuthException):
        return 'Access denied: %s' % resp.message

    session['blender_id_oauth_token'] = (resp['access_token'], '')
    resp = blender_id.get('user')

    user = user_get_or_create(
        resp.data['email'],
        resp.data['first_name'],
        resp.data['last_name'],
        'blender-id',
        resp.data['id'])

    if user.is_active:
        login_user(user, remember=True)
    elif user.deleted:
        flash('This username has been deleted')
        return redirect(url_for('index'))
    else:
        flash('This account is disabled')
        return redirect(url_for('index'))

    # Update or create roles
    for role, is_assigned in resp.data['roles'].items():
        r = user_datastore.find_or_create_role(role)
        if is_assigned:
            user_datastore.add_role_to_user(user, r)
        else:
            user_datastore.remove_role_from_user(user, r)
    db.session.commit()

    if not user.first_name or not user.last_name:
        if not user.username:
            flash('Please set your first and last name or pick a username')
            return redirect(url_for('settings.profile'))

    return redirect(url_for('index'))
コード例 #4
0
ファイル: __init__.py プロジェクト: maconbot/dillo
def blender_id_authorized():
    check_oauth_provider(blender_id)
    resp = blender_id.authorized_response()
    if resp is None:
        return 'Access denied: reason=%s error=%s' % (
            request.args['error_reason'],
            request.args['error_description']
        )
    if isinstance(resp, OAuthException):
        return 'Access denied: %s' % resp.message

    session['blender_id_oauth_token'] = (resp['access_token'], '')
    resp = blender_id.get('user')

    user = user_get_or_create(
        resp.data['email'],
        resp.data['first_name'],
        resp.data['last_name'],
        'blender-id',
        resp.data['id'])

    if user.is_active:
        login_user(user, remember=True)
    elif user.deleted:
        flash('This username has been deleted')
        return redirect(url_for('index'))
    else:
        flash('This account is disabled')
        return redirect(url_for('index'))

    # Update or create roles
    for role, is_assigned in resp.data['roles'].items():
        r = user_datastore.find_or_create_role(role)
        if is_assigned:
            user_datastore.add_role_to_user(user, r)
        else:
            user_datastore.remove_role_from_user(user, r)
    db.session.commit()

    if not user.first_name or not user.last_name:
        if not user.username:
            flash('Please set your first and last name or pick a username')
            return redirect(url_for('settings.profile'))

    return redirect(url_for('index'))