-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathgenerate_data.py
More file actions
113 lines (92 loc) · 3.4 KB
/
generate_data.py
File metadata and controls
113 lines (92 loc) · 3.4 KB
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
import random
from faker import Faker
fake = Faker()
def generate_wallet_address(length: int, count: int) -> set():
seed = '1234567890ABCDEF'
result = set()
while len(result) != count:
generated_string = ''.join((random.choice(seed)) for _ in range(length))
result.add('0x' + generated_string)
return result
def generate_user_id(min_len, max_len, count: int) -> set():
seed = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
result = set()
lengths = [_ for _ in range(min_len, max_len + 1, 1)]
while len(result) != count:
picked_length = random.choice(lengths)
result.add(''.join((random.choice(seed)) for _ in range(picked_length)))
return result
def generate_password(length: int, count: int) -> set():
seed = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+-*/!@#$%&'
result = set()
while len(result) != count:
result.add(''.join((random.choice(seed)) for _ in range(length)))
return result
def generate_company_name(count: int) -> set():
result = set()
while len(result) != count:
result.add(fake.company())
return result
def generate_email(count: int) -> set():
result = set()
while len(result) != count:
result.add(fake.email())
return result
def generate_address(count: int) -> set():
result = set()
while len(result) != count:
result.add(fake.address())
return result
def generate_comment(count: int) -> set():
result = set()
while len(result) != count:
result.add(fake.text())
return result
def generate_title(count: int) -> set():
result = set()
while len(result) != count:
result.add(fake.catch_phrase())
return result
def generate_time(count: int) -> set():
result = set()
while len(result) != count:
result.add(fake.iso8601(sep = ' '))
return result
if __name__ == '__main__':
wallets = list(generate_wallet_address(40, 60))
user_ids = list(generate_user_id(min_len= 4, max_len=8, count=40))
passwords = list(generate_password(4, 60))
company_names = list(generate_company_name(20))
emails = list(generate_email(20))
addresses = list(generate_address(20))
comments = list(generate_comment(20))
titles = list(generate_title(20))
times = list(generate_time(50))
with open('fake_data.txt', 'w') as file:
file.write("Wallets: \n")
for i in range(len(wallets)):
file.write(wallets[i] + '\n')
file.write('\n\nIDs: \n')
for i in user_ids:
file.write(i + '\n')
file.write("\n\nPasswords: \n")
for i in range(len(passwords)):
file.write(passwords[i] + '\n')
file.write("\n\nCompany Names: \n")
for i in range(len(company_names)):
file.write(company_names[i] + '\n')
file.write("\n\nEmails: \n")
for i in range(len(emails)):
file.write(emails[i] + '\n')
file.write("\n\nAddress: \n")
for i in range(len(addresses)):
file.write(addresses[i] + '\n')
file.write("\n\nComments: \n")
for i in range(len(comments)):
file.write(comments[i] + '\n')
file.write("\n\nTitles: \n")
for i in range(len(titles)):
file.write(titles[i] + '\n')
file.write("\n\nTimes: \n")
for i in range(len(times)):
file.write(times[i] + '\n')