def mixer(app, fake): mixer = Mixer(commit=True) mixer.init_app(app) mixer.register( Component, code=fake.slug, description=fake.sentence, datasheet_url=fake.uri ) mixer.register(User, name=fake.name) mixer.register(Collection, name=fake.text) mixer.register( UserCollectionPermission, permission=fake.random_element(Permission) ) return mixer
from Bizness import models from BiznessWeb import app, db from mixer.backend.flask import Mixer from flask.ext.bcrypt import Bcrypt mixer = Mixer(locale='en_US', commit=False) bcrypt = Bcrypt(app) @mixer.middleware(models.User) def encrypt_password(user): user.password = bcrypt.generate_password_hash('def4ult') return user with app.app_context(): db.drop_all() db.create_all() mixer.init_app(app) mixer.register(models.User, email_address=mixer.faker.email_address) for user in mixer.cycle(20).blend(models.User): print(u"{} {}: {}({})".format(user.first_name, user.last_name, user.email_address, user.password))
job_types = ['Developer', 'QA Analyst', 'UX Designer'] experience_levels = ['', 'Senior', 'Junior', 'Intern'] def title(self): pattern = self.random_element(self.formats) return self.generator.parse(pattern) @classmethod def job_type(cls): return cls.random_element(cls.job_types) @classmethod def experience_level(cls): return cls.random_element(cls.experience_levels) mixer = Mixer(locale='en_US', commit=False) with app.app_context(): db.drop_all() db.create_all() mixer.init_app(app) mixer.faker.add_provider(JobTitleProvider) mixer.faker.add_provider(FixedPhoneNumberProvider) mixer.register(models.User, phone_number=mixer.faker.phone_number) for user in mixer.cycle(20).blend(models.User): print("{} {}: {} {}".format(user.first_name, user.last_name, user.title, user.phone_number))