Exemple #1
0
 def pickle_demographics(self):
     cities = demographics.make_cities()
     age_gender = demographics.make_age_gender_dict()
     with open('./pickles/cities.pickle', 'wb') as output:
         pickle.dump(cities, output, pickle.HIGHEST_PROTOCOL)
     with open('./pickles/age_gender.pickle', 'wb') as output:
         pickle.dump(age_gender, output, pickle.HIGHEST_PROTOCOL)
Exemple #2
0
    def __init__(self, fake, gender=None, dob=None, city=None, filename=None):

        m = 'profiles/main_config.json'
        main = open(m, 'r').read()
        self.all_profiles = MainConfig(main).config
        self.cities = demographics.make_cities()
        new_cities = {}
        for i in list(self.cities.keys()):
            if self.cities[i].split('|')[0] == city and self.cities[i].split(
                    '|')[1] == 'CO':
                new_cities[i] = self.cities[i]
        if len(new_cities.keys()) > 0:
            self.cities = new_cities
        #age_gender = make_age_gender_dict()

        self.fake = fake
        self.ssn = fake.ssn()
        generated_gender, generated_dob = self.generate_age_gender()
        if gender is not None:
            self.gender = gender[0]
        else:
            self.gender = generated_gender
        #self.age = age
        if dob is not None:
            self.dob = self.convert_date(dob)
        else:
            self.dob = generated_dob
        self.first = self.get_first_name()
        self.last = fake.last_name()
        self.street = fake.street_address()
        self.addy = self.get_random_location()
        #make people under 22 mostly students, and over the age of 65 mostly retired
        if (date.today() - date(self.dob.year, self.dob.month, self.dob.day)
            ).days / 365. <= 22 and random.random() <= .8:
            self.job = 'Student'
        elif (date.today() - date(self.dob.year, self.dob.month, self.dob.day)
              ).days / 365. >= 65 and random.random() <= .8:
            self.job = 'Retired'
        else:
            self.job = fake.job()
        self.cc = fake.credit_card_number()
        self.email = fake.email()
        self.account = fake.random_number(digits=12)
        self.profile = self.find_profile()
        if filename is not None:
            self.save_to_file(filename)
        print_err(2)
    try:
        m = sys.argv[3]
        ## m = 'profiles/main_config.json'
        main = open(m, 'r').read()

    except:
        print_err(3)

    return num_cust, seed_num, main


if __name__ == '__main__':
    # read and validate stdin
    num_cust, seed_num, main = validate()

    # from demographics module
    cities = demographics.make_cities()
    age_gender = demographics.make_age_gender_dict()

    fake = Faker()
    fake.seed(seed_num)

    headers = Headers()

    # turn all profiles into dicts to work with
    all_profiles = MainConfig(main).config

    for _ in range(num_cust):
        Customer()
        print_err(2)
    try:
        m = sys.argv[3]
        ## m = 'profiles/main_config.json'
        main = open(m, 'r').read()

    except:
        print_err(3)

    return num_cust, seed_num, main


if __name__ == '__main__':
    # read and validate stdin
    num_cust, seed_num, main = validate()

    # from demographics module
    cities = demographics.make_cities()
    age_gender = demographics.make_age_gender_dict()

    fake = Faker()
    Faker.seed(seed_num)

    headers = Headers()

    # turn all profiles into dicts to work with
    all_profiles = MainConfig(main).config

    for _ in range(num_cust):
        Customer()