Example #1
0
def seed_addresses():
    addresses_to_seed = 25
    address_count = Address.objects.all().count()
    sys.stdout.write('[+] Seeding %d addresses\n' % (addresses_to_seed - address_count))

    for i in range(address_count, addresses_to_seed):

        if bool(random.getrandbits(1)):
            user = AppUser.objects.order_by('?').only('id', 'first_name', 'last_name').first()
        else:
            user = None

        address = Address(
            country=faker.country(),
            city=faker.city(),
            zip_code=faker.zipcode(),  # or faker.postcode()
            address=faker.street_address(),  # address=faker.address()
            user=user)

        if user is not None:
            address.first_name = user.first_name
            address.last_name = user.last_name
        else:
            profile = faker.profile(fields='name')
            first_name = profile['name'].split()[0]
            last_name = profile['name'].split()[1]
            address.first_name = first_name
            address.last_name = last_name

        address.save()
        address.save()
Example #2
0
def seed_authors():
    role, created = get_or_create(db.session,
                                  Role,
                                  defaults={'description': 'for authors only'},
                                  name='ROLE_AUTHOR')

    authors_count = db.session.query(User.id).filter(
        User.roles.any(id=role.id)).count()
    authors_count = User.query.filter(User.roles.any(id=role.id)).count()
    authors_to_seed = 5
    authors_to_seed -= authors_count

    for i in range(0, authors_to_seed):
        profile = faker.profile(fields='username,mail,name')
        username = profile['username']
        first_name = profile['name'].split()[0]
        last_name = profile['name'].split()[1]
        email = profile['mail']
        password = bcrypt.generate_password_hash('password')
        user = User(username=username,
                    first_name=first_name,
                    last_name=last_name,
                    email=email,
                    password=password,
                    roles=[role])
        db.session.add(user)
        db.session.commit()
        # db.session.add(UserRole(user_id=user.id, role_id=role.id))

    db.session.commit()
Example #3
0
def seed_users():
    users_count = AppUser.objects.count()
    users_to_seed = 23
    sys.stdout.write('[+] Seeding %d users\n' % (users_to_seed - users_count))
    for i in range(users_count, users_to_seed):
        profile = faker.profile(fields='username,mail,name')
        username = profile['username']
        first_name = profile['name'].split()[0]
        last_name = profile['name'].split()[1]
        email = profile['mail']
        password = '******'
        # create_user instead of create, to hash
        AppUser.objects.create_user(username=username, first_name=first_name, last_name=last_name, email=email,
                                    password=password)
Example #4
0
def seed_authors():
    content_type = ContentType.objects.get(app_label='articles',
                                           model='article')
    create_article_permission, created = Permission.objects.get_or_create(
        codename='can_create_articles',
        defaults={
            'name': 'Can create Articles',
            'content_type': content_type
        },
    )
    update_article_permission, created = Permission.objects.get_or_create(
        codename='can_update_articles',
        defaults={
            'name': 'Can update Articles',
            'content_type': content_type
        },
    )
    delete_article_permission, created = Permission.objects.get_or_create(
        codename='can_delete_articles',
        defaults={
            'name': 'Can delete Articles',
            'content_type': content_type
        },
    )

    authors_group, created = Group.objects.get_or_create(name='authors')
    authors_group.permissions.add(create_article_permission)
    authors_group.permissions.add(update_article_permission)
    authors_group.permissions.add(delete_article_permission)

    authors_count = AppUser.objects.filter(
        groups__name__iexact='authors').count()
    authors_to_seed = 5
    sys.stdout.write('[+] Seeding %d authors\n' %
                     (authors_to_seed - authors_count))
    for i in range(authors_count, authors_to_seed):
        username = faker.profile(fields='username')['username']
        first_name = faker.first_name()
        last_name = faker.last_name()
        email = faker.email()
        password = '******'
        # create_user instead of create, to hash
        author = AppUser.objects.create_user(username=username,
                                             first_name=first_name,
                                             last_name=last_name,
                                             email=email,
                                             password=password)
        author.groups.add(authors_group)
Example #5
0
def seed_users():
    users_count = AppUser.objects.count()
    users_to_seed = 23
    sys.stdout.write('[+] Seeding %d users\n' % (users_to_seed - users_count))
    for i in range(users_count, users_to_seed):
        username = faker.profile(fields='username')['username']
        first_name = faker.first_name()
        last_name = faker.last_name()
        email = faker.email()
        password = '******'
        # create_user instead of create, to hash
        AppUser.objects.create_user(username=username,
                                    first_name=first_name,
                                    last_name=last_name,
                                    email=email,
                                    password=password)
Example #6
0
def seed_users():
    role, created = get_or_create(
        db.session,
        Role,
        defaults={'description': 'for standard users'},
        name='ROLE_USER')
    db.session.commit()
    non_user_ids = db.session.query(
        User.id).filter(~User.roles.any(id=role.id)).all()

    all_users_count = db.session.query(func.count(User.id)).all()[0][0]
    all_users_count = db.session.query(User.id).count()

    # User.query.filter(User.roles.any(UserRole.role_id.in_([1,2]))).count()
    standard_users_count = db.session.query(User).filter(
        User.roles.any(UserRole.role_id.in_([role.id]))).count()
    standard_users_count = db.session.query(User.id).filter(
        User.roles.any(id=role.id)).count()

    users_to_seed = 23
    users_to_seed -= standard_users_count
    sys.stdout.write('[+] Seeding %d users\n' % users_to_seed)

    for i in range(0, users_to_seed):
        profile = faker.profile(fields='username,mail,name')
        username = profile['username']
        first_name = profile['name'].split()[0]
        last_name = profile['name'].split()[1]
        email = profile['mail']
        password = bcrypt.generate_password_hash('password')
        user = User(username=username,
                    first_name=first_name,
                    last_name=last_name,
                    email=email,
                    password=password)
        user.roles.append(role)
        db.session.add(user)
        db.session.commit()

    db.session.commit()