-
Notifications
You must be signed in to change notification settings - Fork 1
/
bridge_tools.py
71 lines (58 loc) · 1.8 KB
/
bridge_tools.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
import time
import os
from App.BridgeGrades.main import bridge_grade_main
from App.SeismicData.main import seismic_data_main
from App.PlateGirder.main import plate_girder_properties
from App.RolledShapes.main import get_rolled_shape
def program_welcome():
clear_console()
print('Bridge Tools')
def main_loop():
try:
user_input = ''
while user_input.lower() != 'q':
program_welcome()
print()
print('1. Calculate Bridge Grades')
print('2. Retrieve Design Response Spectra')
print('3. Calculate Plate Girder Section Properties')
print('4. Retrieve Rolled Shape Section Properties')
print()
print('Type \'q\' to exit the program')
user_input = input('>> ')
handle_user_input(user_input)
except ValueError as e:
print('n' + e.args[0])
time.sleep(1.5) # keep window open long enough to see error message
def handle_user_input(user_input):
if user_input == '1':
bridge_grades()
elif user_input == '2':
clear_console()
seismic_data_main()
clear_console()
elif user_input == '3':
clear_console()
plate_girder_properties()
clear_console()
elif user_input == '4':
clear_console()
get_rolled_shape()
elif user_input == 'q':
clear_console()
else:
print('\nPlease select a valid option or type \'q\' to exit\n')
def bridge_grades():
clear_console()
print('Waiting for user input')
bridge_grade_main()
print('Returning to main menu.')
time.sleep(1.5)
clear_console()
def clear_console():
if os.name == 'nt': # windows
os.system('cls')
else: # mac or linux
os.system('clear')
if __name__ == '__main__':
main_loop()