Beispiel #1
0
def mem():
    form = ReciteForm()
    if form.validate_on_submit():
        b = Bible()
        actual = b.get_verse(request.args.get("book").lower(), request.args.get("chapter"), request.args.get("verse"), "esv")
        typed = form.text.data

        d = Diff(actual, typed)
        html = d.generate_html()
        return html
    return render_template('mem.html', form=form, book=request.args.get("book"), chapter=request.args.get("chapter"), verse=request.args.get("verse"))
Beispiel #2
0
class SelectVerseForm(FlaskForm):
    bible = Bible()

    book_choices = []
    for book in bible.books():
        book_choices.append((book, bible.capitalize(book)))
    book = SelectField('Book', choices=book_choices)
    chapter = IntegerField('Chapter')
    verse = IntegerField('Verse')

    version_choices = []
    for version in bible.versions():
        version_choices.append((version, bible.version_name(version)))
    version = SelectField('Version', choices=version_choices, default="esv")

    submit = SubmitField('Start')

    def validate(self):
        max_chapter = self.bible.num_chapters(self.book.data)
        self.chapter.validators = [NumberRange(min=1, max=max_chapter)]
        if self.chapter.data and self.chapter.data <= max_chapter:
            max_verse = self.bible.num_verses(self.book.data,
                                              self.chapter.data)
            self.verse.validators = [NumberRange(min=1, max=max_verse)]
        return super().validate()
Beispiel #3
0
def func():
    b = Bible("ESV")

    pat = re.compile(r"\d+,?\d+")

    verse, bkname = b.get("Psalms", "1", "1")
    print verse
    print bkname

    nums = defaultdict(int)

    for k in b.books.keys():
        for c in b.books[k].keys():
            for v in b.books[k][c].keys():
                versetext = b.books[k][c][v]
                groups = re.findall(pat, versetext)
                if len(groups) > 0:
                    print groups, versetext
                    for g in groups:
                        nums[g[0]] += 1

    print nums

    import matplotlib.pyplot as plt
    from numpy.random import normal
    gaussian_numbers = normal(size=10)

    print gaussian_numbers

    ln = nums.items()
    sln = sorted(ln)
    print sln
    sln = sln[1:]
    plt.bar(map(int, map(lambda p: p[0], sln)), map(lambda p: p[1], sln))
    plt.title("Benford's Law in Bible Numbers")
    plt.xlabel("Initial Digit")
    plt.ylabel("Count")
    plt.show()
Beispiel #4
0
def verse(request, book, chapter, verse):
    bible = Bible()
    verse = bible.get_verse(book, chapter, verse)
    return HttpResponse(json.dumps(verse), mimetype='application/json')
Beispiel #5
0
* WISDOM = 3
* PROPHECY = 4
* GOSPEL = 5
* EPISTLE = 6
* APOCALYPSE = 7 

TestamentType (enum)
* OLD_TESTAMENT
* NEW_TESTAMENT
* NONE

'''

if __name__ == "__main__":

    kjv = Bible("data/kjv.txt", "|")

    # book
    gen = kjv.books[0]
    print(gen)

    # chapter
    gen1 = gen.chapters[0]
    print(gen1)

    # verse
    gen1_1 = gen1.verses[0]
    print(gen1_1)

    # search
    refs = kjv.search("light")
Beispiel #6
0
    pickle.dump(bdict, b)
    b.close()

       
if __name__ == "__main__":
    exitwords = ["q", "exit", "quit"]

    #picklestuff()

    #b = open("books.pkl", "rb")
    #bdict = pickle.load(b)
    #b.close()

    bdict = {}
    b = Bible("KJV.txt")
    bdict["KJV"] = b
    
    def chooseversion():
        while True:
            s = input("Enter version: (l to list versions, can also enter comma "
                      "separated to compare, all for all versions)  ")
            if s == "l":
                print("bible version list")
                vs = os.listdir(bibledir)
                for v in vs:
                    print(v)
            else:
                if s == "all":
                    lst = bdict.keys()
                else:
Beispiel #7
0
from flask import Flask, request
from bible import Bible
from checkTime import checkTime
from twilio.twiml.messaging_response import MessagingResponse

b = Bible()

verse = ""
verse = b.verse_gen()
day = 4
day_af = 4
app = Flask(__name__)


@app.route("/")
def Hello():
    return "hello, world"


@app.route('/incoming', methods=['POST'])
def bot():
    incoming_msg = request.values.get('Body', '').lower()
    resp = MessagingResponse()
    msg = resp.message()
    responded = False
    global verse, day
    if 'verse' in incoming_msg:
        global day_af
        if day != day_af:
            msg.body(verse)
            responded = True

from bible import Bible

bible = Bible()

print bible.verse_lookup("Romans", 8, "28")
Beispiel #9
0
from bible import Bible
import string
import re

#検索単語の入力
buf = input('探したい単語を入力:')

#ファイル読込
try:
    text = Bible.read()
except FileNotFoundError():
    print('error')
    exit()

#行単位での読込
arry = text.readlines()
dic = {}
pattren = "[0-9]+"

#単語を辞書に登録
for row in arry:
    #lis = row.split()
    lis = re.split(' |\n|\'|-', row)

    for item in lis:
        item = item.translate(str.maketrans('', '', string.punctuation))

        flag = re.fullmatch(pattren, item)

        if flag is None and item != '':
            if item in dic.keys():
Beispiel #10
0
    pickle.dump(bdict, b)
    b.close()


if __name__ == "__main__":
    exitwords = ["q", "exit", "quit"]

    #picklestuff()

    #b = open("books.pkl", "rb")
    #bdict = pickle.load(b)
    #b.close()

    bdict = {}
    b = Bible("KJV.txt")
    bdict["KJV"] = b

    def chooseversion():
        while True:
            s = input(
                "Enter version: (l to list versions, can also enter comma "
                "separated to compare, all for all versions)  ")
            if s == "l":
                print("bible version list")
                vs = os.listdir(bibledir)
                for v in vs:
                    print(v)
            else:
                if s == "all":
                    lst = bdict.keys()