A decent young man was sitting in a crowded church next to a beautiful young lady. Overwhelmed by a burning passion, he instantly fell in love with her. He immediately wanted her to be his girlfriend, but a formal proposal was impossible due to the situation they found themselves in. The urgency of the matter brought him to the following plan: politely he handed his lovely neighbour an opened Bible, the bookmark pointed at verse 2 John 1:5.

2 Johannes 1:5
2 John 1:5.

A while later she returned the Bible, referring to verse Ruth 2:10.

Ruth 2:10
Ruth 2:10.

He offered her the Bible once more, now referring to verse 2 John 1:12.

2 Johannes 1:12
2 John 1:12.

This Bible conversation was soon followed by their marriage.

Assignment

The Bible is a bundle of various shorter books that were written separately and in different periods. They were only bound later. At the early beginning of the 13th century, all books —apart from a couple — were divided in chapters. Every chapter is about a page long. Since the middle of the 16th century, every chapter was divided into verses that were only a few lines or sentences long. Sometimes, a long sentence was divided into several verses — e.g. Ephesians 4:1-3 — and sometimes a number of shorter sentences made a single verse — e.g. Genesis 1:2. Usually, the Bible is quoted as followed: the name of the book, the serial number of the chapter and the number of the verse. This way, Genesis 3:5 refers to a section from the book Genesis, chapter 3, verse 5.

We are giving you a text file bible.txt1, that contains the entire (English) text from the Bible in the following format:

*** Genesis ***

1:1 In the beginning God created the heaven and the earth.

1:2 And the earth was without form, and void; and darkness was upon the face of
the deep. And the Spirit of God moved upon the face of the waters.

*** Exodus ***

1:1 Now these are the names of the children of Israel, which came into Egypt;
every man and his household came with Jacob.

1:2 Reuben, Simeon, Levi, and Judah,

This text consists of a number of consecutive fragments. With this, every fragment consists of multiple consecutive lines and all fragments are separated by at least one line. Fragments that indicate a new Bible book, start and end with three stars, in between those stars is the name of the book (with an extra space before and after the name). All other fragments introduce the consecutive Bible verses. A Bible verse always starts with $$h:v$$ and a space. $$h \in \mathbb{N}_0$$ indicates the serial number of a chapter, $$v \in \mathbb{N}_0$$ indicates the serial number of a verse.

Define a class Bible which can recall Bible quotations. This class takes a text file as an argument to instantiate. This text file must contain text from the Bible, in the format given above. Furthermore, all objects should contain at least a method quotation, that takes the location of one or more consecutive Bible verses from the same chapter from the same Bible book as an argument. The method has to return the text of the verses. For the location of the Bible verses, a description is used that should have one of the following formats:

Example

In the example session below, we assume that the text file bible.txt2 is situated in the current directory.

>>> bible = Bible('bible.txt')
>>> bible.quotation('2 John 1:5')
'And now I beseech thee, lady, not as though I wrote a new commandment unto thee, but that which we had from the beginning, that we love one another.'
>>> bible.quotation('Ruth 2:10')
'Then she fell on her face, and bowed herself to the ground, and said unto him, Why have I found grace in thine eyes, that thou shouldest take knowledge of me, seeing I am a stranger?'
>>> bible.quotation('2 John 1:12')
'Having many things to write unto you, I would not write with paper and ink: but I trust to come unto you, and speak face to face, that our joy may be full.'

>>> bible.quotation('Ephesians 4:1') 
'I therefore, the prisoner of the Lord, beseech you that ye walk worthy of the vocation wherewith ye are called,'
>>> bible.quotation('Ephesians 4:2') 
'With all lowliness and meekness, with longsuffering, forbearing one another in love;'
>>> bible.quotation('Ephesians 4:3')
'Endeavouring to keep the unity of the Spirit in the bond of peace.'
 
>>> bible.quotation('Ephesians 4:1-3') 
'I therefore, the prisoner of the Lord, beseech you that ye walk worthy of the vocation wherewith ye are called, With all lowliness and meekness, with longsuffering, forbearing one another in love; Endeavouring to keep the unity of the Spirit in the bond of peace.'