awacke1's picture
Update app.py
6a91d5b verified
raw
history blame
6.69 kB
import streamlit as st
import random
import time
books = {
"A Dictionary of Similes by Frank J. Wilstach": [
"1. As strong as an ox.",
"2. As proud as a peacock.",
"3. As gentle as a lamb.",
"4. As wise as an owl.",
"5. As brave as a lion.",
"6. As cunning as a fox.",
"7. As quiet as a mouse.",
"8. As happy as a lark.",
"9. As swift as a deer.",
"10. As sly as a fox.",
"11. As firm as a rock.",
"12. As light as air.",
"13. As soft as silk.",
"14. As hard as nails.",
"15. As deep as the ocean.",
"16. As warm as toast.",
"17. As cold as ice.",
"18. As fresh as a daisy.",
"19. As dark as night.",
"20. As bright as the sun."
],
"The Penguin Dictionary of Similes by Michael Fergusson": [
"21. As brave as a lion.",
"22. As cool as a cucumber.",
"23. As fit as a fiddle.",
"24. As gentle as a lamb.",
"25. As happy as a clam.",
"26. As light as a feather.",
"27. As old as the hills.",
"28. As right as rain.",
"29. As sharp as a tack.",
"30. As sick as a dog.",
"31. As silent as the grave.",
"32. As smooth as silk.",
"33. As snug as a bug in a rug.",
"34. As soft as velvet.",
"35. As stubborn as a mule.",
"36. As sure as death and taxes.",
"37. As sweet as honey.",
"38. As tough as nails."
],
"The Oxford Dictionary of Allusions by Andrew Delahunty and Sheila Dignen": [
"39. As dead as a dodo.",
"40. As easy as pie.",
"41. As free as a bird.",
"42. As hungry as a wolf.",
"43. As large as life.",
"44. As mad as a hatter.",
"45. As nutty as a fruitcake.",
"46. As plain as the nose on your face.",
"47. As quick as a wink.",
"48. As safe as houses.",
"49. As sound as a bell.",
"50. As steady as a rock.",
"51. As thick as thieves.",
"52. As tight as a drum.",
"53. As tough as old boots.",
"54. As true as steel.",
"55. As weak as a kitten.",
"56. As wise as Solomon."
],
"The Bloomsbury Dictionary of Idioms by Gordon Jarvie": [
"57. As drunk as a lord.",
"58. As flat as a pancake.",
"59. As keen as mustard.",
"60. As neat as a pin.",
"61. As pleased as punch."
],
"The American Heritage Dictionary of Idioms by Christine Ammer": [
"62. As drunk as a skunk.",
"63. As plain as day."
],
"Webster's New World Dictionary of Similes by Gail Weiss": [
"64. As pale as a ghost.",
"65. As busy as a bee.",
"66. As bold as brass.",
"67. As clear as crystal.",
"68. As good as gold.",
"69. As hot as hell.",
"70. As mad as a hornet.",
"71. As snug as a bug.",
"72. As tall as a tree.",
"73. As tough as leather."
],
"The Hutchinson Dictionary of Difficult Words by Terry O'Brien": [
"74. As black as coal.",
"75. As blind as a bat.",
"76. As bright as a button.",
"77. As clean as a whistle.",
"78. As dry as a bone.",
"79. As dull as dishwater."
],
"The Wordsworth Dictionary of Phrase and Fable by Ebenezer Cobham Brewer": [],
"The Macmillan Dictionary of Quotations by John Daintith and Amanda Isaacs": [
"80. As cold as charity.",
"81. As common as muck.",
"82. As cute as a button.",
"83. As easy as falling off a log.",
"84. As fast as lightning.",
"85. As hungry as a bear.",
"86. As mad as a hornet."
],
"The Chambers Dictionary of Idioms by Elizabeth McLaren Kirkpatrick": [
"87. As brown as a berry.",
"88. As dead as a doornail."
],
"The Routledge Dictionary of Modern American Slang and Unconventional English by Tom Dalzell": [
"89. As happy as a clam at high tide."
],
"The Faber Dictionary of Euphemisms by R. W. Holder": [
"90. As thin as a rake.",
"91. As black as pitch."
],
"The BBI Combinatory Dictionary of English: A Guide to Word Combinations by Morton Benson, Evelyn Benson, and Robert Ilson": [
"92. As easy as ABC.",
"93. As dry as dust.",
"94. As fresh as paint.",
"95. As happy as a sandboy."
],
"The Chambers Thesaurus by Chambers Harrap Publishers Ltd.": [
"96. As sly as a fox.",
"97. As large as life."
],
"The McGraw-Hill Dictionary of American Idioms and Phrasal Verbs by Richard A. Spears": [
"98. As white as snow.",
"99. As plain as the nose on your face."
],
"The Wordsworth Thesaurus by Wordsworth Editions Ltd.": [],
"The Oxford Dictionary of Idioms by Judith Siefring": [],
"The Penguin Thesaurus by Rosalind Fergusson": [
"100. As plain as the nose on your face."
],
"The Longman Dictionary of Contemporary English by Pearson Longman": [
"101. As quick as a wink."
],
"The American Heritage Thesaurus by Editors of the American Heritage Dictionaries": []
}
similes_metaphors = [simile for similes in books.values() for simile in similes]
st.title("Similes and Metaphors Compendium")
st.sidebar.title("Controls")
if st.sidebar.button("Start Timer"):
start_time = time.time()
timer_active = True
else:
timer_active = False
if timer_active:
elapsed_time = int(time.time() - start_time)
st.sidebar.write(f"Timer: {elapsed_time} seconds")
tab1, tab2 = st.tabs(["Random Similes and Metaphors", "Book List"])
with tab1:
st.write("Randomly selected similes and metaphors:")
display_lines = [""] * 5
while True:
random_samples = random.sample(similes_metaphors, 5)
display_lines = [sample.split(". ", 1)[1] for sample in random_samples]
simile_display = "\n".join([
f"# {line}" if i == 0 else
f"## {line}" if i == 1 else
f"### {line}" if i == 2 else
f"#### {line}" if i == 3 else
f"##### {line}"
for i, line in enumerate(display_lines)
])
st.markdown(simile_display)
time.sleep(1)
with tab2:
for book, samples in books.items():
st.header(book)
if samples:
st.write(f"Sample: {samples[0]}")
st.write("Additional Examples:")
for sample in samples[1:]:
st.write(f"- {sample}")
else:
st.write("No similes or metaphors available for this book.")