File size: 6,688 Bytes
47725cc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6a91d5b
 
47725cc
 
 
 
 
 
 
 
 
 
 
 
 
6a91d5b
47725cc
 
6a91d5b
47725cc
6a91d5b
47725cc
6a91d5b
 
47725cc
6a91d5b
 
 
 
 
 
 
 
 
 
 
 
 
47725cc
 
 
 
 
 
 
 
 
 
 
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
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.")