# phrases
Latin famous phrases in the terminal
-## Source of famous phrases
-Wikipedia contributors, "List of Latin phrases (full)," Wikipedia, The Free Encyclopedia, https://en.wikipedia.org/w/index.php?title=List_of_Latin_phrases_(full)&oldid=986793908.
-
-There are currently 2239 famous phrases in the database
-
## Installation
### On Linux + MacOS
`sudo make` to install.
* If you want to generate a new phrase database file with the `extract.py` script, then you need the beautifulsoup4 Python module.
* Tested and written on Python 3.9.0
+## Source of famous phrases
+Wikipedia contributors, "List of Latin phrases (full)," Wikipedia, The Free Encyclopedia, https://en.wikipedia.org/w/index.php?title=List_of_Latin_phrases_(full)&oldid=986793908.
+
+There are currently 2239 famous phrases in the database
+
## License
Phrases is MIT Licensed by [Armaan Bhojwani](https://armaanb.net), 2020. See the LICENSE file for more information.
#!/usr/bin/env python3
-# Display Latin famous phrases in the terminal
+# Display Latin famous phrases in the terminal - python version
# Armaan Bhojwani 2020
import argparse
help="print the English translation.")
parser.add_argument("-n", "--notes",
action='store_true',
- help="print any notes on phrase")
+ help="print any notes on phrase.")
parser.add_argument("-m", "--min",
default=0,
type=int,
- help="set the minimum length of the Latin phrase")
+ help="set the minimum length of the Latin phrase.")
parser.add_argument("-M", "--max",
default=10000000,
type=int,
- help="set the maximum length of Latin phrase")
+ help="set the maximum length of Latin phrase.")
parser.add_argument("-p", "--num",
action='store_true',
- help="print number of possibilities within constraints")
+ help="print number of possibilities within constraints.")
parser.add_argument("-f", "--file",
- help="set the location of the phrase file")
+ help="set the location of the phrase file.")
+ parser.add_argument("-o", "--open",
+ type=int,
+ help="specify the id of a specific phrase to print.")
args = parser.parse_args()
right_length = []
f.close()
# iterate through all the phrases
- for row in all_lines:
- try: # generate a shortlist of phrases of the right length
- if args.max >= int(row[4]) >= args.min:
- right_length.append(row[0])
- except: # skip malformed rows without exiting
- pass
+ if args.open:
+ chosen = args.open
+ else:
+ for row in all_lines:
+ try: # generate a shortlist of phrases of the right length
+ if args.max >= int(row[4]) >= args.min:
+ right_length.append(row[0])
+ except: # skip malformed rows without exiting
+ pass
- try: # choose a random id from the shortlist
- chosen = int(right_length[random.randint(0, len(right_length) - 1)])
- except:
- sys.exit("no phrase within the given parameters!")
+ try: # choose a random id from the shortlist
+ chosen = int(right_length[random.randint(0, len(right_length) - 1)])
+ except:
+ sys.exit("no phrase within the given parameters!")
# Output as specified in flags
for row in all_lines:
sys.exit(0)
else:
if args.id:
- print(row[1])
+ print(row[0])
if args.latin:
print(row[1])
if args.english: