-
Notifications
You must be signed in to change notification settings - Fork 0
/
gen_populate.py
81 lines (52 loc) · 2.3 KB
/
gen_populate.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
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
import random
email_providers = ["gmail", "hotmail"]
first_names = open( "populate_data/first_names.txt" ).readlines( )
first_names = [x.strip() for x in first_names]
last_names = open( "populate_data/last_names.txt" ).readlines( )
last_names = [x.strip( ) for x in last_names]
def is_string_int( string ):
try:
int(string)
return True
except ValueError:
return False
def generate_rooms( file ):
input_file = open( "populate.sql", "r" )
is_building = False
for line in input_file:
line_data = line.strip( ).split( ' ' )
if line_data[0] == "INSERT":
if line_data[2] == "Building":
is_building = True
if is_building == True:
flush_line = line.replace( "(", "" ).replace( ")", "" ).replace( ",", " " ).replace( ";", "" )
flush_line = " ".join( flush_line.split( ) )
words = flush_line.split( " " )
if ( is_string_int( words[-2] ) ):
for x in range( 1, int( words[-2] ) + 1):
for y in range( 1, int( words[-1] ) + 1 ):
room_number = ""
if len( str( y ) ) == 1:
room_number = str( x ) + "0" + str( y )
else:
room_number = str( x ) + str( y )
if len( words[0] ) == 4:
file.write( room_number + ", " + words[0] + "\n" )
if is_building == True:
for letter in line_data[-1]:
if letter == ";":
is_building = False
def generate_people( file, count ):
for i in range( count ):
first = random.choice( first_names )
last = random.choice( last_names )
email = first + "." + last + "@" + random.choice( email_providers ) + ".com"
file.write( "\"" + first + "\", " + last + "\", \"" + email + "\", " + str( random.randint( 1000000000, 9999999999 ) ) + "\n" )
def main( ):
db_structure = open( "dbStructure.sql", "r" )
output_file = open( "info.txt", "w" )
generate_people( output_file, 1000 )
output_file.write( "\n\n" )
generate_rooms( output_file )
if __name__ == "__main__":
main( )