def set_profile_data(self, users): self.stdout.write('Updating profile data') personlst = [Personal('cs'), Personal('en')] try: with transaction.atomic(): for user in users: person = random.choice(personlst) fullname = person.full_name() name = fullname.split() first = name[0] last = name[1] user.first_name = first user.last_name = last user.profile.full_name = fullname user.profile.display_name = fullname[0:3].upper() user.profile.has_access = 1 user.save() self.stdout.write( self.style.SUCCESS('Successfully updated %s profiles' % len(users))) except Exception as e: self.stdout.write( self.style.ERROR('Failed to update %s Profile objects\n %s' % (len(users), e)))
def generate_users(self, num_users, emails): self.stdout.write('Generating django User objects') personlst = [Personal('cs'), Personal('en')] userlst = [] try: with transaction.atomic(): for x in range(0, num_users): person = random.choice(personlst) if emails: email_addr = emails.pop() else: email_addr = person.email(['doesnotexist.c']) user = User(email=email_addr, is_active=True, username=person.username()) user.set_unusable_password() user.save() userlst.append(user) self.stdout.write( self.style.SUCCESS('Successfully generated %s users' % num_users)) return userlst except Exception as e: self.stdout.write( self.style.ERROR('Failed to generate %s users\n %s' % (num_users, e))) return None
def __init__(self, x, y, evol): person = Personal('en') self.size = random.randint(1, 4) self.name = person.name(gender="female") self.x = x self.y = y self.evol = evol self.type = random.randint(30, 100)
def __init__(self, table, x, y): data = Personal('en') self.table = table self.x = x self.y = y self.says = '' self.table.add_unit(x, y, self) self.name = data.name(gender='male')
def personal(locale): """ :param locale: :return: """ return Personal(locale)
def generate_fake_persons(size): """ This function generates a list of dummy persons (email, username, fullname, DOB, address and ssn) """ person = Personal('en') datetime = Datetime() address = Address('en') usa_provider = USASpecProvider() fake_persons = [] for _ in range(0, size): fake_person = (person.email(), person.username(), \ person.full_name(), datetime.date(1970, 2000), \ address.address() + " - " + address.state(), usa_provider.ssn()) fake_persons.append(fake_person) return fake_persons
def setUpClass(cls: 'DbSetUp'): connection = pyodbc.connect(CONNECTIONS.MYSQL("test")) with connection.cursor() as cursor: cursor.execute("SELECT COUNT(*) FROM person;") count = cursor.fetchone()[0] if count < cls.PERSONS_COUNT: person = Personal('en') with connection.cursor() as cursor: cursor.executemany( """INSERT INTO person(name, surname, age, email) VALUES (?, ?, ?, ?)""", [(person.name(), person.surname(), person.age(), person.email()) for _ in range(cls.PERSONS_COUNT - count)]) cursor.commit() with connection.cursor() as cursor: cursor.execute("SELECT * FROM person_money") factory: Callable[[tuple], Dict[str, Any]] = partial(dict_factory, cursor) insert = [] update = [] for person in map(factory, cursor.fetchall()): diff = cls.PERSON_MIN_MONEY - person['money'] while diff > 0: add = randint(50, diff + cls.PERSON_MIN_MONEY // 2) new_account = bool(randint(0, 1)) or person['money'] == 0 if new_account: insert.append((person['id'], add)) else: update.append((add, person['id'])) diff -= add with connection.cursor() as cursor: if insert: cursor.executemany( """INSERT INTO bank_account(person, size) VALUES (?, ?)""", insert) if update: cursor.executemany( """UPDATE bank_account SET size = size + ? WHERE person = ? LIMIT 1""", update) cursor.commit()
def _personals(self, seed): return Personal(seed=seed), Personal(seed=seed)
def _personal(self): return Personal()
import csv import random from mimesis import Address, Personal # Constants output_filename = "demographics.csv" number_of_people = 1000 number_of_states = 5 seed = 42 random.seed(seed) person = Personal(locale='en', seed=seed) address = Address(locale='en', seed=seed) states = [address.state() for _ in range(number_of_states)] demographics = [{ "id": i, "name": person.full_name(), "age": random.randint(18, 67), "gender": person.gender(), "height_meter": person.height(), "weight_kg": person.weight(), "children": person.child_count(), "occupation": person.occupation(), "academic_degree": person.academic_degree(), "salary": random.randint(65, 90), "location": random.choice(states) } for i in range(number_of_people)] with open(output_filename, "w") as csvfile: fieldnames = [
class Fakers: CODE = Code('en') DATETIME = Datetime('en') PERSON = Personal('en') TEXT = Text('en')