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
Exemple #3
0
 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)
Exemple #4
0
 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')
Exemple #5
0
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()
Exemple #8
0
 def _personals(self, seed):
     return Personal(seed=seed), Personal(seed=seed)
Exemple #9
0
 def _personal(self):
     return Personal()
Exemple #10
0
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')