-
Notifications
You must be signed in to change notification settings - Fork 0
/
bibleVerse.py
120 lines (97 loc) · 3.07 KB
/
bibleVerse.py
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
from textwrap import wrap
from tkinter import *
top = Tk()
#getting screen width and height of display
width= top.winfo_screenwidth()
height= top.winfo_screenheight()
#setting tkinter window size
top.geometry("%dx%d" % (width, height))
top.title("BibleVerse")
LF = LabelFrame(top, text = "Welcome to GetBibleVerse!", font ="Courier 18 bold", labelanchor = N)
LF.pack(fill = "both", expand = "yes")
multiStr = ""
#-------------------------------------------------------------------------#
def displayText(line):
label.configure(text=line)
label.place(x = (width/2)-400, y = 400)
B2 = Button(top, text="Remove Text", command= clearText)
B2.place(x = (width/2)-150, y = 250)
#-------------------------------------------------------------------------#
def concatLine(line):
global multiStr
newStr = multiStr + line + "\n"
multiStr = newStr
#-------------------------------------------------------------------------#
def clearText():
global multiStr
label.configure(text = "")
multiStr = ""
#-------------------------------------------------------------------------#
#-------------------------------------------------------------------------#
def play():
file = "Bible.txt"
book = E1.get()
chapter = E2.get()
verse = E3.get()
#--Condition flags--#
#Verse was found
foundFlag = 0
#Stop reading lines from file
stopFlag = 0
#User requested multiple verses
multiFlag = 0
#Line number
index = 0
#Concatenate entries
userInput = book + " " + chapter + ":" + verse
bible = open(file, "r")
#If the user wants multiple verses
if "-" in verse:
lhs, rhs = verse.split("-", 1)
lhs = book + " " + chapter + ":" + lhs
rhs = book + " " + chapter + ":" + rhs
multiFlag = 1
#If user only wants a single verse
if multiFlag == 0:
for line in bible:
index += 1
if userInput in line:
foundFlag = 1
break
if foundFlag == 1:
displayText(line)
#If user wants multiple verses
else:
stopFlag = 1
for line in bible:
if stopFlag == 0:
displayText(multiStr)
break
index += 1
if lhs in line:
foundFlag = 1
concatLine(line)
for line in bible:
index += 1
concatLine(line)
if rhs in line:
stopFlag = 0
break
#------------------------------------------------------------#
#------------------------------------------------------------#
L1 = Label(top, text = "Enter a Book: ", font="Courier 14 bold")
L1.place(x = (width/2)-200, y = 100)
E1 = Entry(top, bd = 5)
E1.place(x = (width/2)+25 , y = 100)
L2 = Label(top, text = "Enter a Chapter: ", font="Courier 14 bold")
L2.place(x = (width/2)-200, y = 150)
E2 = Entry(top, bd = 5)
E2.place(x = (width/2)+25, y = 150)
L3 = Label(top, text = "Enter a Verse: ", font="Courier 14 bold")
L3.place(x = (width/2)-200, y = 200)
E3 = Entry(top, bd = 5)
E3.place(x = (width/2)+25, y = 200)
B1 = Button(top, text="Find", command= play)
B1.place(x = (width/2)+25, y = 250)
label = Label(top, text="", font = ("Courier 12"), wraplength=1000, justify= LEFT)
top.mainloop()