awacke1 commited on
Commit
6a91d5b
·
verified ·
1 Parent(s): 47725cc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -39
app.py CHANGED
@@ -1,9 +1,7 @@
1
  import streamlit as st
2
  import random
3
  import time
4
- from datetime import datetime, timezone, timedelta
5
 
6
- # Dictionary of similes and metaphors with numbering
7
  books = {
8
  "A Dictionary of Similes by Frank J. Wilstach": [
9
  "1. As strong as an ox.",
@@ -144,10 +142,10 @@ books = {
144
  "The American Heritage Thesaurus by Editors of the American Heritage Dictionaries": []
145
  }
146
 
147
- # Streamlit interface
 
148
  st.title("Similes and Metaphors Compendium")
149
 
150
- # Sidebar for control settings
151
  st.sidebar.title("Controls")
152
  if st.sidebar.button("Start Timer"):
153
  start_time = time.time()
@@ -155,52 +153,35 @@ if st.sidebar.button("Start Timer"):
155
  else:
156
  timer_active = False
157
 
158
- # Function to display current Central Time
159
- def get_central_time():
160
- utc_now = datetime.now(timezone.utc)
161
- central_now = utc_now.astimezone(timezone(timedelta(hours=-6)))
162
- return central_now.strftime("%H:%M:%S")
163
-
164
- # Timer and current time display
165
  if timer_active:
166
  elapsed_time = int(time.time() - start_time)
167
  st.sidebar.write(f"Timer: {elapsed_time} seconds")
168
- st.sidebar.write(f"Current Central Time: {get_central_time()}")
169
 
170
- # Tabs for organization
171
- tab1, tab2 = st.tabs(["Randomizer", "Book List"])
172
 
173
  with tab1:
174
- # Randomizer user interface
175
- if st.button("Randomize"):
176
- random_book = random.choice(list(books.keys()))
177
- random_simile = random.choice(books[random_book])
178
- st.header(random_book)
179
- st.write("Randomly selected simile:")
180
 
181
- # Animate the display of the simile
182
- simile_lines = random_simile.split()
183
- current_line = 0
184
- display_lines = [""] * 5 # Initialize display lines
185
 
186
- for _ in range(len(simile_lines) + 5):
187
- display_lines = display_lines[1:] + [" ".join(simile_lines[:current_line])]
188
- simile_display = "\n".join([
189
- f"##### {line}" if i == 2 else f"###### {line}"
190
- for i, line in enumerate(display_lines)
191
- ])
192
- st.markdown(simile_display)
193
- current_line = min(current_line + 1, len(simile_lines))
194
- time.sleep(0.2)
195
 
196
- # Display additional examples from the selected book
197
- st.write("Additional Examples:")
198
- for sample in books[random_book]:
199
- if sample != random_simile:
200
- st.write(f"- {sample}")
 
 
 
 
 
 
 
 
201
 
202
  with tab2:
203
- # Display all books and their sample similes
204
  for book, samples in books.items():
205
  st.header(book)
206
  if samples:
 
1
  import streamlit as st
2
  import random
3
  import time
 
4
 
 
5
  books = {
6
  "A Dictionary of Similes by Frank J. Wilstach": [
7
  "1. As strong as an ox.",
 
142
  "The American Heritage Thesaurus by Editors of the American Heritage Dictionaries": []
143
  }
144
 
145
+ similes_metaphors = [simile for similes in books.values() for simile in similes]
146
+
147
  st.title("Similes and Metaphors Compendium")
148
 
 
149
  st.sidebar.title("Controls")
150
  if st.sidebar.button("Start Timer"):
151
  start_time = time.time()
 
153
  else:
154
  timer_active = False
155
 
 
 
 
 
 
 
 
156
  if timer_active:
157
  elapsed_time = int(time.time() - start_time)
158
  st.sidebar.write(f"Timer: {elapsed_time} seconds")
 
159
 
160
+ tab1, tab2 = st.tabs(["Random Similes and Metaphors", "Book List"])
 
161
 
162
  with tab1:
163
+ st.write("Randomly selected similes and metaphors:")
 
 
 
 
 
164
 
165
+ display_lines = [""] * 5
 
 
 
166
 
167
+ while True:
168
+ random_samples = random.sample(similes_metaphors, 5)
 
 
 
 
 
 
 
169
 
170
+ display_lines = [sample.split(". ", 1)[1] for sample in random_samples]
171
+
172
+ simile_display = "\n".join([
173
+ f"# {line}" if i == 0 else
174
+ f"## {line}" if i == 1 else
175
+ f"### {line}" if i == 2 else
176
+ f"#### {line}" if i == 3 else
177
+ f"##### {line}"
178
+ for i, line in enumerate(display_lines)
179
+ ])
180
+ st.markdown(simile_display)
181
+
182
+ time.sleep(1)
183
 
184
  with tab2:
 
185
  for book, samples in books.items():
186
  st.header(book)
187
  if samples: