-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdb_admin.py
50 lines (39 loc) · 1.4 KB
/
db_admin.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import sys
import csv
sys.path.insert(0, './social_id_fetcher')
sys.path.insert(0, './score_calculator')
sys.path.insert(0, './social_trail_fetcher')
from pycpfcnpj.gen import cpf as cpf_generator
from base_a.manager import Manager as ManagerA
from base_a.utils import address_generator
from base_b.manager import Manager as ManagerB
from base_c.manager import Manager as ManagerC
PEOPLE_COUNT = 1000
def generate_data():
id_list = []
for _ in range(PEOPLE_COUNT):
id_list.append({
'cpf': cpf_generator(),
'address': address_generator()
})
print('Gerando dados para Base A')
manager_a = ManagerA()
manager_a.restart_models_tables()
manager_a.generate_people(id_list)
print('Gerando dados para Base B')
manager_b = ManagerB()
manager_b.restart_models_tables()
manager_b.generate_people(id_list)
print('Gerando dados para Base C')
manager_c = ManagerC()
manager_c.drop_collection()
manager_c.generate_people(id_list)
with open('people.csv', 'w', newline='') as csvfile:
peoplewriter = csv.writer(csvfile, delimiter=' ',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
peoplewriter.writerow(['csv', 'address'])
for person_info in id_list:
peoplewriter.writerow(person_info.values())
if __name__ == "__main__":
# execute only if run as a script
generate_data()