#!/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: