2 # Display Latin famous phrases in the terminal - python version
6 from random import randint
11 def main(args=sys.argv[1:]):
13 parser = argparse.ArgumentParser(
14 description="Latin famous phrases in the terminal.")
15 parser.add_argument("-i", "--id",
17 help="print the id of the phrase.")
18 parser.add_argument("-l", "--latin",
20 help="print the Latin phrase (default)")
21 parser.add_argument("-e", "--english",
23 help="print the English translation.")
24 parser.add_argument("-n", "--notes",
26 help="print any notes on phrase.")
27 parser.add_argument("-m", "--min",
30 help="set the minimum length of the Latin phrase.")
31 parser.add_argument("-M", "--max",
34 help="set the maximum length of Latin phrase.")
35 parser.add_argument("-p", "--num",
37 help="print number of possible phrases.")
38 parser.add_argument("-f", "--file",
39 help="set the location of the phrase database.")
40 parser.add_argument("-o", "--open",
42 help="specify the id of a specific phrase to print.")
43 args = parser.parse_args()
47 phrase_file = args.file
48 if os.path.isfile("phrases.db"):
49 phrase_file = "phrases.db"
50 elif os.path.isfile("/usr/local/share/phrases/phrases.db"):
51 phrase_file = "/usr/local/share/phrases/phrases.db"
53 sys.exit("cannot find the phrase database!")
55 conn = sqlite3.connect(phrase_file)
57 c.execute("SELECT * FROM phrases WHERE length <= (?) AND length >= (?)",
60 rown = randint(0, len(data))
61 row = list(data[rown])
63 # Output as specified in flags
84 if __name__ == "__main__":